LINUXMAKER, OpenSource, Tutorials

Mit der Shell von Grub2 bei Problemen booten

Der Verlust des Bootmanagers von Grub 2 äußert sich dramatisch, ist aber nicht wirklich tragisch: Sofern das Linux-System und dessen Partitionen noch intakt sind, ist die Reparatur mit einfachen und komfortablen Mitteln möglich. Über die Grub-Shell kann Linux auch bei Problemen starten.

Die Hauptaufgabe des Bootloaders Grub 2 besteht darin, den Linux-Kernel von der Festplatte zu starten. Grub kann auch das Kommando an andere Bootloader übergeben, etwa dem von Windows, und Systeme aus ISO-Dateien booten. Das ist beispielsweise für Diagnosetools oder Reparatursysteme nützlich. Für die Untersuchung der Bootumgebung bietet Grub eine eigene Shell, über die sich das System auch manuell starten lässt. Die Bedienung ist zwar wenig intuitiv, bei Startproblemen kann die Grub-Shell jedoch eine große Hilfe sein.

Mit der Grub-Shell

Grub funktioniert in der Regel auch dann noch, wenn etwas falsch konfiguriert ist und Linux deswegen nicht startet. Zur Analyse der Grub-beziehungsweise Bootumgebung dient die Grub-Shell. Bei Fehlern landen Sie meist automatisch in der Shell. Wenn nicht, halten Sie nach dem Einschalten des PCs die Shift-Taste gedrückt. Danach sehen Sie das Grub-Menü und gelangen über die C-Taste in die Shell.

Die Bedienung der Grub-Shell erfolgt ähnlich wie in einem Terminalfenster der Bash-Shell unter Linux. Welche Befehle es gibt, lassen Sie sich über

pager=1

help

anzeigen, jeweils gefolgt von der Eingabetaste. Grub verwendet die US-amerikanische Tastaturbelegung. Wo Sie die Zeichen auf einer deutschen Tastatur finden, zeigt die Tabelle „Tastaturbelegung in der Grub-Shell“. „pager=1“ sorgt bei der langen Liste für die Ausgabe jeweils einer Bildschirmseite, mit der Leertaste blättern Sie weiter.
Sie benötigen nur wenige Befehle, um ein Linux-System zu starten. Mit

ls

lassen Sie sich die Partitionen anzeigen. Tippen Sie

ls (hd

ein und drücken Sie die Tab-Taste. Grub gibt dann als mögliche Geräte beispielsweise „hd0 hd1“ aus. Angenommen, Linux ist auf der ersten Partition der ersten Festplatte mit MBR-Partitionsstil installiert. Wenn Sie

ls (hd0,

eintippen und dann die Tab-Taste drücken, ergänzt Grub automatisch „ls (hd0, msdos1)“, wenn nur eine Partition vorhanden ist. Andernfalls sehen Sie Angaben zu den möglichen Partitionen, die Sie dann selbst ergänzen müssen. An das Ende der Zeile fügen Sie noch ein „/“ an, dann können Sie sich mit der Tab-Taste Ordner und Dateien anzeigen lassen. Den Inhalt eines Ordners ermitteln Sie etwa mit

ls (hd0,msdos1)/boot/

gefolgt von der Tab-Taste. Hier liegen der Linux-Kernel und die dazugehörige Ramdisk. Mit den folgenden vier Zeilen lässt sich ein Linux-System starten:

set root=(hd0,msdos1)

linux /boot/vmlinuz-4.15.0-29- generic root=/dev/sd[XY] ro

initrd /boot/initrd.img-4.15.0-29 generic

boot

Die Namen der Dateien passen Sie für Ihr System an, „/dev/sd[XY]“ ersetzen Sie durch den Gerätepfad der Linux-Installation. Bei „hd0,msdos1“ ist das „/dev/sda1“, bei „hd1,msdos1“ verwenden Sie „/dev/sdb1“ und so weiter. Sollte das System im Uefi-Modus installiert sein, lautet die Bezeichnung der Partition beispielsweise „hd0,gpt2“, was im Dateisystem „/dev/sda2“ entspricht.

Wurde Linux erfolgreich gestartet, lässt sich Grub über diese beiden Befehlszeilen im Terminal neu installieren:

grub-install /dev/sd[X]

update-grub

„/dev/sd[X]“ ersetzen Sie durch den Laufwerkspfad der Festplatte, auf der das System installiert ist. Bei einem Uefi-System genügt „update-grub“.