Penguin
Diff: LiloErrorCodes
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of LiloErrorCodes.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 26 Last edited on Monday, May 15, 2006 4:00:12 pm by AristotlePagaltzis
Older page: version 19 Last edited on Tuesday, July 19, 2005 12:50:56 pm by DanielLawson Revert
@@ -1,99 +1,114 @@
 If lilo(8) encounters an error when it is reading itself into memory it will output a hexidecimal number onto the screen. 
  
-!! Error Codes 
+! !! Error Codes 
  
 eg: L 01 01 01, L 07 07 07 etc.. 
-<?plugin OldStyleTable  
-|Code|Reason  
-|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.  
-|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 inicate 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 [below|LiloErrorCodes#hdr_notes_on_linear_mode])  
-|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.  
-?>  
  
+<tt>0x00</tt>: __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 <tt>LINEAR</tt> option.  
  
-!! __LILO Messages __[1]  
+<tt>0x01</tt>: __Illegal Command __:  
  
-When LILO loads itself it displays the word “LILO” . Each letter is printed before or after some specific action. If LILO fails at some point, the letters printed so far can be used to identify the problem
+ 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)
  
-Note that some hex digits may be inserted after the first “L” if a transcient 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.  
- <?plugin OldStyleTable  
-| __(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. You have probably not booted from the correct device or the media you've booted from is faulty.  
-| __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 the LILO Disk Error Codes section, below.) This condition usually indicates a media failure or bad disk parameters in the IPCop PC's BIOS.  
-| __LI__ | The first stage boot loader was able to load the second stage boot loader, but has failed to execute it. This can be caused by bad disk parameters in the IPCop PC's BIOS.  
-| __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 bad disk parameters in the IPCop PC's BIOS.  
-| __LIL?__ | The second stage boot loader has been loaded at an incorrect address. This is typically caused by bad disk paramters in the IPCop PC's BIOS.  
-| __LIL-__ | The desriptor table is corrupt. This can be caused by bad disk parameters in the IPCop PC's BIOS.  
-| __LILO__ | All parts of LILO have been sucessfully loaded.  
-?>  
+<tt>0x02</tt>: __Address mark not found __:  
  
-[1]-excerpted from Werner Almesberger's LILO Users Guide
+ This usually indicates a media problem . Try again several times.  
+<tt>0x03</tt>: __Write-protected disk__:  
  
-__Helpful note for those stuck with only "L" appearing on the LILO screen : __ 
+ This should only occur on write operations.  
+<tt>0x04</tt> : __Sector not found__:  
  
-This can be caused by a buggy BIOS which does not properly match up BIOS disks with OS disks . This can be fixed by using the __ disk__ parameter in /etc/lilo.conf , which when used with the bios keyword allows you to map BIOS disks to Linux disks . For example, I was just able to recover a server where an [IDE] CD-ROM , /dev/hda , was the primary master and an IDE hard disk, /dev/hdb, was the primary slave, with this entry in /etc /lilo .conf:  
+ 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 <tt>COMPACT< /tt> may help too. So may adding <tt>LBA32< /tt> or <tt>LINEAR< /tt>
  
-__disk=/dev/hdb bios=0x80 __ 
+<tt>0x06</tt>: __Change line active __:  
  
-This may or may not require further tweaking for your setup. All I know is that if I'd seen this option on the web instead of extracting it from a Mandrake /etc/lilo .conf, I'd have saved a day's work . :-)  
+ This should be a transient error . Try booting a second time
  
-! __Notes on Linear Mode __ 
+<tt>0x07</tt>: __Invalid initialization __:  
  
-__An additional possibility for those with only "L"__: I had an old Compaq on which I had updated the BIOS but the /boot directory was far into the large hard drive . I wasn't able to tweak the autodetect parameters in BIOS, so I didn't have all the information in how it was set up . I would always get stuck at the "L" screen, though a boot disk (linux root=/dev/hda1 ) would work fine.  
+ 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].
  
-In my case I had to comment out Linear in lilo.conf and then execute (capital "L" is important)  
- __lilo -L __  
-to set disk access mode to LBA32 (I think this is the default). Once this was written to the MBR (/dev/hda) everything worked fine.  
+<tt>0x08</tt>: __[DMA] overrun __:  
  
-It would be helpful to note that users with older hardware, who encounter the L 99 99 99 99 ... error, that adding "linear" in lilo.conf may solve the problem. (It did for me!)  
+ This shouldn't happen . Try booting again
  
-There is a significant amount of conflicting information about error code 99. It appears to be associated with a BIOS disk error - mismatch of geometry, read failure, or something like that. According to the lilo man page, 99 indicates "invalid second stage index sector" and is usually associated with a bad map file or a geometry mismatch between lilo and the BIOS.  
+<tt>0x09</tt>: __[DMA] attempt across 64k boundary__:  
  
