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.
- Prüfung, ob der USB-Stick DOS-partitioniert ist. Ggf. kann man mit „parted“ eine DOS-Partitionstabelle erstellen.
- 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.
- Kopieren aller Daten von /boot auf den USB-Stick.
- Mounten des USB-Sticks unter /boot
- In /etc/default/grub sollte man die Angaben prüfen. GRUB_USE_LINUXEFI sollte „false“ sein.
- 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
- Die initrd-Dateien sollten aktualisiert werden:
mkinitrd
- 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.