SDB:Boot: (E)IDE and SCSI

Şuraya atla: kullan, ara


Symptom:

LILO does not boot the system. Possibly LILO reported something like

        BIOS-Drive 0x82 may not be accessible

while running the map installer (/sbin/lilo).

Cause:

A common PC BIOS can only access the first two (E)IDE drives at boot time. In addition, SCSI hard drives are usually not accessible by the BIOS if (E)IDE drives are present in the system.

Solution:

There are several possibilities:

  • Install LILO and the Linux kernel on the first or second (E)IDE (or SCSI, respectively) drive. The Linux root partition can now be placed on the SCSI drive without problems.
  • Check whether your PC BIOS and the SCSI adapter support booting from SCSI drives and activate this feature.

In systems that contain both (E)IDE and SCSI drives, it is also necessary to inform LILO about the different order of the hard disks at boot time, because Linux and LILO ignore this particular BIOS setting at runtime: The BIOS uses the device numbers 0x80 for the first hard disk, 0x81 for the second, and so on. When /sbin/lilo is called, it saves these device numbers as part of the physical sector addresses in the map file (/boot/map). However, it uses the "Linux" ordering of the hard disks to assign these device numbers. If "Boot from SCSI first" is activated in the BIOS, the device numbers are no longer correct at boot time, and LILO will fail. Changing the hard disk ordering for LILO is done by means of additional entries into the global section of /etc/lilo.conf. Here is an example for a system containing one (E)IDE and one SCSI disk:

  disk = /dev/sda      #  The SCSI disk ...
    bios = 0x80        #  ... is the first one at boot time
  disk = /dev/hda
    bios = 0x81
These entries need to be made for all hard disk drives on which parts of the LILO boot system are located. If you are using a separate partition for /boot and all your linux kernels are located there, you need the above disk =  entry only for the disk containing this /boot partition.

Do not forget to run /sbin/lilo after customizing /etc/lilo.conf for the changes to take effect.

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 (among others) tell you precisely which BIOS device numbers LILO will use.

For further details, see the "LILO User's Guide" (/usr/share/doc/packages/lilo/user.*) and the appropriate HOWTOs (e.g., in /usr/share/doc/howto/mini/LILO.gz).

SDB:LILO fails: Error messages and their interpretation

<keyword>boot,eide,scsi,lilo</keyword>