Grub2 Installation

Aus Xinux Wiki
Version vom 26. August 2026, 14:38 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

GRUB neu installieren

Diese Seite beschreibt, wie der Bootloader nach einem Defekt wieder hergestellt wird. Voraussetzung ist ein System, das entweder normal läuft oder über ein Rescue-System mit chroot erreichbar ist.

Vor allen Schritten den Firmware-Modus feststellen
  • [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Der Modus entscheidet, welcher der beiden folgenden Abschnitte gilt. Ein im BIOS-Modus installiertes System lässt sich nicht durch Umschalten der Firmware auf EFI starten und umgekehrt.

Debian

MBR

Grub wird in den MBR der angegebenen Festplatte geschrieben
  • grub-install /dev/sda
Erstellen der GRUB-Konfigurationsdatei
  • update-grub

Geschrieben werden dabei zwei Bereiche: die ersten 446 Byte der Platte mit dem Bootcode und der Bereich ab Sektor 1 bis zum Beginn der ersten Partition mit core.img. Die Partitionstabelle in Byte 447 bis 510 bleibt unangetastet.

Benötigtes Paket
  • apt install grub-pc

EFI

Grub wird in die EFI-Systempartition geschrieben
  • grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck
Erstellen der GRUB-Konfigurationsdatei
  • update-grub
Kontrolle der Firmware-Einträge
  • efibootmgr -v

--bootloader-id=debian legt das Verzeichnis /boot/efi/EFI/debian an und erzeugt gleichzeitig den passenden Eintrag im NVRAM der Firmware. --recheck verwirft eine vorhandene Gerätezuordnung und ermittelt sie neu – sinnvoll, wenn sich die Plattenreihenfolge geändert hat.

Benötigte Pakete
  • apt install grub-efi-amd64 shim-signed
Ablage der Konfiguration
  • /boot/grub/grub.cfg

update-grub ist unter Debian nur ein Aufruf von grub-mkconfig -o /boot/grub/grub.cfg. Die Menüeinträge werden dabei vollständig neu aus den vorhandenen Kerneln in /boot erzeugt.

Rocky

MBR

Grub wird in den MBR der angegebenen Festplatte geschrieben
  • grub2-install /dev/sda
Erstellen der GRUB-Konfigurationsdatei
  • grub2-mkconfig -o /boot/grub2/grub.cfg
Benötigtes Paket
  • dnf install grub2-pc

Bei einer Installation, die von vornherein im EFI-Modus aufgesetzt wurde, ist grub2-pc nicht vorhanden und grub2-install schlägt mit einer Fehlermeldung zum fehlenden Zielformat fehl.

EFI

Unter Rocky wird der Bootloader in der EFI-Systempartition nicht mit grub2-install geschrieben, sondern über die Pakete bereitgestellt. Die Binärdateien sind signiert, ein selbst erzeugter Loader würde unter Secure Boot von der Firmware abgelehnt.

Bootloader und Shim aus den Paketen wiederherstellen
  • dnf reinstall grub2-efi-x64 shim-x64
Erstellen der GRUB-Konfigurationsdatei
  • grub2-mkconfig -o /boot/grub2/grub.cfg
Firmware-Eintrag neu anlegen, falls er fehlt
  • efibootmgr -c -d /dev/sda -p 1 -L "Rocky Linux" -l '\EFI\rocky\shimx64.efi'
Kontrolle der Firmware-Einträge
  • efibootmgr -v

Bei efibootmgr -c bezeichnet -d die Platte und -p die Nummer der EFI-Systempartition. Der Pfad hinter -l wird mit Backslashes angegeben, weil die Firmware ihn so erwartet, und muss in einfache Anführungszeichen gesetzt werden, damit die Shell die Backslashes nicht interpretiert.

ℹ️ Hinweis: Unter Rocky liegt die erzeugte Konfiguration für BIOS und EFI gleichermaßen unter /boot/grub2/grub.cfg. Die Datei /boot/efi/EFI/rocky/grub.cfg ist nur ein Verweis auf diese Hauptkonfiguration und darf nicht mit grub2-mkconfig überschrieben werden. Ältere Anleitungen, die für EFI nach /boot/efi/EFI/redhat/grub.cfg schreiben lassen, stammen aus der Zeit vor RHEL 9 und führen zu einem nicht mehr startenden System.

Unterschied bei den Menüeinträgen

Debian erzeugt aus den vorhandenen Kerneln eine vollständige grub.cfg mit allen Menüeinträgen.

Rocky verwendet die Boot Loader Specification: Für jeden Kernel liegt eine eigene Datei unter /boot/loader/entries, die grub.cfg liest diese Dateien nur ein.

Vorhandene Einträge unter Rocky anzeigen
  • ls /boot/loader/entries/
  • grubby --info=ALL
Standardkernel unter Rocky setzen
  • grubby --set-default /boot/vmlinuz-$(uname -r)
Bootparameter unter Rocky dauerhaft ergänzen
  • grubby --update-kernel=ALL --args="quiet"

Unter Rocky ist grubby damit das Werkzeug für den Alltag; grub2-mkconfig wird nur nach Änderungen an /etc/default/grub oder nach einem Defekt der Hauptkonfiguration benötigt.

Reparatur aus dem Rescue-System

Startet das System gar nicht mehr, wird von einem Installationsmedium im Rettungsmodus gebootet und die Installation eingehängt.

Dateisysteme einhängen
  • mount /dev/sda2 /mnt
  • mount /dev/sda1 /mnt/boot/efi
  • for i in dev proc sys run; do mount --bind /$i /mnt/$i; done
In die Installation wechseln
  • chroot /mnt

Danach gelten die Kommandos der Abschnitte oben unverändert.

ℹ️ Hinweis: Ohne die eingehängten Verzeichnisse /dev, /proc und /sys kann grub-install die Platten nicht erkennen und bricht mit einer Fehlermeldung zur Gerätezuordnung ab. Das Einhängen von /boot/efi entfällt auf BIOS-Systemen.