Booten von IDE-SCSI-Mischsystemen
Im Bios kann man die Bootreihenfolge, ob nun IDE- oder SCSI-Platten als erstes bevorzugt werden, einstellen (oder External Boot-Devices).
Im Falle der IDE-Platte (BIOS C: und /dev/hda in lilo.conf) läßt sich Lilo ganz normal ohne jegliche Probleme in den Bootsektor installieren. Möchte man aber SCSI vor IDE haben (Einstellung im BIOS) und ändert in der Datei /etc/lilo.conf die Einstellung "disk = /dev/sda" um, so muckt Lilo ganz gewaltig mit dem Output "/dev/sda not the first disk". Um aus diesem Dilemma zu kommen, muß man Lilo mit einigen Parametern ganz explizit sagen, daß /dev/sda die erste Platte beim nächsten Booten sein soll!
Das geschieht mit dem sogenannten Drive-Mapping der Laufwerke. Hierbei muß man wissen, daß das Mainboard-BIOS eigene Namen für diese Geräte in Form von Hexadezimal-Zahlen vergibt. Die erste Festplatte ist immer 0x80. Die zweite Festplatte ist 0x81, die dritte 0x82 usw. Die Zählung beginnt immer bei einer IDE-Platte, da dies vom Mainboard-BIOS als selbstverständlich angesehen wird, da auch der IDE-Controller auf dem selbigen Board vorhanden ist. Wichtig ist in diesem Zusammenhang zu wissen, welche Nummer die erste IDE-Platte hat und welche die erste SCSI-Festplatte besitzt.
Ein Beispielkonfiguration mit 3 Festplatten (2 x SCSI und 1 x IDE; auf der IDE-Platte ist Windows vorhanden, Linux ist auf den beiden SCSI-Platten verteilt) mit den entsprechenden lilo.conf-Parametern folgt. Die erste IDE-Platte hat die Nummer 0x80 und wird zu 0x82, da ich nun diese hinter den SCSI-Platten angeordnet habe. Die SCSI-Harddisks rutschen von den Namen her eine Position vor und heißen nun 0x80 und 0x81, wobei 0x81 oder /dev/sdb keine weitere Rolle für unsere Konfiguration spielt, genau wie /dev/hdb oder sonstiges.
Nun aber der Auszug aus der /etc/lilo.conf:
# LILO configuration file # Start LILO global Section ... # Laufwerksmapping für BIOS-Namen disk = /dev/sda bios = 0x80 disk = /dev/hda bios = 0x82 ... # End LILO global Section # Linux auf der ersten SCSI-HDD und davon booten image = /boot/bvmlinuz-2.4.13 root = /dev/sda1 label = linux # Windows auf der IDE-Platte # Durch 'map-drive' wird wieder die IDE-Platte # als erstes Bootsystem angegeben # Windows merkt von den Umweg über SCSI nichts! other = /dev/hda1 label = win table = /dev/hda map-drive = 0x80 to = 0x82 map-drive = 0x82 to = 0x80 ...