GRUB-Fehler: unbekanntes Dateisystem

3

Ich ersetzte mein altes Laptop-Laufwerk, das win7 und Ubuntu Dual Boot war, durch eine SSD.

Jetzt habe ich das alte Laufwerk über einen USB-Adapter angeschlossen und möchte von dort booten.

Aber das kommt auf:

unknown filesystem
grub rescue>

Da ich die Programme vom alten Laufwerk benötige, muss ich von Zeit zu Zeit von dort booten und ich möchte diese Software nicht auf dem neuen Laufwerk installieren. Der Austausch der Laufwerke dauert so lange, dass ich von USB booten möchte.

Wie kann ich das beheben?

Ali
quelle
Sie können es bei Bedarf virtualisieren, um beim Neustart und dergleichen Zeit zu sparen. VirtualBox unterstützt seit einiger Zeit das Booten von physischer Hardware, ebenso wie QEMU. Siehe diese SF-Frage .
new123456
Ich habe derzeit ein ähnliches Problem. Ich hatte einen Dual-Boot von F18 und Windows8. Ich habe die F18-Partition gelöscht und dabei den MBR völlig vergessen, und jetzt bin ich bei der grub rescueEingabeaufforderung festgefahren . Ich bin nicht sicher, wie ich vorgehen soll, wenn ich insmoddie Fehlermeldung erhalte unkown filesystem.
Piperchester
1
@PolyShell: Du willst Fedora (?) Loswerden, oder? Sollte es dann nicht ausreichen, den MBR mit Windows neu zu schreiben? Es gibt ein Tutorial unter mywindows8.org/fix-mbr-in-windows-8
mpy
@mpy Ja das ist das Ziel; Ich kann jedoch nicht auf meinen Windows-Start zugreifen oder das System starten. Ich werde direkt zur grub rescueEingabeaufforderung weitergeleitet. Ich habe versucht, von einem USB-Stick zu booten, aber mein BIOS meldet, dass das Übertakten fehlgeschlagen ist, und ich werde zur grub rescueEingabeaufforderung weitergeleitet.
Piperchester
@PolyShell: Haben Sie Zugriff auf eine Windows 7/8-Boot-DVD?
mpy

Antworten:

1

Am zweckmäßigsten wäre es, ... das alte Laufwerk auf die SSD zu kopieren. Virtualisierung kann auch eine Möglichkeit sein, die USB-Festplatte in ein "rohes" Image umzuwandeln und im Vollbildmodus auszuführen (dies funktioniert gut mit USB3).

Ansonsten musst du von grub booten. Sie können dazu einen Menüeintrag hinzufügen, wenn Sie das überhaupt können.

Polyshell-Problem

Um Folgendes zu testen, habe ich Windows 7 Home Premium (ich hatte leider keine andere Lizenz) als einzelnes Betriebssystem installiert.

Dann (ab Windows 7) habe ich die Partition verkleinert, um genügend Speicherplatz für Fedora 18 freizugeben.

Zu diesem Zeitpunkt habe ich von der Fedora 18-DVD (Desktop, Xfce) gebootet und auf der Festplatte installiert. Das Installationsprogramm hat "viel Platz für die Installation von Fedora gefunden!", Ich habe die automatische Partitionierung verwendet und standardmäßig Dual Boot verwendet.

Beide Systeme wurden ordnungsgemäß gestartet.

Zu diesem Zeitpunkt habe ich die F18-Partition (unter Windows) gelöscht und den freien Speicherplatz formatiert.

Beim Neustart bekam ich:

GRUB loading.
Welcome to GRUB!

error: unknown filesystem.
Entering rescue mode...
grub rescue> _

Laufen

ls

Ich habe drei Windows-Partitionen gefunden ( die erste wurde von Windows 7 erstellt und ist eine 100-MB-Dienstpartition. Ich weiß nicht, ob boot msdos1 oder msdos2 sein soll. Die von mir erstellte Partition ist jetzt msdos3. )

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (fd0)

