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.