LILO Error codes

LILO can write a Master Boot Record on a device:

/sbin/lilo -M


If lilo  encounters an error when it is reading itself into memory it will output a hexidecimal number onto the screen.

Error codes

e.g.: L 01 01 01, L 07 07 07 etc..

Error code Name Description
0x00 Internal Error This code is generated by the sector read routine of the LILO boot loader whenever an internal inconsistency is detected. This might be caused by corrupt files. Try re-building the map file. Another possible cause for this error are attempts to access cylinders beyond 1024 while using the LINEAR option.
0x01 Illegal Command This shouldn’t happen, but if it does, it may indicate an attempt to access a disk which is not supported by the BIOS. Definitely check to see if the disk is seen by the BIOS first (and that the BIOS detail is complete).
0x02 Address mark not found This usually indicates a media problem. Try again several times.
0x03 Write-protected disk This should only occur on write operations.
0x04 Sector not found This typically indicates a geometry mismatch. If you’re booting a raw-written disk image, verify whether it was created for disks with the same geometry as the one you’re using. If you’re booting from a SCSI disk or a large IDE disk, you should check, whether LILO has obtained correct geometry data from the kernel or whether the geometry definition corresponds to the real disk geometry. Removing COMPACT may help too. So may adding LBA32 or LINEAR.
0x06 Change line active This should be a transient error. Try booting a second time.
0x07 Invalid initialization The BIOS failed to properly initialize the disk controller. You should control the BIOS setup parameters. A warm boot might help too. (Boot a rescue disc and rerun LILO.)
0x08 DMA overrun This shouldn’t happen. Try booting again.
0x09 DMA attempt across 64k boundary This shouldn’t happen, but may indicate a disk geometry mis-match. Try omitting the COMPACT option. You may need to specify the disk geometry yourself.
0x0C Invalid media This shouldn’t happen and might be caused by a media error. Try booting again.
0x10 CRC error A media error has been detected. Try booting several times, running the map installer a second time (to put the map file at some other physical location or to write “good data” over the bad spot), mapping out the bad sectors/tracks and, if all else fails, replacing the media.
0x11 ECC correction successful A read error occurred, but was corrected. LILO does not recognize this condition and aborts the load process anyway. A second load attempt should succeed.
0x20 Controller error This shouldn’t happen, then again, none of these errors should happen eh?
0x40 Seek failure This might be a media problem. Try booting again.
0x80 Disk timeout The disk or the drive isn’t ready. Either the media is bad or the disk isn’t spinning. If you’re booting from a floppy, you might not have closed the drive door. Otherwise, trying to boot again might help.
0x99 Invalid Second Stage Mismatch between drive and BIOS geometry, or a bad map file. Some evidence that LINEAR needs to be set on the disk (see LiloNotes)
0x9A Can’t Find Second Stage Check to see if you have the correct device for boot, e.g. boot=/dev/hda1 when it should be in the MBR i.e. boot=/dev/hda.
0xBB BIOS error This shouldn’t happen. Try booting again. If the problem persists, removing the COMPACT option or adding/removing LINEAR or LBA32 might help.

Questions about these codes are asked so often on Usenet that we include them here as a public service. This summary is excerpted from Werner Almsberger’s LILO User Documentation.

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.

Output Problem
(nothing) No part of LILO has been loaded. LILO either isn’t installed or the partition on which its boot sector is located isn’t active.
L 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. (See also section “Disk error codes”.) This condition usually indicates a media failure or a geometry mismatch (e.g. bad disk parameters).
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.

If the BIOS signals an error when LILO is trying to load a boot image, the respective error code is displayed. These codes range from 0x00 through 0xbb. See the LILO User Guide for an explanation of these.