Troubleshooting =============== All parts of LILO display some messages that can be used to diagnose problems. Map installer warnings and errors --------------------------------- Most messages of the map installer (/sbin/lilo) should be self-explanatory. Some messages that indicate common errors are listed below. They are grouped into fatal errors and warnings (non-fatal errors). Fatal errors - - - - - - Boot sector of doesn't have a boot signature Boot sector of doesn't have a LILO signature The sector from which LILO should be uninstalled doesn't appear to be a LILO boot sector. Can't put the boot sector on logical partition An attempt has been made to put LILO's boot sector on the current root file system partition which is on a logical partition. This usually doesn't have the desired effect, because common MBRs can only boot primary partitions. This check can be bypassed by explicitly specifying the boot partition with the -b option or by setting the configuration variable BOOT. Checksum error The descriptor table of the map file has an invalid checksum. Refresh the map file _immediately_ ! Device 0x: Got bad geometry // The device driver for your SCSI controller does not support geometry detection. You have to specify the geometry explicitly (see section "Disk geometry"). Device 0x: Invalid partition table, entry The 3D and linear addresses of the first sector of the specified partition don't correspond. This is typically caused by partitioning a disk with a program that doesn't align partitions to tracks and later using PC/MS-DOS or OS/2 on that disk. LILO can attempt to correct the problem, see "General per-image options". is not a valid partition device The specified device is either not a device at all, a whole disk, or a partition on a different disk than the one in whose section its entry appears. is not a whole disk device Only the geometry of whole disks (e.g. /dev/hda, /dev/sdb, etc.) can be redefined when using DISK sections.* DISKTAB and DISK are mutually exclusive You cannot use a disktab file and disk geometry definitions in the configuration file at the same time. Maybe /etc/disktab was accidentally used, because that's the default for backward-compatibility. You should delete /etc/disktab after completing the transition to DISK sections. Duplicate entry in partition table A partition table entry appears twice. The partition table has to be fixed with fdisk. Duplicate geometry definition for A disk or partition geometry definition entry for the same device appears twice in the configuration file. Note that you mustn't write a partition section for the whole disk - its start sector is always the first sector of the disk. First sector of doesn't have a valid boot signature The first sector of the specified device does not appear to be a valid boot sector. You might have confused the device name.** geo_comp_addr: Cylinder beyond end of media () A file block appears to be located beyond the last cylinder of the disk. This probably indicates an error in the disk geometry specification (see sections "Disk geometry" and "Disk parameter table") or a file system corruption. geo_comp_addr: Cylinder number is too big ( > 1023) Blocks of a file are located beyond the 1024th cylinder of a hard disk. LILO can't access such files, because the BIOS limits cylinder numbers to the range 0...1023. Try moving the file to a different place, preferably a partition that is entirely within the first 1024 cylinders of the disk. Hole found in map file () The map installer is confused about the disk organization. Please report this error. doesn't have a valid LILO signature The specified item has been located, but is not part of LILO. has an invalid stage code () The specified item has probably been corrupted. Try re-building LILO. is version . Expecting version . The specified entity is either too old or too new. Make sure all parts of LILO (map installer, boot loaders and chain loaders) are from the same distribution. *** Kernel is too big The kernel image (without the setup code) is bigger than 512 kbytes. LILO would overwrite itself when trying to load such a kernel. Try removing some unused drivers and compiling the kernel again. With recent (compressed) kernels, the reason for this error is most likely that the kernel image is damaged or that it contains trailing "junk", e.g. as the result of copying an entire boot floppy to the hard disk. Map is not a regular file. This is probably the result of an attempt to omit writing a map file, e.g. with -m /dev/null . The -t option should be used to accomplish this. Must specify SECTORS and HEADS together It is assumed that disks with a "strange" number of sectors will also have a "strange" number of heads. Therefore, it's all or nothing. Partition entry not found The partition from which an other operating system should be booted isn't listed in the specified partition table. This either means that an incorrect partition table has been specified or that you're trying to boot from a logical partition. The latter usually doesn't work. You can bypass this check by omitting the partition table specification (e.g. omitting the variable TABLE). Sorry, don't know how to handle device LILO uses files that are located on a device for which there is no easy way to determine the disk geometry. Such devices have to be explicitly described, see section "Disk geometry". Timestamp in boot sector of differs from date of The backup copy of the boot sector does not appear to be an ancestor of the current boot sector. If you are absolutely sure that the boot sector is indeed correct, you can bypass this check by using -U instead of -u . write : The disk is probably full or mounted read-only. * When using a disktab file, you don't have this restriction. The additional flexibility offered by this is, however, useless and dangerous. ** Because different partition programs may display the partitions in a different order, it is possible that what you think is your first partition isn't /dev/hda1, etc. A good method to verify the content of a partition is to try to mount it. *** The expected version number may be different from the version number of the LILO package, because file version numbers are only increased when the file formats change. Warnings - - - - Warnings labeled with "Warning" can be turned off with the NOWARN option. FIGETBSZ : < error_reason> The map installer is unable to determine the block size of a file system. It assumes a block size of two sectors (1kB). Ignoring entry '' The command-line option corresponding to the specified variable is set. Therefore, the configuration file entry is ignored. Setting DELAY to 20 (2 seconds) Because accidentally booting the wrong kernel or operating system may be very inconvenient on systems that are not run from a local display, the minimum delay is two seconds if the SERIAL variable is set. (temp) : Deleting a temporary file has failed for the specified reason. Warning: BIOS drive 0x may not be accessible Because most BIOS versions only support two floppies and two hard disks, files located on additional disks may be inaccessible. This warning indicates that some kernels or even the whole system may be unbootable. Warning: should be owned by root In order to prevent users from compromising system integrity, the configuration file should be owned by root and write access for all other users should be disabled. Warning: should be readable only for root if using PASSWORD Users should not be allowed to read the configuration file when using the PASSWORD option, because then, it contains unencrypted passwords. Warning: should be writable only for root See " Warning: should be owned by root ". Warning: device 0x exceeds 1024 cylinder limit A disk or partition exceeds the 1024 cylinder limit imposed by the BIOS. This may result in a fatal error in the current installation run or in later installation runs. See " geo_comp_addr: Cylinder number is too big ( > 1023) " for details. Warning: is not on the first disk The specified partition is probably not on the first disk. LILO's boot sector can only be booted from the first disk unless some special boot manager is used. WARNING: The system is unbootable ! One of the last installation steps has failed. This warning is typically followed by a fatal error describing the problem. LILO start message ------------------ 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. This is described in more detail in the technical overview. Note that some hex digits may be inserted after the first "L" if a transient disk problem occurs. Unless LILO stops at that point, generating an endless stream of error codes, such hex digits do not indicate a severe problem. () 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, see section "Disk geometry"). 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. Disk error codes ---------------- If the BIOS signals an error when LILO is trying to load a boot image, the respective error code is displayed. The following BIOS error codes are known: 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. 0x01 "Illegal command". This shouldn't happen. 0x02 "Address mark not found". This usually indicates a media problem. Try again several times. 0x03 "Write-protected disk". This shouldn't happen. 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. (See section "Disk geometry".) Removing COMPACT may help too. So may adding LINEAR. 0x06 "Change line active". This should be a transient error. Try booting a second time. 0x08 "DMA overrun". This shouldn't happen. Try booting again. 0x09 "DMA attempt across 64k boundary". This shouldn't happen. Try omitting the COMPACT option and report this problem to the author. 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. 0x20 "Controller error". This shouldn't happen. 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. Other problems -------------- This section contains a collection of less common problems that have been observed. See also section "Installation of other operating systems" for general remarks on using LILO with other operating systems. Some of the problems are obscure and so are the work-arounds. - If LILO doesn't go away even if you erase its files, format your Linux partition, etc., you've probably installed LILO as your MBR and you've forgotten to deinstall it before deleting its files. See section "LILO de-installation" for what you can do now. - For yet unknown reasons, LILO may fail on some systems with AMI BIOS if the "Hard Disk Type 47 RAM area" is set to "0:300" instead of "DOS 1K". - Some disk controller BIOSes perform disk geometry/address translations that are incompatible with the way the device's geometry is seen from Linux, i.e. without going through the BIOS. Particularly, large IDE disks and some recent PCI SCSI controllers appear to have this problem. In such cases, either the translated geometry has to be specified in a DISK section or the sector address translation can be deferred by using the LINEAR option. In a setup where floppies are not normally used for booting, the LINEAR approach should be preferred, because this avoids the risk of specifying incorrect numbers. - OS/2 is said to be bootable from a logical partition with LILO acting as the primary boot selector if LILO is installed on the MBR, the OS/2 BootManager is on an active primary partition and LILO boots BootManager. Putting LILO on an extended partition instead is said to crash the OS/2 FDISK in this scenario. Note that booting LILO from BootManager (so BootManager is the primary selector) or booting OS/2 directly from a primary partition (without BootManager) should generally work. See also section "Installation of other operating systems". - Windows NT is reported to be bootable with LILO when LILO acts as the MBR and the Windows NT boot loader is on the DOS partition. However, NT's disk manager complains about LILO's MBR when trying to edit the partition table. - Some PC UNIX systems (SCO and Unixware have been reported to exhibit this problem) depend on their partition being active. Such a setup can currently only be obtained by installing LILO as the MBR and making the respective partition active.* - Future Domain TMC-1680 adapters with the BIOS version 3.4 assign BIOS device numbers in the wrong order, e.g. on a two-disk system, /dev/sda becomes 0x81 and /dev/sdb becomes 0x80 . This can be fixed with the following disk section: disk=/dev/sda bios=0x81 disk=/dev/sdb bios=0x80 Note that this is only valid for a two-disk system. In three-disk systems, /dev/sdc would become 0x80 , etc. Also, single-disk systems don't have this problem (and the "fix" would break them). * Future versions of LILO may be able to change the active flag dynamically.