-What solved it for me was moving lilo to the MBR instead of the first sector of the disk. 
+ This shouldn't happen, but may inicate a disk geometry mis-match. Try omitting the <tt>COMPACT</tt> option. You may need to specify the disk geometry yourself
  
-! __Duplicate Volume ID __ 
+<tt>0x0C</tt>: __Invalid media __:  
  
-This error occurs if there are multiple disks in the system with the same Volume ID. Older versions of lilo didn 't bother with the Volume ID - they ignored it and used the BIOS name of the disk . Newer versions of lilo will check it however, and this relies on the Volume ID being unique . Lilo will refuse to install if there are duplicate Volume IDs  
+ This shouldn 't happen and might be caused by a media error . Try booting again
  
-There are a couple of ways in which the Volume ID can be non-unique - either a boot manager process was installed to both disks and it set the Volume ID to some constant value, or it was left over from a low-level format.  
+<tt>0x10</tt>: __[CRC] error__:  
  
-You can check the Volume IDs on your system by running the following command:  
-<verbatim>  
-# lilo -T vol-ID  
-BIOS Volume ID  
-0x80 9DC96E9E  
-0x81 A03D6CFB  
-< /verbatim>  
+ 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.  
  
-To fix a duplicate Volume ID, you just need to zero the MBR of one of the offending disks, and then reinstall lilo:  
- <verbatim >  
-lilo -z -M <devicename>  
- </verbatim >  
-Where <devicename> corresponds to one of your disk devices, eg /dev/hdc or /dev/sdb.  
+<tt >0x11 </tt >: __[ECC] correction successful__:  
  
-__Note__: it is very important that you do __NOT__ wipe the Volume ID of a disk that has Windows 2000 or XP installed on it , as this will probably render the OS unbootable . Typically Windows is installed on the first disk in the system - /dev/hda or /dev/sda, so you should pick the highest disk name instead
+ 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
  
-After this you can reinstall lilo with  
- <verbatim >  
-lilo -v  
- </verbatim
+<tt >0x20 </tt >: __Controller error__:  
  
+ This shouldn't happen, then again, none of these errors should happen eh?  
  
-! References  
-* [Volume ID|http ://cvs .lp .se /doc /lilo /README .volumeID .gz
+<tt>0x40</tt>: __Seek failure__:  
+  
+ This might be a media problem. Try booting again.  
+  
+<tt>0x80</tt>: __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.  
+  
+<tt>0x99</tt>: __Invalid Second Stage__:  
+  
+ Mismatch between drive and [BIOS] geometry, or a bad map file. Some evidence that <tt>LINEAR</tt> needs to be set on the disk (see [LiloNotes])  
+  
+<tt>0x9A</tt>: __Can't Find Second Stage__:  
+  
+ Check to see if you have the correct device for boot, eg. <tt>boot=/dev/hda1</tt> when it should be in the [MBR] i.e. <tt>boot=/dev/hda</tt>.  
+  
+<tt>0xBB</tt>: __[BIOS] error__:  
+  
+ This shouldn't happen. Try booting again. If the problem persists, removing the <tt>COMPACT</tt> option or adding/removing <tt>LINEAR</tt> or <tt>LBA32</tt> might help.  
+  
+ !!! [LILO] Messages  
+  
+<i>Excerpted from Werner Almesberger's [LILO] Users Guide.</i>  
+  
+When [LILO] loads itself it displays the word “<tt>LILO</tt>”. Each letter is printed before or after some specific action. If [LILO] fails at some point, the letters printed so far can be used to identify the problem.  
+  
+Note that some hex digits may be inserted after the first “<tt>L</tt>” 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.  
+  
+  
+(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. You have probably not booted from the correct device or the media you've booted from is faulty.  
+  
+<tt>L< /tt>:  
+  
+ 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 the [LILO] Disk Error Codes section, below.) This condition usually indicates a media failure or bad disk parameters in the [BIOS].  
+  
+<tt>LI< /tt>:  
+  
+ The first stage boot loader was able to load the second stage boot loader, but has failed to execute it . This can be caused by bad disk parameters in the [BIOS] .  
+  
+<tt>LIL< /tt>:  
+  
+ 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 bad disk parameters in the [BIOS].  
+  
+<tt>LIL?< /tt>:  
+  
+ The second stage boot loader has been loaded at an incorrect address. This is typically caused by bad disk paramters in the [BIOS].  
+  
+<tt>LIL-< /tt>:  
+  
+ The desriptor table is corrupt . This can be caused by bad disk parameters in the [BIOS] .  
+  
+<tt>LILO</tt>:  
+  
+ All parts of [LILO ] have been sucessfully loaded.  
  
 ---- 
 CategoryErrors