Wenn Ihre GRUB-Shells eine „grub>“-Eingabeaufforderung anzeigen, können Sie die verwenden ls
, set
, linux
Und initrd
Befehle zum Reparieren Ihres Linux-Systems. Wenn Sie stattdessen die Eingabeaufforderung „Grub Rescue>“ sehen, verwenden Sie set
, insmod
, linux
Und initrd
Befehle zum Booten Ihres PCs.
Wenn Ihr Linux-Computer sein Betriebssystem nicht starten kann, werden Sie wahrscheinlich auf eine Eingabeaufforderung in der GRUB-Shell starren. Befolgen Sie diese Schritte, um Ihre defekten Boot-Prozesse zu reparieren.
Wenn Ihr Bootloader nicht startet
Es gibt nur sehr wenige Computerprobleme, die einem so tief ins Herz fallen wie das Scheitern Stiefel. Ohne ein funktionierendes Betriebssystem ist Ihr Computer kein wirklicher Computer.
Es kann sich um ein sehr undurchsichtiges Problem handeln, bei dem es keine einfache Möglichkeit gibt, der Ursache auf den Grund zu gehen. Ohne Zugriff auf Linux können Sie keine der üblichen Diagnosetools und -prozesse verwenden, die Sie zur Untersuchung des Problems verwenden würden. Und ohne herauszufinden, wo das Problem liegt, wie können Sie es beheben?
Unter Linux, RODEN ist die Software, die den Bootvorgang steuert. Wenn Sie mehrere Betriebssysteme installiert haben, können Sie das Betriebssystem auswählen, mit dem Sie booten möchten.
GRUB wird durch seine Konfiguration gesteuert. Um seine Funktionen auszuführen, ist es auch auf andere unterstützende Dateien angewiesen. Wenn eines davon fehlt oder beschädigt ist, funktioniert GRUB nicht. Änderungen an den Festplatten und Partitionen Ihres Computers müssen in der GRUB-Konfiguration berücksichtigt werden. Ist dies nicht der Fall, ergeben die Anweisungen von GRUB keinen Sinn und Ihr Bootvorgang funktioniert nicht.
Nebenbei bemerkt, das, was wir alle GRUB nennen, ist eigentlich GRUB 2. Dabei handelt es sich um eine erweiterte Version von GRUB, die bereits 2012 veröffentlicht wurde. Neben anderen Änderungen hat sie die Art und Weise geändert, wie die Datei „grub.cfg“ erstellt wurde, und ermöglicht es Ihnen Booten Sie von einem Wechselmedium.
Wenn GRUB ein Betriebssystem nicht laden kann, wird in der GRUB-Shell eine Eingabeaufforderung angezeigt. Dies ist eine minimalistische Umgebung, in der Sie eine Handvoll Aktionen ausführen können. Bei richtiger Ausführung können diese Schritte Ihren Computer jedoch wieder zum Leben erwecken.
Es gibt zwei verschiedene GRUB-Shells. Abhängig von der Grundursache des Problems werden Sie möglicherweise an einer GRUB-Shell-Eingabeaufforderung angezeigt:
grub>
oder bei einem GRUB Rettung Shell-Eingabeaufforderung:
grub rescue>
Die GRUB-Rettungsshell ist noch eingeschränkter als die GRUB-Shell, bietet aber immer noch genug Leistung, um Ihren Computer zum Booten zu bringen. Sobald Ihr Computer hochgefahren ist, können Sie die Grundursache viel besser beheben.
Verwenden der GRUB-Shell
Die GRUB-Shell ist eine Befehlszeilenschnittstelle, mit der Sie eine kleine Teilmenge von Linux-Befehlen verwenden können. Wenn Sie sich hier und nicht auf Ihrem üblichen Anmeldebildschirm befinden, bedeutet das, dass Ihr Startvorgang durcheinander ist.
Die Befehle, auf die Sie Zugriff haben, sind nicht die gleichen wie bei den üblichen Linux-Versionen. Zum Beispiel die GRUB-Shell ls
Befehl ist nicht der Bash ls
Befehl. Es hat damit sehr wenig gemeinsam. Wir können dies sehen, indem wir die verwenden --help
Möglichkeit.
ls --help
Es werden nur fünf Optionen aufgeführt. Das ist weit davon entfernt Dutzende von Optionen werden unterstützt von ls
in Bash. Dennoch können wir die Situation trotz unserer etwas gedämpften Befehlspalette noch verbessern.
Geben Sie an der Eingabeaufforderung Folgendes ein: ls
und drücken Sie „Enter“.
ls
Auf diesem Computer werden drei Elemente aufgelistet.
- (hd0) ist die erste Festplatte.
- (hd0,gpt1) ist die erste Partition auf der ersten Festplatte.
- (hd0,gpt2) ist die zweite Partition auf der ersten Festplatte.
Die Bezeichnung „gpt“ steht für GUID-Partitionstabelle. Wir müssen die Klammern einfügen „()
” wenn wir auf eine Partition verweisen, aber wir können die Bezeichnung weglassen.
Um die Partitionen der Reihe nach zu betrachten, verwenden wir ls
.
ls (hd0,1)
ls (hd0,2)
Wir haben festgestellt, dass sich auf der zweiten Partition ein Linux-Dateisystem befindet. Wir werden die Sache etwas genauer untersuchen, indem wir uns das Stammverzeichnis dieser Partition ansehen.
ls (hd0,2)/
Dies ist eindeutig die Linux-Partition mit dem Boot-Verzeichnis darauf. Hier werden die GRUB-Dateien, Linux-Boot-Images und andere Boot-Dateien gespeichert.
Auf diesem Computer müssen wir auf die Partition verweisen (hd0,2)
wenn wir unsere Befehle erteilen. Auf Ihrem Computer würden Sie die Partition verwenden, auf der Sie Ihre Linux-Installation finden.
Wir können das nutzen cat
Befehl zum Durchsuchen von Textdateien, indem der Verzeichnispfad und der Dateiname an den Partitionsnamen angehängt werden, wie folgt:
cat (hd0,2)/etc/issue
Bei Multi-Boot-Installationen ist dies eine nützliche Methode, um zu überprüfen, ob Sie sich auf der richtigen Partition befinden. Es eignet sich auch hervorragend für den Blick in Konfigurationsdateien.
Hier verwenden wir die ls
Befehl mit dem -l
(lang und -h
(für Menschen lesbare Größen) Optionen zum Auflisten der Dateien im Verzeichnis „/boot“.
ls -lh (hd0,2)/boot
Um diesen Computer zum Booten zu bringen, müssen wir GRUB mitteilen, dass unsere neu entdeckte Linux-Partition die Bootdateien enthält.
set root=(hd0,2)
Wir müssen angeben, von welchem Linux-Kernel gebootet werden soll. Wir machen das mit dem linux
Befehl. Beachten Sie, dass wir auch das Stammverzeichnis mithilfe des üblichen Linux-Festplatten- und Partitionsbenennungsschemas bereitstellen müssen.
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
Auf unserem Beispielcomputer verwenden wir (hd0)
Das ist die erste Festplatte. Das nennt man sda
in der üblichen Linux-Nomenklatur. Wir haben festgestellt, dass die zweite Partition die Linux-Partition ist, daher müssen wir sie angeben sda2
.
Ihre Maschine könnte anders sein. Wenn Ihre Linux-Partition beispielsweise als gemeldet wird (hd2,1)
das bedeutet Partition eins auf der dritten Festplatte, oder sdc1
.
Wir müssen auch angeben, welches RAM-basierte Dateisystem-Image beim Booten des Computers verwendet werden soll. Dieser muss dieselbe numerische Komponente verwenden wie der von uns verwendete Linux-Kernel.
initrd /boot/initrd.img-6.2.0-20-generic
Um nun unser System zu starten, geben Sie „boot“ ein und drücken Sie „Enter“.
Dadurch sollte Ihr Computer unter Linux gestartet werden. Das hat uns wieder zum Laufen gebracht, aber wir müssen GRUB noch reparieren, damit wir dies nicht jedes Mal tun müssen, wenn wir unseren Computer starten.
Wir werden rennen update-grub
. Dadurch wird unser System gescannt, Betriebssysteme identifiziert und eine neue GRUB-Konfiguration erstellt. Wir müssen dies als Root-Benutzer ausführen.
sudo update-grub
In seltenen Fällen müssen Sie möglicherweise auch den GRUB-Bootloader neu installieren grub-install
.
sudo grub-install /dev/sda
Beachten Sie, dass Sie nicht angeben müssen, auf welcher Partition die Installation erfolgen soll, sondern nur auf dem Laufwerk. Bei normalen Installationen ist es dasselbe Laufwerk, auf dem sich Ihr Linux befindet.
Der Beweis für den Pudding kommt mit dem nächsten Neustart. Ihr Computer sollte normal neu starten.
VERWANDT: So konfigurieren Sie die Einstellungen des GRUB2-Bootloaders
Verwenden der GRUB Rescue Shell
Abhängig von der Art des Startproblems werden Sie möglicherweise nicht in die GRUB-Shell weitergeleitet. Möglicherweise bleiben Sie im GRUB Rettung Modus. In diesem Fall sieht Ihre Eingabeaufforderung folgendermaßen aus:
grub rescue>
Die Befehle, die wir in dieser Shell ausgeben müssen, sind unterschiedlich. Wir müssen es nutzen ls
um die Linux-Partition zu finden, als ob Sie die GRUB-Shell verwenden würden. Nachdem Sie die Linux-Partition identifiziert haben, können Sie mit der Eingabe dieser Befehle fortfahren.
Denken Sie daran, die für Ihren Computer korrekten Laufwerkskennungen und Kernel-Versionsnummern zu verwenden. Der insmod
Der Befehl lädt Kernelmodule.
set prefix=(hd0,2)/boot/grub
set root=(hd0,2)
insmod normal
insmod linux
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-generic
Anschließend können Sie „boot“ eingeben und die Eingabetaste drücken, um Ihren Computer neu zu starten. Sobald es neu gestartet wurde und Sie sich angemeldet haben, aktualisieren Sie GRUB mit update-grub
Befehl.
Andere mögliche Abhilfemaßnahmen
Wenn sich herausstellt, dass das Problem darin besteht, dass Startdateien wie die Dateien „vmlinuz“ und „initrd.img“ fehlen, können Sie Ihren Computer von einer Live-DVD oder starten Starten Sie ein bootfähiges Linux-USB-Flash-Laufwerk und kopieren Sie die fehlenden Dateien an ihren Platz.
Beachten Sie, dass die Dateien „vmlinuz“ und „initrd.img“. muss haben die gleichen Versionsnummern, da sie als übereinstimmendes Paar funktionieren.
VERWANDT: So erstellen Sie einen bootfähigen Linux Live USB auf Ihrem Mac