Ich habe ein Multiboot-System eingerichtet. Das System verfügt über drei Laufwerke. Multiboot ist mit Windows XP, Windows 7 und Ubuntu konfiguriert - alles auf dem ersten Laufwerk. Ich hatte viel nicht partitionierten Speicherplatz auf dem Laufwerk und reservierte ihn für das Hinzufügen anderer Betriebssysteme und das Speichern von Dateien in der Zukunft.
Eines Tages habe ich den Partition Wizard heruntergeladen und eine logische NTFS-Partition in Windows 7 erstellt, wobei noch nicht partitionierter Speicherplatz übrig war. Alles hat gut funktioniert, bis ich den Computer ein paar Tage später neu startete.
Jetzt bekomme ich:
error: unknown filesystem.
grub rescue>
Zunächst war ich überrascht, keinen Hilfebefehl zu finden, indem ich versuchte:
help
, ?
, man
, --help
, -h
, bash
, cmd
, Usw.
Jetzt stecke ich mit nicht bootfähigem System fest. Ich habe begonnen, das Problem zu untersuchen und herauszufinden, dass die Leute normalerweise empfehlen, von einer Live-CD zu booten und das Problem von dort aus zu beheben. Gibt es eine Möglichkeit, dieses Problem aus der Grub-Rettung heraus zu beheben, ohne dass eine Live-CD erforderlich ist?
AKTUALISIEREN
Durch Befolgen der Schritte von Persist-Befehlen, die in GRUB rescue eingegeben wurden , konnte ich zur initramfs-Eingabeaufforderung booten. Aber nirgendwo weiter.
Bisher habe ich das Handbuch zur Rettung von Grubs nicht gelesen, sondern konnte meine Laufwerke und Partitionen mithilfe von Befehlen anzeigen ls
. Für die erste Festplatte sehe ich Folgendes:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)
Ich weiß jetzt, dass (hd0, msdos6) Linux darauf enthält, da ls (hd0,msdos6)/
Verzeichnisse aufgelistet sind. Andere geben "Fehler: unbekanntes Dateisystem".
UPDATE 2
Nach den folgenden Befehlen komme ich nun in das Boot-Menü und kann in Windows 7 und Ubuntu booten, aber nach dem Neustart muss ich diese Schritte wiederholen.
ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal
UPDATE 3
Vielen Dank Shashank Singh, mit Ihren Anweisungen habe ich meine Schritte wie folgt vereinfacht. Ich habe von dir gelernt, dass ich msdos6 durch nur eine 6 ersetzen kann und dass ich es einfach tun kann, insmod normal
anstatt insmod /boot/grub/linux.mod
. Jetzt muss ich nur noch herausfinden, wie ich diese Einstellungen in grub selbst speichern kann, ohne ein Betriebssystem zu booten.
set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal
UPDATE 4
Nun, es scheint eine Voraussetzung zu sein, um Linux zu booten. Nach dem Booten von Ubuntu habe ich die folgenden im Handbuch beschriebenen Schritte ausgeführt :
sudo update-grub
sudo grub-install /dev/sda
Das Problem wurde dadurch nicht behoben. Ich bekomme immer noch die Grub Rescue-Aufforderung. Was muss ich tun, um das Problem dauerhaft zu beheben?
Ich habe auch gelernt, dass Laufwerksnummern wie in hd0 für einige Befehle in Laufwerksbuchstaben wie in / dev / sda übersetzt werden müssen. hd1 wäre sdb, hd2 wäre sdc und so weiter. In grub als (hd0, msdos6) aufgeführte Partitionen würden in / dev / sda6 übersetzt.
UPDATE 5
Ich konnte nicht herausfinden, warum die folgenden Probleme nicht behoben wurden:
sudo update-grub
sudo grub-install /dev/sda
Also habe ich Boot-Repair basierend auf einer Antwort von https://help.ubuntu.com/community/Boot-Repair nachgeladen. Das schien der Trick zu sein, nachdem ich die Option "Empfohlene Reparatur (repariert die häufigsten Probleme)" ausgewählt hatte.
Antworten:
Ich konnte nicht herausfinden, warum die folgenden Probleme nicht behoben wurden:
Also habe ich Boot-Repair basierend auf einer Antwort von Persist-Befehlen heruntergeladen, die in den GRUB-Rettungsposten eingegeben wurden . Das schien der Trick zu sein, nachdem ich die Option "Empfohlene Reparatur (repariert die häufigsten Probleme)" ausgewählt hatte.
Ich habe auch Grub Customizer verwendet , um die Reihenfolge der Starteinträge anzupassen.
quelle
/dev/sda1
)" einen falschen Eintrag ausgewählt hatte. während der Startzeit.Es gibt eine alternative Ursache für dieses Problem. In diesem speziellen Fall war GRUB irgendwie beschädigt und musste repariert oder neu installiert werden. Wie in Grub angezeigt, schlägt die Wiederherstellung mit "Boot Repair" mit dem Fehler "unknown file system" fehl. Es ist jedoch auch möglich, dass die Root-Partition, auf der GRUB installiert ist, beschädigt ist. Um dies zu beheben:
Dies ist eine mögliche Lösung, sollte jedoch nicht verwendet werden, damit Ihre Root-Partition nicht weiter beschädigt wird. Wenn Sie den Befehl
fsck -t ext4 /dev/sda1
ausführen, versucht dieses Programm, Fehler in einem beschädigten Dateisystem zu suchen und zu reparieren. Ersetzen Sie sda1 durch Ihre eigentliche Root-Partition. Ersetzen Sie ext4 durch das aktuelle Dateisystem. Sie müssen das Dateisystem kennen, sonst wird die Partition mehr beschädigt. Weitere Informationen finden Sie unter Reparieren eines beschädigten Dateisystems .Obwohl diese Frage eine Antwort hat, gibt es eine alternative Möglichkeit, das Problem zu beheben, das für mich funktioniert hat. Die Schritte werden im schmerzhaften Video Grub Rescue - Guide für Anfänger erklärt . Kurz gesagt, GRUB 2 wird neu installiert, anstatt es zu reparieren.
Da es so schmerzhaft ist, dieses Video anzuschauen, liste ich die folgenden Schritte auf (wie ich sollte, unabhängig davon, wie schmerzhaft es ist, das Video anzuschauen).
mount
Befehl, um den Namen der Partition zu finden.sudo mkdir /media/ubuntu
. Dann mounten Sie einfach Ihre Partition in diesen Ordner.sudo mount /dev/sdxx /media/ubuntu
woxx
vonsdxx
wird in Schritt 3 bestimmt.Binden Sie die folgenden Verzeichnisse aus dem Stammverzeichnis Ihrer Live-CD / USB an das Verzeichnis Ihres Stammverzeichnisses in Ihrer Ubuntu-Version. Die Verzeichnisse sind die
dev
proc
undsys
. Tun Sie dies mit den folgenden Befehlen:Ändern Sie das Stammverzeichnis in das auf Ihrer Ubuntu-Partition.
sudo chroot /media/ubuntu/
sudo grub-install /dev/sdx
Und so können Sie GRUB mit einer Live-CD / USB reparieren. Diese Methode wurde vom YouTube-Nutzer crazytechzone entwickelt.
quelle
Verwenden:
set prefix=(hdX,Y)/boot/grub
. Verwenden Sie die zuvor ermittelten Werte.Beispiel: Wenn das Ubuntu-System auf sda5 läuft, geben Sie Folgendes ein:
set prefix=(hd0,5)/boot/grub
set root=(hdX,Y)
. Beispiel:set root=(hd0,5)
insmod normal
. Versuchen Sie, das normale Modul zu laden.normal
Grundsätzlich muss GRUB wissen, wo sich der
/boot/grub
Ordner befindet. Wenn dies nicht funktioniert, ist eine GRUB-Installation von einer Boot-CD eine gute Option.quelle
Komisch, ich hatte vor einer Stunde auch das gleiche Problem!
Jedenfalls habe ich das getan.
Ubuntu laden:
seit wann ist dein ubuntu in 6 installiert oder?
Terminal ausführen:
quelle
Installieren Sie Boot-Repair in Ubuntu
Starten Sie Ihren Computer von einer Ubuntu-Live-CD oder einem Live-USB.
Wähle "Probiere Ubuntu aus"
Verbinden Sie das Internet
Öffnen Sie ein neues Terminal ( Ctrl+ Alt+ T) und geben Sie Folgendes ein:
Drücken Sie Enter.
Dann tippe:
Drücken Sie Enter.
Boot-Repair verwenden
Empfohlene Reparatur
Starten Sie Boot-Repair von entweder:
ein. Der Dash (das Ubuntu-Logo oben links auf dem Bildschirm)
b. Oder System-> Administration-> Boot-Repair-Menü (nur Ubuntu 10.04)
c. Oder indem Sie "boot-repair" in ein Terminal eingeben
Klicken Sie anschließend auf die Schaltfläche "Empfohlene Reparatur". Notieren Sie sich nach Abschluss der Reparatur die URL (paste.ubuntu.com/XXXXX), die auf einem Papier angegeben ist, starten Sie das System neu und überprüfen Sie, ob Sie den Zugriff auf Ihre Betriebssysteme wiederhergestellt haben.
Wenn die Reparatur nicht erfolgreich war, geben Sie die URL per E-Mail oder Forum an Personen weiter, die Ihnen helfen.
quelle
Eine weitere Ursache für das Problem ist, dass das Dateisystem auf dem Startlaufwerk in seltenen Fällen abstürzt. Wie in anderen Antworten erwähnt, verwende ich zunächst den
ls
Befehl, um alle Laufwerke / Partitionen in der GRUB-Rettungsaufforderung aufzulisten, aber alle melden einen unbekannten Dateisystemfehler . Ich habe das Problem unter Ubuntu 16.04 (Xenial Xerus) endlich behoben, indem ich das Dateisystem wie folgt wiederhergestellt habe:Booten von einem USB-Stick (Ubuntu ohne Installation ausprobieren)
Suchen Sie das Startlaufwerk (überprüfen Sie die Laufwerkskapazität oder führen Sie
fsck
auf jeder Partition die folgenden Schritte aus):Stellen Sie das Dateisystem wieder her:
Nachdem das Dateisystem repariert und sauber ist, starten Sie den Computer vom Startlaufwerk aus neu.
quelle