Ubuntu 12.04 Precise Pangolin
Die GRUB-2-Shell ist die Laufzeit-Umgebung von GRUB 2 und kann abhängig vom System-Status verschiedene Modi starten. Diese sind der Auswahlmenü-Modus (= "Menu Mode"), die Kommandozeile (= "Command Line Interface" oder "CLI-Mode") und schließlich noch der Rettungsmodus (= "Rescue Mode"). Außerdem erlaubt es die GRUB-2-Shell aus dem Auswahlmenü-Modus heraus den Menü-Bearbeitungs-Modus (= "Edit Mode") bei Bedarf aufzurufen.
Der Artikel bietet eine Einführung in die verschiedene Modi.
In der gesamten GRUB-2-Shell und damit in allen Modi steht nur eine amerikanische Tastaturbelegung zur Verfügung.
Normalerweise startet GRUB 2 im Auswahlmenü-Modus (= "Menu Mode"), wobei das Auswahlmenü standardmäßig vor dem Benutzer verborgen bleibt, sofern sich nur ein einziges Betriebssystem auf dem Rechner befindet oder GRUB 2 bei der Installation keine anderen Betriebssystem erkannt hat. GRUB 2 startet dann einfach das System ohne das Menü anzuzeigen.
Man kann die Anzeige des Auswahlmenüs aber auch in einem solchen Fall durch Drücken der Shift-Taste ⇧ während des Startvorgangs des Rechners erzwingen. Dazu direkt nach dem BIOS die Shift-Taste drücken und gedrückt halten bis das Menü erscheint.
Folgende Tasten-Kombinationen können im Auswahlmenü verwendet werden:
Taste | Funktion |
↓ ↑ Pfeil-Ab-Auf-Tasten | Menü-Eintrag hervorheben. |
⏎ Eingabetaste | Hervorgehobenen Menü-Eintrag starten. |
E E-Taste | Für den ausgewählten Menü-Eintrag in den Bearbeitungs-Modus wechseln. |
C C-Taste | In die Kommandozeile wechseln. |
Strg + Alt + Entf Strg+Alt+Entf | Das System Neustarten. |
Obige Tastenbefehle für E , C sowie ⏎ können durch das Einbringen eine Passwort-Schutzes gesperrt werden. Zur Einrichtung eines Passwort-Schutzes siehe:
Im Auswahlmenü-Modus einfach den gewünschten Eintrag durch Drücken der Ab-Auf-Tasten ↓ ↑ auswählen und dann durch Drücken der Eingabetaste ⏎ starten. Startet das System nicht und fällt wieder zurück in das Auswahlmenü, dann den Eintrag im Bearbeitungs-Modus überprüfen und temporär korrigieren.
Der Menü-Bearbeitungs-Modus (= "Edit Mode"), welchen man aus dem Auswahlmenü durch Drücken der E-Taste E erreicht, erlaubt es einen bestehenden Menü-Eintrag zu bearbeiten und einmalig für den Systemstart zu korrigieren. Da ein falscher Menü-Eintrag in der Regel zum Auswahl-Menü zurückführt, kann man mit Hilfe des Bearbeitungs-Modus im Zweifel solange an einem Menü-Eintrag herumprobieren, bis er das System startet.
Erfolgversprechender ist es natürlich, wenn man die Startumgebung zuvor in der Kommandozeile analysiert und den fehlerhaften Eintrag dann gezielt korrigiert.
Hat man das System durch Bearbeitung eines Menü-Eintrages erfolgreich gestartet, so muss die Menü-Konfiguration im laufenden System dauerhaft angepasst werden.
Der Bearbeitungs-Modus ist immer nur aus dem Auswahlmenü heraus aufrufbar und wird von GRUB 2 nicht automatisch geladen.
Von den Einschränkungen, die sich aus der Tastaturbelegung ergeben abgesehen, stehen im Bearbeitungs-Modus alle wesentlichen Tasten zur Verfügung. Folgende Tasten sind dabei besonders hervorzuheben:
Taste | Funktion |
↓ ↑ Pfeil-Ab-Auf-Tasten | Die Eingabemarke ( Cursor) um eine Zeile nach unten oder oben bewegen. |
→ ← Pfeil-Rechts-Links-Tasten | Die Eingabemarke um ein Zeichen nach links oder rechts bewegen. |
Tab ⇆ Tabulatortaste | Zeigt durch ein und mehrmaliges Drücken die mögliche Fortsetzung einer Pfadangabe an. Das ist sehr nützlich um Pfadangaben korrekt angeben zu können. |
Strg + X Strg+X-Taste | Das System unter Verwendung des bearbeiteten Menü-Eintrages starten. |
Strg + C Strg+C-Taste | In die Kommandozeile wechseln. |
Esc Escape-Taste | Bearbeitungs-Modus verlassen und zum Menü-Modus zurückkehren. |
Strg + Alt + Entf Strg+Alt+Entf | Das System Neustarten. |
Hat man den Menü-Eintrag wie gewünscht angepasst, so kann man das System durch Drücken der Tastenkombination Strg+X Strg + X starten. Ist der Eintrag noch fehlerhaft, kehrt GRUB 2 in den Bearbeitungs-Modus für den entsprechenden Menü-Eintrag zurück und setzt die Eingabemarke in die noch fehlerhafte Zeile. Dies geschieht teilweise auch erst nach Ausgabe einer Fehlermeldung und Drücken einer beliebigen Taste.
Die Kommandozeile (= "Command Line Interface" oder "CLI-Mode") ist das Kernstück der GRUB-2-Shell. Mit ihr kann das System Schritt für Schritt analysiert und gestartet werden. Auch die vorkonfigurierten Menü-Einträge werden von ihr nach Auswahl in der aufgeführten Reihenfolge Zeile für Zeile abgearbeitet. Sie ist in ihrer Funktion mit der Bash vergleichbar, bietet aber eben nur die für einen Systemstart wichtigen Befehle und Analysefunktionen.
Die Kommandozeile erreicht man aus dem Auswahlmenü durch Drücken der C-Taste C . Außerdem landet man bei einem Systemstart automatisch in der Kommandozeile, wenn GRUB 2 die Konfigurationsdatei grub.cfg nicht finden oder verarbeiten kann.
Von den Einschränkungen, die sich aus der Tastaturbelegung ergeben abgesehen, stehen in der Kommandozeile alle wesentlichen Tasten zur Verfügung. Folgende Tasten sind dabei besonders hervorzuheben:
Taste | Funktion |
↑ ↓ Pfeil-Auf-Ab-Tasten | Durch die Historie bereits zur Laufzeit eingegebener Befehle blättern. |
→ ← Pfeil-Rechts-Links-Tasten | Die Eingabemarke um ein Zeichen nach links oder rechts bewegen. |
Tab ⇆ Tabulatortaste | Zeigt nach Drücken alle möglichen Fortsetzung des eingegebenen Befehls oder Befehlsteils an. Diese Funktion unterstützt je nach verwendeten Befehl bereits eine Basis-Analyse, verhindert aber vor allem syntaktische Fehler bei der Befehlseingabe. |
Esc Escape-Taste | Kommandozeile verlassen und zum Menü-Modus zurückkehren. Dies ist natürlich nur möglich, sofern die Kommandozeile anfangs manuell aus dem Auswahl-Menü aufgerufen wurde. |
Eingabe von help +
⏎ Eingabe-Taste | Zeigt die Liste verfügbarer GRUB 2-Befehle. |
Strg + Alt + Entf Strg+Alt+Entf | Das System Neustarten. |
Wie man die GRUB 2 Umgebung mit Hilfe der Kommandozeile untersuchen kann, beschreibt der Artikel GRUB 2 Umgebung analysieren.
Als Herzstück von GRUB 2 bietet die Kommandozeile dem Benutzer alle für den Systemstart wichtigen Befehle. Die Befehle, die man in der Kommandozeile einzeln, nacheinander eingeben muss sind die selben, wie sie auch in der Konfigurationsdatei verwendet werden.
Da die Eingaben in der Kommandozeile aber nicht dauerhaft gelten, sondern nur einmalig für den entsprechenden Systemstart(versuch), kann man sich auf die nötigsten Angaben beschränken. Anders als bei einer Konfigurationsdatei die einmalig erstellt wird, müssen die Befehle nicht so gestaltet werden, dass sie spätere Veränderungen am System von vornherein berücksichtigen.
Der Systemstart aus der Kommandozeile erfolgt nach einem denkbar einfachen Schema:
Zunächst muss GRUB mitgeteilt werden, auf welchen Datenträger sich die Startdateien des zu startenden Betriebssystems befinden. Diese Angabe wird der Variablen root
zugewiesen.
Danach gibt man den genauen Pfad zu den Startdateien des Betriebssystems an. Sofern GRUB diese nicht direkt laden kann - wie es z.B. für Windows der Fall ist - fordert man GRUB einfach auf, den ersten Sektor des zuvor festgelegten Startdatenträgers zu laden. Dieser Sektor enthält dann das Boot-Programm, des fremden Betriebssystems.
Abschließend weißt man GRUB durch den Befehl boot
an, das System mit den zuvor festgelegten Angaben zu starten.
Es müssen der Reihe nach die folgenden Befehle eingegeben werden:
Start-Datenträger festlegen:
set root=(hdX,Y)
Falls der Home-Ordner auf eine eigene Partition ausgelagert ist muss dieses eingebunden werden:
set home=(hdX,Y)
hdX,Y
muss dem eigenen System entsprechend ersetzt werden.
Pfad zu den Startdateien angeben:
linux /vmlinuz root=/dev/sdXY ro
sdXY
muss dabei natürlich auch auf das eigene System angepasst werden.
Pfad zur Ramdisk:
initrd /initrd.img
System starten:
boot
Tipps zu diesem Beispiel:
Tipp1: Auch, wenn man beim obigen set root= etwas wie
set root=(hd0,1)
angegeben hat, verarbeitet der Linux-Befehl auch die klassische Notation für Devices, also z.B.:
linux /pfad-zum-linux-image root=/dev/sda1 ro
Tipp 2: Bei einem normal installierten Lucid Lynx liegt der Kernel unter /boot/vmlinuz-*
. In Grub funktioniert auch "Tab" zur Dateinamenexpansion, d.h. man kann sich bis zu der richtigen Datei "durchhangeln", ohne den exakten Namen zu wissen. Das initrd.img
-Image liegt ebenfalls unter /boot
.
Die folgenden Kommandos müssen der Reihe nach eingegeben werden:
Startdatenträger festlegen:
set root=(hdX,Y)
hdX,Y
muss dem eigenen System entsprechend ersetzt werden.
Startdatenträger als ersten Datenträger im System erscheinen lassen:
drivemap -s (hd0) ${root}
Den ersten Sektor des Startdatenträgers laden lassen:
chainloader +1
System starten:
boot
Der 2. Schritt ist hier nur optional. Er muss nur für Windows XP oder ältere Windows Versionen angegeben werden.
Startet GRUB 2 das System automatisch mit der Kommandozeile, so ist das zunächst zwar ein Ärgernis liefert aber gleichzeitig schon einen Anhaltspunkt für die Ursache dieses Erscheinungsbildes. Der einzige Unterschied zwischen dem Auswahlmenü-Modus und der Kommandozeile besteht darin, dass bei ersterem die Datei grub.cfg richtig verarbeitet werden konnte. Mögliche Gründe für das Scheitern der Verarbeitung sind:
Die Datei ist gar nicht vorhanden.
Die Datei ist vorhanden, aber beschädigt.
Die Datei enthält grobe syntaktische Fehler, so dass GRUB 2 die Verarbeitung abbricht.
Die Datei grub.cfg ist zwar vorhanden, wird von GRUB 2 aber nicht gefunden, weil die GRUB-2-Umgebungsvariable prefix
auf ein nicht gültiges Verzeichnis /grub verweist.
Der Rettungs-Modus (= "Rescue Mode") ist eine stark eingeschränkte Form der GRUB-2-Kommandozeile. Er bietet nur wenige ganz grundlegende Befehle und keinerlei Komfort-Funktionen, wie das Ergänzen von Eingaben mittels Tabulatortaste oder das Blättern in der Historie bereits eingegebener Befehle (siehe zum Vergleich Kommandozeile).
Trotzdem kann man das System auch sehr häufig noch aus dem Rettungsmodus heraus starten. Das ist vor allem dann geboten, wenn man das System nicht anderweitig starten kann, weil gerade kein anderes Startmedium zur Verfügung steht.
Das Auftreten des Rettungs-Modus deutet stets daraufhin, dass etwas mit der Installation von GRUB 2 grundlegend nicht stimmt, weswegen GRUB 2 dann immer neu installiert werden muss. Man kann also in einem solchen Fall das System alternativ auch gleich mit einer Desktop-CD starten und dann GRUB 2 direkt neu installieren, wobei dabei unbedingt nach der chroot-Methode vorgegangen werden muss.
Da der Befehlsumfang im Rettungsmodus deutlich reduziert ist, gestaltet sich die Analyse hier deutlich umständlicher. Man kann einzig mit dem Befehl ls Verzeichnis-Inhalte auflisten lassen und so dann manuell nach den richtigen Datenträgern und Verzeichnissen suchen. Hat man keinen richtigen Überblick über das eigene System, sollte man bevorzugt auf die Super-GRUB2-Disk zurückgreifen.
Zunächst verschafft man sich einen Überblick über die von GRUB 2 erkannten Datenträger:
ls
Außerdem müssen die Umgebungsvariablen prefix
und root
überprüft werden, da sie häufig den Start im Rettungsmodus verursachen können - z.B. nach dem das System umpartitioniert wurde ohne GRUB 2 anschließend neu zu installieren:
set
Gegebenenfalls prefix
set prefix=(hdX,Y)/boot/grub
und root
¹
set root=(hdX,Y)
der aktuellen System-Situation entsprechend anpassen.
Die nachfolgenden Befehle setzen voraus, dass prefix
und root
richtig gesetzt wurden, weil es andernfalls zu Fehlermeldungen bezüglich des Pfades kommt. Insbesondere die Variable prefix
ist zwingend erforderlich. Ist sie nicht oder nicht richtig gesetzt, so funktionieren die nachfolgenden Befehle unter Umständen nicht einmal dann, wenn man sie unter Verwendung des vollständigen Pfades eingibt!
Die Anpassungen noch mal überprüfen:
set
Zunächst probiert man, das Modul normal.mod aus dem grub-Verzeichnis zu laden:
insmod normal
Kommt es beim Laden des Moduls zu einer Fehlermeldung, so setzt man diese Anleitung mit Schritt 8 fort.
Konnte das Modul normal.mod erfolgreich geladen werden, so versucht man, den normalen GRUB-2-Modus in Gang zu setzen:
normal
Misslingt die Ausführung des normalen Modus, so geht es mit dem nächsten Schritt weiter. Gegebenenfalls muss dazu der Rechner neu gestartet werden. Falls der Rechner normal starten sollte, muss schließlich noch Schritt 12 befolgt werden.
Das Modul linux.mod
aus dem unter prefix
angegebenen Verzeichnis nachladen:
insmod linux
Nun den zu startenden Kernel über den Symbolischen Link auswählen:¹
linux /vmlinuz root=/dev/sdXY ro
Dann den Pfad zur Ramdisk-Datei angeben
initrd /initrd.img
Schließlich das System starten:
boot
Nach erfolgreichem Systemstart muss GRUB 2 im laufenden System unbedingt neu installiert und anschließend die Datei grub.cfg neu erstellt werden (siehe Reparatur).
¹ Handelt es sich um ein Wubi-Installation innerhalb von Windows so müssen die Kommandos aus den Schritten 4 und 9 wie folgt angepasst werden:
set root=(loop0)
linux /vmlinuz root=/dev/sdXY loop=/ubuntu/disks/root.disk ro
Gelingt der Systemstart aus dem Rettungsmodus heraus nicht, dann muss GRUB 2 mittels Desktop-CD neu installiert werden.
In den Rettungs-Modus fällt GRUB 2 automatisch zurück, wenn GRUB 2 keinen oder keinen vollständigen Zugriff auf das Verzeichnis /boot/grub oder die darin für das Ausführen der Kommandozeile notwendigen Module - insbesondere das Modul normal.mod - hat. Sein Erscheinen deutet stets auf Probleme bei der Installation von GRUB 2 hin. Das kann folgende Ursachen haben:
Die Module sind aufgrund einer fehlerhaften GRUB-2-Paketinstallation gar nicht im Verzeichnis /grub abgelegt oder wurden beschädigt abgelegt.
Die Variable prefix
, die bei der Installation von GRUB 2 in den MBR und den verborgenen Bereich im Anschluss an den MBR dort hinterlegt wird und die den Pfad zum /grub-Verzeichnis mit den dort enthaltenen Modulen enthält einen falschen Pfad.
GRUB kann das Dateisystem der Partition auf der das Verzeichnis /grub liegt nicht lesen.
Die Grundinstallation in den MBR hat zwar funktioniert, der dort geschriebene Code enthält aber Fehler, so dass ein Auslesen der Variablen prefix
und/oder root
aufgrund von Fehlfunktionen nicht möglich ist.
Mit der Super-GRUB2-Disk kann man ein nicht mehr über den internen GRUB startendes System starten. Sie bietet eine GRUB 2 Shell, die von CD startet. Hinter den vorkonfigurierten Auswahlmenü-Einträgen der Super GRUB2 Disk, verbergen sich Skripte, die einem weitestgehend die System-Analyse abnehmen. So finden sie auf dem betreffenden Computer installierte Betriebssysteme oder aber dort liegende GRUB 2 Konfigurations-Dateien und so kann dann schließlich das System doch noch gestartet werden.
Die nachfolgenden Erklärungen beziehen sich auf das Auswahlmenü der Version 1.30 der Super-GRUB-Disk. Hinter dem #
befindet sich die deutsche Übersetzung:
1. Boot Ubuntu Gnu/Linux #Starte Ubuntu Gnu/Linux 2. Detect any OS #Finde irgend ein Betriebssystem 3. Detect any GRUB2 configuration file (grub.cfg) #Finde irgend eine Datei grub.cfg 4. Detect any GRUB2 installation (even if mbr is overwritten) #Finde irgend eine GRUB2-Installation (auch dann wenn der MBR überschrieben wurde) 5. Enable grub's LVM support #Aktiviere die LVM-Unterstützung 6. Enable grub's RAID support #Aktiviere die RAID-Unterstützung 7. Switch to serial terminal (Disables keyboard input and screen output) #Starte eine serielle Konsole (Deaktivert Tastatureingaben und Bildschirmausgaben)
Die Punkte erklären sich weitestgehend von selbst. In der Regel kann man über die Auswahl einer der ersten vier Optionen das System starten. Die Option 7 ist nur für die GRUB 2 Fehlerdiagnose ( Debugging) vorgesehen .
Innerhalb von ubuntuusers.de wird keine Unterstützung zu Problemen mit der Super-GRUB-Disk gegeben. Funktionieren die hier dargestellten Optionen also nicht, dann bitte dazu im Super-GRUB-Disk-Forum nachfragen.
Diese Revision wurde am 3. August 2016 07:18 von frustschieber erstellt.