SDB:LILO fails: Error messages and their interpretation
İçindekiler
Symptom:
When booting with LILO, the machine hangs after displaying a part of the word LILO
on the screen.
Interpretation
The LILO start-up code consists of two parts: The "first stage" in a boot sector and the "second stage" in /boot/boot.b
. During the installation of LILO, a map file is created, usually /boot/map
, where LILO finds the necessary pointers (sector addresses) to the operating systems (Linux kernel, etc.) that should be started.
(The following is taken from section 5.2.1 of the original LILO User's Guide by LILO author Werner Almesberger)
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.
-
(nothing)
No part of LILO has been loaded. Either LILO isn't installed or the partition on which its boot sector is located is not active.
-
L error
The first stage boot loader has been loaded and started, but it can't load the second stage boot loader. The two-digit error codes indicate the type of problem. This condition usually indicates a media failure or a geometry mismatch.
-
LI
The first stage boot loader was able to load the second stage boot loader, but has failed to execute it. This can either be caused by a geometry mismatch or by moving /boot/boot.b
without running the map installer.
-
LIL
The second stage boot loader has been started, but it can't load the descriptor table from the map file. This is typically caused by a media failure or by a geometry mismatch.
-
LIL?
The second stage boot loader has been loaded at an incorrect address. This is typically caused by a subtle geometry mismatch or by moving /boot/boot.b without running the map installer.
-
LIL-
The descriptor table is corrupt. This can either be caused by a geometry mismatch or by moving /boot/map
without running the map installer.
-
LILO
All parts of LILO have been successfully loaded.
The most frequent causes for a geometry mismatch are not physical defects or invalid partition tables but errors during the installation of LILO.
Solution:
In most cases, the solution is to apply one of the three procedures given below:
- Install the LILO data below the 1024 cylinder boundary (if not yet done). This includes installing the necessary Linux kernel(s) as well as the files stored in
/boot
and the boot sector that will contain LILO's start-up code.
- Reinstall LILO with
/sbin/lilo
. Tip:/sbin/lilo
can provide a detailed log if you enhance verbosity and redirect the output to appropriate log files. To do so, proceed like this:
/sbin/lilo -v -v -v >/boot/lilo.log 2>/boot/lilo.logerr/boot/lilo.logerr
should contain nothing at all (if the boot configuration is correct)./boot/lilo.log
will tell you precisely which geometries and BIOS device numbers LILO will use.
- Check the consistency of hard disk geometry information. Actually, such information is stored in up to four places:
geometry used by LILO.
See: the logs described above.
Adjustable by: disk =
option for lilo.conf
. Refer to the LILO section in your SuSE Linux manual, the original LILO documentation, or SDB:Boot: (E)IDE and SCSI.
- geometry detected/used by the Linux kernel.
See: the boot messages (/var/log/boot.msg
or (maybe) the output of thedmesg
command).
Adjustable by: suitable kernel parameters (to some extent). Details, for example, in your SuSE Linux manual. - geometry stored in the partition table.
See: Output of/sbin/fdisk -l
.
Adjustable by:fdisk
Expert commands. Very dangerous for your data! Previous full backup strongly recommended! Really for experts only! - geometry used by the BIOS. LILO will meet this geometry later at each system start-up and must cope with it.
See: BIOS Setup (also that for your SCSI host adapter).
Adjustable by: BIOS Setup.
- geometry detected/used by the Linux kernel.
In case of inconsistencies, the way of least resistance will often be the best method for adjustment.
Data for support:
When you contact any kind of support about LILO, your chances for success will be significantly better if you include the following in your request:
-
/etc/lilo.conf
- output of the command
fdisk -l
(partition layout) - the LILO logs referred to above
- BIOS and SCSI BIOS settings concerning your hard disks
<keyword>boot,bootproblems,LILO,booting</keyword>