SDB:Booten: (E)IDE und SCSI

aus openSUSE, der freien Wissensdatenbank


Symptom:

LILO bootet das System nicht; möglicherweise hat LILO beim Einrichten der Boot-Maschinerie mittels Aufruf von /sbin/lilo etwa das Folgende (oder etwas Ähnliches) gemeldet:

        BIOS-Drive 0x82 may not be accessible

Ihr System enthält möglicherweise (E)IDE und SCSI-Festplatte(n) (sog. Mischsystem).

Ursache:

Zwei besonders häufige Ursachen sind:

  • LILO versucht den Zugriff auf ein Gerät, welches das BIOS nicht ansprechen kann.

Ein übliches PC-BIOS kann von Hause aus nur von einigen ausgewählten Datenträgern booten, nicht unbedingt von allen. Insbesondere ist es (v.a. mit einem älteren BIOS) oft ein Problem, beim Booten gleichzeitig auf (E)IDE- und SCSI-Festplatte zuzugreifen.

  • Bei Mischsystemen: /sbin/lilo stimmt nicht mit dem BIOS überein hinsichtlich der Festplattenreihenfolge. Folge: LILO sucht seine Boot-Daten auf der falschen Festplatte.

Typisches Kennzeichen: LILO installiert zwar ohne jede Fehlermeldung. Der Bootvorgang bleibt jedoch bei LI stehen.

Lösung:

Berücksichtigen Sie die folgenden Richtlinien für die Bootkonfiguration:

  • Installieren Sie LILO und den Linux-Kernel auf einer bootfähigen, d.h. vom BIOS zugreifbaren Festplatte. Bootfähig sind praktisch stets:
    • erste bzw. zweite (E)IDE-Platte, bzw.
    • wenn in Ihrem BIOS die Einstellung "SCSI vor IDE" existiert und aktiv ist: die erste SCSI-Platte. Die eigentliche Linux-Rootpartition kann dann ohne weiteres auf einer beliebigen Festplatte verbleiben.

Bei neueren SuSE Linux-Versionen ist alles, was LILO braucht, im Verzeichnis /boot untergebracht, das nur wenige Megabyte verbraucht. Es genügt daher, für dieses Verzeichnis eine kleine Partition auf einer bootfähigen Festplatte vorzusehen.

  • Wenn Sie von SCSI-Platte booten möchten:

Prüfen Sie zunächst, ob Ihr PC-BIOS und der SCSI-Adapter das Booten von SCSI-Platten unterstützen. Wenn ja, aktivieren Sie dieses Feature. Bei Mischsystemen muß dem LILO hier zusätzlich eigens die Reihenfolge der Festplatten beim Booten mitgeteilt werden, da sich das laufende Linux um diese BIOS-Einstellung nicht kümmert: Das BIOS verwendet zum Zugriff auf die Festplatten die Gerätenummern 0x80 für die erste Platte, 0x81 für die zweite usw. Beim Aufruf von /sbin/lilo speichert LILO diese Gerätenummern als Teil der physikalischen Sektoradressen in der Map-Datei (/boot/map). Dabei wird allerdings die Reihenfolge der Festplatten bei laufendem Linux zugrundegelegt! Bei Mischsystemen mit BIOS-Bootreihenfolge SCSI zuerst ist das nicht die BIOS-Reihenfolge, und LILO wird nicht funktionieren. Die explizite "Umordnung" der Platten für LILO geschieht durch Zusatzeinträge in die "global section" zu Beginn der /etc/lilo.conf. Instrument ist die disk Option (näheres in Ihrem SuSE Linux-Handbuch, Kapitel "LILO" bzw. "Booten"). Hier ein typisches Beispiel bei Anwesenheit je einer (E)IDE- und SCSI-Festplatte:

  disk = /dev/sda      #  Die SCSI-Platte ...
    bios = 0x80        #  ... ist die erste beim Booten
  disk = /dev/hda
    bios = 0x81
Wenn das BIOS das CD-ROM-Laufwerk mitzählt, z.B. als zweites Laufwerk, dann kann sich der Wert des hexadezimalen Wertes ändern. Somit wäre die zweite SCSI-Platte eventuell 0x82 anstatt 0x81:
disk = /dev/sda
  bios = 0x80
disk = /dev/sdb
  bios = 0x82
Diese Einträge sind nötig für alle Festplatten, die Teile der LILO-Boot-Maschinerie enthalten. Wenn Sie eine eigene Partition für /boot haben und alle Ihre Linux Kernel dort liegen, ist nur die Festplatte betroffen, auf der diese Partition liegt.

Nicht vergessen: Nach Anpassung der /etc/lilo.conf den /sbin/lilo aufrufen, damit die Anpassung wirksam wird.

Tip:Ein informatives Log liefert /sbin/lilo, wenn Sie die Gesprächigkeit (engl. verbosity) erhöhen und Logfiles anlegen lassen. Das geht wie folgt:

     /sbin/lilo -v -v -v >/boot/lilo.log 2>/boot/lilo.logerr

In /boot/lilo.logerr sollte bei einer korrekten Bootkonfiguration gar nichts stehen. In /boot/lilo.log können Sie u.a. genau nachlesen, welche BIOS-Gerätenummern LILO verwendet.

Weitere Details werden im "LILO User's Guide" (/usr/share/doc/packages/lilo/user.*) und in den verschiedenen Howtos (z.B. in /usr/share/doc/howto/mini/LILO.gz) erläutert.

SDB:LILO startet nicht: Fehlermeldungen und Deutung