Die Linux-Partition, auf der sich der erforderliche GRUB2-Code befindet, geht also verloren . Und Grub2 kann anscheinend nicht "blind booten" (dh Chainload zum Bootloader auf einer vorhandenen Partition auf Sektorebene). Jetzt brauchen wir die ursprünglichen GRUB2-Dateien, um etwas tun zu können. Das heißt, wir benötigen eine weitere GRUB2-Installation .

Von einem anderen Computer laden wir dieses Tool herunter, das in Wirklichkeit eine GRUB2-Wiederherstellungsinstallation ist: http://www.supergrubdisk.org/super-grub2-disk/ (es ist eine 12-MB-ISO) und speichern es auf einem bootfähigen USB-Stick oder auf eine CD brennen.

Und wir booten davon. Das Menü erscheint, wir gehen zu "Alle Betriebssysteme erkennen"; Es sollte die Windows-Partition sehen und in der Lage sein, darin zu booten.

Leider würde das vollständige Windows-Betriebssystem auch die Systemfestplatte sperren und deren Änderung verhindern. Daher müssen wir Windows starten und sofort F8 drücken , um den Wartungsmodus bei entsperrter Festplatte zu aktivieren.

Eine schnellere Möglichkeit zu diesem Zeitpunkt wäre natürlich, die ursprüngliche Windows-DVD beizubehalten oder einen Freund zum Brennen einer Windows-Wiederherstellungs-CD zu bewegen, von dieser anstelle der Grub2-Wiederherstellungs-CD zu booten und die folgenden Schritte auszuführen (für Windows 8, es gibt eine automatische Reparatur).

Sobald Sie im Windows 7-Startmenü waren, suchte der erste Menüpunkt ("Boot Repair", glaube ich - meine Installation war nicht englisch) automatisch nach Informationen, die den Start von Windows verhindern könnten ("Es gehen keine Daten oder Dokumente verloren") ). Mir wurde dann auch die Option angeboten, eine Systemwiederherstellung durchzuführen, die ich ablehnte: Das System ist in Ordnung, es ist der Bootloader, der wiederhergestellt werden muss und der sich nicht einmal in der Systemwiederherstellung befindet.

Nach einigen Minuten schlug die Boot Repair-Option kläglich fehl (ich hoffe, dass Windows 8 besser wird).

Also bootete ich erneut in den Grafikmodus und googelte nach bootsect.exe(die ersten beiden Links versuchten, mich zum Herunterladen von Spyware zu bringen - die gute Datei war ungefähr 95 KB groß ), lud sie auf die Festplatte herunter, startete mit F8 erneut in die Wiederherstellungstools und öffnete einen Befehl Prompt befinden ich die BOOTSECT.EXEbinär ich heruntergeladen hatte. Also rannte ich

BOOTSECT /nt60 SYS /mbr

und dann neu gestartet (nach dem Entfernen der Wiederherstellungs-CD).

Das System ist ohne Probleme in die ursprüngliche Benutzeroberfläche von Windows 7 eingetreten (mit Ausnahme einer langen Wartezeit am Anfang mit viel Festplattenaktivität, während CHKDSKes lautlos ausgeführt wurde, denke ich).

Booten von USB

Es ist nicht garantiert, dass dies funktioniert, da dies davon abhängt, wie das USB-Gerät beim GRUB-Start "gesehen" wird. Das Booten von USB über die BIOS-Eingabeaufforderung reicht möglicherweise nicht aus .

Zumindest muss der Grub-Loader modifiziert werden, denn als die USB-Festplatte hd0 war, "sah" sie sich selbst als hd0. Jetzt funktioniert es immer noch, aber hd0 ist jetzt eine andere Festplatte , also sucht Grub nach Dingen am falschen Ort.

Die obigen Befehle könnten noch funktionieren, außer dass es jetzt nicht hd0, sondern hd1, 2 ... und so weiter ist. Gar nicht garantiert. Aber Sie könnten Glück haben.

root (hd2,1)
chainloader +1
boot

Je nachdem, was sich auf der SSD befindet, müssen Sie möglicherweise viel komplizierter einrichten , die Festplatten auf BIOS-Ebene austauschen (Hardware-EFI-Unterstützung erforderlich) und möglicherweise sogar die SSD selbst ausblenden.

