LILO issues
1.1 Linux cannot detect all my memory
If you have more than 64 megabytes of physical memory, Linux kernel ver. 2.0.36 or lower will use,
by default, only the first 64 MB. To see how much memory Linux uses on your system, type:
cat /proc/meminfo
ou can check your version of Linux kernel with:
uname -a
The last popular kernel with the "memory problem", 2.0.36, comes with RedHat 5.2. My RedHat 6.0
came with kernel 2.2.5-15 so it does not have the "memory problem" any more.
To get more than 64 MB memory recognized on RH5.2, you have to edit (as root) the file
/etc/lilo.conf, and add a line like this just before your first "image=" statement:
append="mem=80M"
If you have an amount of memory different than 80 MB, adjust the above line. For any changes in
/etc/lilo.conf to take effect, you *must* re-run the program
lilo
(watch if it runs without errors) and reboot. After the reboot, you can check if your adjustment
worked using either of these two commands:
cat /proc/meminfo
free
For testing purposes, or if you are having problems, the option of specifying the amount of memory
at the LILO prompt is useful:
[type at LILO prompt during bootup] linux "mem=16M"
Occasionally, I hear the advice to skip the upper few megabytes if you have problems enabling all
your memory, or the machine locks up. E.g., enable only 78 out of your 80 MB. This is apparently
the case for some SCSI controllers that use the very upper chunk of the main memory. Take it for
what it’s worth.
Occasionally on some systems, Linux recognizes only 16 MB of memory. This is usually linked to
the setting "memory hole at 15-16 MB" enabled in the BIOS setup (the solution is to disable this
BIOS setting). It is probably a good idea to disable all "advanced" features in your BIOS setup
anyway (for example, the BIOS virus detection seems to be a common source of problems ).
Mixture of memory chips with different timings can also lead to memory recognition problems or to
system crashes (the solution is to replace the memory chips so that the timing of all memory chips is
the same).
1.2 LILO displays only LI (or LIL) and hangs
I quote from my good handbook "Red Hat Linux Unleashed" by Kamran Hussain, Timothy Parker, et
al., published by SAMS Publishing:
"When LILO loads itself, it displays the word LILO. Each letter is printed before or after performing
some specific action. If LILO fails at some point, the letters printed so far can be used to identify the
problem. [...]
59
LI [...] This is caused either by geometry mismatch or by moving /etc/lilo/boot.b without
running the map installer.
LIL [...] This is typically caused by media failure or geometry mismatch."
The geometry means the number of sectors/heads/cylinders used in the hard drive configuration of
your BIOS. Hope this helps!
It is a very good idea to have a handbook for Linux or at least a general UNIX handbook. Handbooks
for Windows are useless, handbooks for Linux are great! "Red Hat Linux Unleashed" is a very good
handbook but I am sure there are many other equally good ones.
With a LILO error like above, you can boot your machine using a Linux or DOS boot floppy. There
seems to be several general possibilities to correct such a LILO error, depending on what is wrong:
1. If LILO simply got corrupted, you can remove and re-install it. You can remove LILO by running
under Linux:
lilo -u /dev/hda
or, under DOS:
FDISK/MBR
which rewrites the hard drive master boot record (MBR), in which LILO resides, and replaces it with
"clean" DOS stuff. You will lose access to Linux, but you can boot it from the floppy and re-install
LILO on top of the DOS MBR. To re-install LILO simply re-run the command lilo (as root).
2. Specify the option
linear
in your /etc/lilo.conf file. This is particularly useful for large drives (>8 GB). See man
lilo.conf for details. The option "linear" is safe--it should not affect a properly working system,
so you can specify this option is any case.
3. Look into your BIOS setup and figure out how your hard drive geometry does not match your hard
drive. From under Linux, you can display the hard drive geometry using (for example, for the first
IDE hard drive):
hdparm -g /dev/hda
4. Put LILO on another partition (different hard drive) and make this partition bootable from fdisk (if
your system supports booting from another drive).
5. Maybe you prefer to use "loadlin" instead of "lilo". From under DOS, locate your CDROM and
see the program /dosutils/loadlin.exe . It boots Linux from DOS.
60
4.1.3 How can I change the operating system that LILO boots on default?
There are typically two sections in the file /etc/lilo.conf. One starts with "image=" and it is
relevant to Linux, the other starts with "other=" and this is the dos/win section. The first to appear in
/etc/lilo.conf is booted by default. So to change the system that boots on default, swap the
sections. Don’t forget to re-run the command
lilo
after any changes to /etc/lilo/conf .
1.4 The LILO prompt stays too short (or too long) on the screen during
the bootup
Add or adjust the line
delay=100
right before the first "image=" or "append=" statement in your /etc/lilo.conf file. The number
is the time of delay in tenths of a second (0.1 s), so in the example above the delay will be 10
seconds. Don’t forget to re-run lilo after making the changes to the /etc/lilo.conf file, or
the delay will not change.
1.5 Uninstalling Linux
If you really wanted to "uninstall" Linux, you can run this command (from under DOS or MS
Windows):
FDISK/MBR
which will get rid of LILO--it overwrites the master boot record (MBR) of your first hard drive,
where LILO resides. After this you can remove the Linux partitions using the DOS "FDISK" utility
to re-claim the hard drive space.
No comments:
Post a Comment