Mit großen Festplatten booten, auch wenn das BIOS kein UEFI oder ein fehlerhaftes UEFI enthält

Bekanntlich benötigt man für Festplatten mit mehr als 2 TB eine GPT-Partitionstabelle. Auch für kleinere Festplatten oder SSDs hat GPT Vorteile.

Allerdings kann man von GPT-partitionierten Festplatten nur im UEFI-Modus booten. Hier fängt bei vielen älteren PCs und Notebooks das Problem an. Manche können gar kein UEFI, andere bringen ein fehlerhaftes UEFI mit. Das Intel-Mainboard DH55TC, welches ich zum Testen benutze, hat z.B. einen Bug, der bewirkt, dass die Bootreihenfolge ignoriert wird und ohne Benutzereingabe immer Windows im UEFI-Modus gebootet wird.

Man kann UEFI aber mit Linux geschickt umgehen. Man benötigt dazu allerdings einen USB-Stick und einen PC, der von USB-Sticks mit normaler DOS-Partitionstabelle booten kann.

Bei der Installation oder nachträglich kann man folgendes konfigurieren:

  • Festplatte mit GPT partitioniert
  • USB-Stick mit DOS-Partitionstabelle (gemountet unter /boot)

Eine entsprechende Konfiguration ist bei der Linux-Neuinstallation relativ einfach, da die Installationsprogramme entsprechende Optionen anbieten.

Eine nachträgliche Änderung des Bootens von einer GPT-Festplatte zu einem DOS-partitionierten Stick ist etwas aufwendiger. Folgende Schritte sind nötig:

Achtung: Alle Daten auf dem USB-Stick werden gelöscht. Auch für die Festplatte ist es sinnvoll, ein Vollbackup anzulegen. Falls die Aktionen schief gehen, kann man nicht mehr booten. Von daher sollte ein Rettungsmedium bereitliegen.

  1. Prüfung, ob der USB-Stick DOS-partitioniert ist. Ggf. kann man mit „parted“ eine DOS-Partitionstabelle erstellen.
  2. Erstellung einer Linux-Partition auf dem USB-Stick. Als Dateisystem kann man ext4 oder ext3 oder ein anderes von Grub2 unterstütztes Dateisystem wählen.
  3. Kopieren aller Daten von /boot auf den USB-Stick.
  4. Mounten des USB-Sticks unter /boot
  5. In /etc/default/grub sollte man die Angaben prüfen. GRUB_USE_LINUXEFI sollte „false“ sein.
  6. Nun kann Grub2 auf den USB-Stick installiert werden. Falls der Stick /dev/sdX (X ist die Laufwerksnummer) heißt, lautet der Befehl dafür wie folgt:
    grub2-install --boot-directory=/boot --target=i386-pc /dev/sdX
  7. Die initrd-Dateien sollten aktualisiert werden:
    mkinitrd
  8. Nun kann man das Grub2-Menü neu erstellen lassen:
    grub2-mkconfig -o /boot/grub2/grub.cfg

Nun ist es Zeit, die Konfiguration zu testen. Ggf. muss die Bootreihenfolge im BIOS geändert werden oder es muss eine Taste wie F10 gedrückt werden, damit man den USB-Stick als Bootmedium wählen kann.

Falls alles funktioniert, sollte für /boot und den USB-Stick /dev/sdX noch ein Eintrag in /etc/fstab erstellt werden:

/dev/sdX /boot ext4 defaults,nofail 1 2

Falls das Booten vom USB-Stick nicht funktioniert, kann man ohne USB-Stick wieder von Festplatte booten und die Konfiguration erneut prüfen.