Als ersten Versuch würde ich versuchen, das Image auf dem USB-Mount-Punkt zu lokalisieren und das Image von dort aus zu booten, in der Hoffnung, dass USB wie folgt dargestellt wird hd2:

root (hd2,1)
find /                       <-- press "Tab"
kernel <path to kernel>
initrd <path to initrd>
boot 

Ein kleines Tutorial dazu finden Sie hier .

LSerni
quelle
Ich habe versucht mit chainloader +1, aber es wurde nicht erkannt:Unknown command 'chainloader'
Piperchester
Der Fall ist etwas schwieriger. Antwort wird
bearbeitet
Also habe ich die Super Grub2 Disk .iso heruntergeladen und auf eine DVD + RW gebrannt. Ich habe versucht, davon zu booten, aber kein Glück. Ich werde immer noch direkt zur grub rescue>Eingabeaufforderung weitergeleitet. Ich habe versucht, die Startoptionen meines Asus UEFI BIOS-Dienstprogramms zu durchsuchen, und es wird immer noch nur die Standard-Startoption für die Festplatte angezeigt. Ich glaube nicht, dass meine DVD erkannt wird, aber ich bin mir nicht sicher ...
Piperchester
Du bootest anscheinend nicht von der DVD, sonst grub rescuewürde die abgeschnitten. Ich erinnere mich anscheinend, dass Asus ein F2- oder ein F12-Startmenü zur Auswahl des Startgeräts hat ...?
LSerni
Wenn ich versuche, ein Startgerät auszuwählen, wird nur meine HDD-Startoption aufgelistet. Es gibt keine Möglichkeit, von einer DVD zu booten. Ich versuche jetzt jedoch, einen bootfähigen USB-Stick zu erstellen, und es gibt eine Option für den USB-Stick.
Piperchester
0

zuerst von iso in Ubuntu booten.

1.Lokalisieren Sie die Ubuntu-Partition und den Ordner mit den Grub-Modulen.

Der Grub-Ordner mit den Modulen muss sich befinden, damit die richtigen Module geladen werden können. Dieser Ordner wurde während der Erstinstallation von Ubuntu erstellt und sollte sich auf der Ubuntu-Partition befinden. Dieser Ordner befindet sich normalerweise entweder unter (hdX, Y) / boot / grub oder (hdX, Y) / usr / lib / grub / i386-pc. Suchen Sie Ihre vorhandene Ubuntu-Partition und den Modulordner.

ls                               # List the known drives (hdX) and partitions (hdX,Y)
ls (hdX,Y)/                      # List the contents of the partition's root
ls (hdX,Y)/boot/grub             # Normal location of the Grub 2 modules.
ls (hdX,Y)/usr/lib/grub/i386-pc  # Alternate location of the Grub 2 modules.
  • ls - sollte alle bekannten Laufwerke (hdX) und Partitionen (hdX, Y) zurückgeben
  • ls (hdX, Y) / - sollte den Inhalt des Stammverzeichnisses der Partition anzeigen.
  • Wenn Sie einen "Fehler: unbekanntes Dateisystem" erhalten, ist dies nicht Ihre Ubuntu-Partition.
  • Wenn dies die Ubuntu-Partition ist, werden die Ubuntu-Ordner angezeigt, einschließlich lost + found /, home /, boot / und vmlinuz sowie initrd.img. Verwenden Sie diese Adresse als ersten Teil des nächsten Befehls.
  • ls (hdX, Y) / boot / grub - sollte mehrere Dutzend * .mod-Dateien anzeigen. Dies ist der Ordner, den Sie suchen.
  • Wenn Sie die Module nicht finden, probieren Sie den alternativen Speicherort aus: ls (hdX, Y) / usr / lib / grub / i386-pc

2.Laden Sie die Module.

set prefix=(hdX,Y)/<path to modules>
  • Dieser Befehl muss korrekt auf den Ordner verweisen, der die Grub-Module enthält. Die Adresse sollte diejenige im vorherigen Abschnitt sein, die die Module anzeigt.

Beispiele:

set prefix=(hd0,5)/boot/grub 
set prefix=(hd1,1)/usr/lib/grub/i386-pc
  • Module laden:

    insmod linux insmod loopback insmod iso9660 insmod fat # Wenn ISO auf einer mit fat16 oder fat32 formatierten Partition liegt. insmod ntfs # Wenn sich ISO auf einer NTFS-formatierten Partition befindet. insmod nftscomp # Wenn auf der Partition NTFS-Komprimierung verwendet wird. Laden Sie, wenn Sie sich nicht sicher sind.

  • Ein Fehler "Datei nicht gefunden" bedeutet, dass der Pfad im Präfix falsch ist oder das bestimmte Modul nicht vorhanden ist. Die Präfixeinstellung kann mit dem Befehl set überprüft werden. Führen Sie den Befehl "set prefix =" mit dem richtigen Pfad erneut aus.

3.Suchen Sie die Ubuntu-ISO-Datei.

  • Suchen Sie mit den Kombinationen der ls-Befehle das Ubuntu-ISO-Image.

4.Erstellen Sie das Loopback-Gerät. Loopback-Schleife (HDX, Y) //

  • Beispiel:

    Loopback-Schleife (hd1,1) /path/to/ubuntu-10.04.1-desktop-i386.iso

5.Laden Sie den Linux-Kernel und das initrd-Image.

set root=(loop)

linux /casper/vmlinuz boot=casper iso-scan/filename=/<ISO-name.iso> noprompt noeject

initrd /casper/initrd.lz
  • Wenn der Pfad zur ISO oder zum Dateinamen nicht korrekt ist, wird der Startvorgang auf dem BusyBox-Bildschirm angehalten und die Meldung "/ dev / sr0 kann nicht geöffnet werden: Kein Medium gefunden" wird ausgegeben.
  • Hinweis: Wenn sich die ISO-Datei nicht im Ordner / befindet, geben Sie den Pfad im Eintrag iso-scan / filename = an. Siehe zweites Beispiel.

  • Beispiele:

    linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso
    
    linux /casper/vmlinuz boot=casper iso-scan/filename=/my-iso/ubuntu-10.04.1-desktop-i386.iso
    

6.Boot.

  • Das sollte es sein. Wenn die Befehle ohne Meldungen / Fehler ausgeführt wurden, wurden die Befehle wie eingegeben akzeptiert. Jetzt ist es Zeit zu booten:

Stiefel

Weitere Infos hier

Tun Sie dies jetzt nach dem Booten:

hier ist post mit dem gleichen problem und wird wie unten gelöst,

1.sudo mount / dev / sdaX / mnt

Hier sdaXist Ihre Boot-Partition. Sie können Liste mit sudo blkid wie folgt erhalten,

/dev/sda1: LABEL="Windows XP" UUID="96A4390DA438F0FB" TYPE="ntfs" 
/dev/sda3: LABEL="Ubuntu 11.04" UUID="b61fcae3-7744-45b4-95b9-7528d50a3652" TYPE="ext4" 
/dev/sda5: LABEL="Se7en" UUID="A2DC9D71DC9D4109" TYPE="ntfs" 
/dev/sda6: LABEL="Development" UUID="DEB455A1B4557CC9" TYPE="ntfs" 
/dev/sda7: LABEL="EXTRA" UUID="D8A04109A040F014" TYPE="ntfs" 
/dev/sda8: LABEL="SONG" UUID="46080FCD080FBAC7" TYPE="ntfs" 
/dev/sda9: LABEL="BACKUPS" UUID="766E-BC99" TYPE="vfat" 

Hinweis: sdaXMuss eine Linux-Partition sein.

2.sudo grub-install --boot-directory=/mnt/boot /dev/sda

3.sudo update-grub

mumair
quelle
-1

Sie können Ubuntu und Lilo verwenden, um den MBR auf diesem Laufwerk wiederherzustellen. Ich habe bei thenewtech.tv ein Tutorial dazu geschrieben

mx518
quelle
3
Ein vollständiger Link und einige Details wären für diese Antwort hilfreich.
James Jenkins
1
Alle Details sind im Tutorial beschrieben. thenewtech.tv/how-to/…
mx518