Ich habe Windows 7 und Linux Ubuntu auf meinem Desktop doppelt gebootet und heute haben sie kostenlose Windows 10-Upgrades herausgegeben. Wie aufregend! Ich habe das Update bekommen und es wurde installiert und bin gegangen, um ein 30-minütiges Nickerchen zu machen. Als ich jedoch zu meinem Computer zurückkehrte, führte mich dies zur Aufforderung zur Rettung der Maden.
error: no such partition.
Entering rescue mode...
grub rescue>
Beim Tippen erhalte ich Folgendes ls
:
grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
Nach einem kurzen Blick durch die Leute, die auf die Aufforderung zur Rettung von Maden gestoßen waren, gab ich set
Folgendes ein und bekam Folgendes
grub rescue> set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6
Ich war immer noch irgendwie verloren, nachdem normal
ich festgestellt hatte , dass bestimmte Befehle wie nicht funktionierten, und dann fand ich ein Video-Tutorial, in dem Sie von einer Linux-Image-CD booten und einige Befehle auf dem Terminal ausführen. Zum Glück hatte ich meine CD dabei und bootete von dort. Als ich jedoch sudo fdisk -l
in das Terminal eintippte, bekam ich Folgendes:
ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc03ede74
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 1547022335 773407744 7 HPFS/NTFS/exFAT
/dev/sda3 1547022336 1547943935 460800 27 Hidden NTFS WinRE
/dev/sda4 1547945982 1953521663 202787841 f W95 Ext'd (LBA)
/dev/sda5 1915731968 1953521663 18894848 7 HPFS/NTFS/exFAT
Sagt hier, keines meiner Geräte hat das Linux-System in sich! Und ich konnte dem Video-Tutorial nicht mehr folgen ...
Ich neckte mein Gehirn ein wenig und stellte fest, dass sda2 mein Windows-System enthielt (da ich mich erinnere, dass mein C: -Laufwerk ungefähr 700 GB Speicherplatz hat). Nachdem ich ein wenig nachgedacht habe, erinnere ich mich, dass ich bei der Installation von Ubuntu etwa 200 GB Festplattenspeicher für etwas reserviert habe, das mit Ubuntu zu tun hat. Ich erinnere mich nicht genau an welche, aber ich denke, es war im Grunde genommen Ubuntus "Festplattenspeicher" und es waren keine Boot-Dateien darin. Ich habe zwei andere Dinge für Linux zugewiesen, aber sie waren sehr klein (die 1-GB-Marke wurde noch nicht überschritten).
Kann mir hier jemand helfen, mein Upgrade wieder in Gang zu bringen? Es würde mir nichts ausmachen, wenn ich die Partitionen, auf denen Linux installiert ist, komplett entfernen müsste.
quelle
/dev/sda5
oder(hd0,msdos5)
Partition nur noch 3505 Sektoren übrig , was nur 1,7 MB entspricht, sodass sich die Linux-Partition dort kaum verstecken könnte. Meine beste Vermutung wäre, dass der Linux-Partitionseintrag irgendwie an diesen Ort verschoben wurde (# 5 statt # 6) und dass sein Typ aus unerklärlichen Gründen geändert wurde. Das erste, was Sie versuchen sollten, warls (hd0,msdos5)/
die GRUB-Rettungsaufforderung.Antworten:
Auf meinem Computer war Windows 8 vorinstalliert, daher habe ich die Windows-Partition verkleinert, um Platz für Ubuntu zu schaffen. So hat es im letzten Jahr funktioniert. Nach dem zweiten Neustart in Windows 10 wurde der Computer nicht mehr gestartet. GRUB zeigte nur eine
grub rescue
Eingabeaufforderung an. Ich habe später herausgefunden, dass das Problem aufgetreten ist, weil Windows das Partitionsschema irgendwie geändert hat. Die Boot-Partition (mit normalen GRUB-Daten) befand sich nicht mehr dort, wo GRUB dies erwartet hatte. Ich weiß nicht wie und warum das passiert ist.Als erstes können Sie im Rettungsmodus die Partitionen mit dem
ls
Befehl anzeigen . Meine waren:Versuchen Sie herauszufinden, welche Partition Ihre Startpartition ist. Es gibt keine TabVervollständigung, Sie müssen es komplett ausschreiben. Ich habe die folgenden Befehle ausprobiert, bis ich die richtige Partition gefunden habe:
usw.
Geben Sie dann
set
die gleiche Eingabeaufforderung ein. Es wird angezeigt, wo GRUB nach seinen Dateien sucht. In meinem Fall ist (hd0, gpt6) auf (hd0, gpt7) umgezogen. Der gesetzte Befehl wird angezeigt:Um wieder zu normalem GRUB zurückzukehren, ändern Sie zunächst die
prefix
Einstellung so, dass sie auf die richtige Partition zeigt. In meinem Fall lautete der Befehl:Dann können Sie vom Rettungsmodus in den normalen Modus wechseln:
Man hätte die
root
Einstellung auch korrigieren können mit:Dies ist jedoch nicht unbedingt erforderlich, da es für Windows-Kettenladeeinträge keine Rolle spielt. Sobald Sie sich im normalen GRUB-Menü befinden, können Sie Windows starten und das Windows-Upgrade abschließen. Das Problem ist, dass Sie grub rescue bei jedem Neustart über die richtigen Partitionen informieren müssen. So habe ich es gemacht. Ich habe das Problem von GRUB für später aufgegeben, da ich nicht sicher war, ob Windows weitere Änderungen an den Partitionen oder am Start vornehmen würde.
Als Windows fertig war, fing ich an, GRUB-Probleme zu lösen. Drücken Sie
e
, um die Startoptionen für Ubuntu zu bearbeiten. Ich habe alles(hd0,gpt6)
auf geändert(hd0,gpt7)
und Ubuntu gebootet.Ich verwende jedoch verschlüsselte Partitionen und Cryptswap. Beim Booten fragte mich Ubuntu nach der Passphrase. Zum Glück habe ich es bei der Installation von Ubuntu gespeichert und beim Booten eingegeben. Ubuntu bootete ohne Probleme.
Ich korrigierte dann die
/boot/grub/grub.cfg
Datei , wo ich ersetzt(hd0,gpt6)
mit(hd0,gpt7)
und durchgeführt:Zu diesem Zeitpunkt war das einzige verbleibende Problem die Verschlüsselung. Da die Root-Ubuntu-Partitionsnummer um eins erhöht wurde (7 statt 6), wurde die Swap-Partition ähnlich geändert. Ich musste die
/etc/crypttab
Datei ändern , um auf/dev/sda8
anstatt zu zeigen/dev/sda7
.Ich benutze nur zwei Partitionen für Ubuntu (root und swap). Wenn andere mit Windows koexistierende Betriebssysteme mehr Partitionen verwenden, sind möglicherweise weitere Änderungen erforderlich. Insbesondere, wenn Partitionen nach ihrer Anzahl und nicht nach ihren UUIDs gemountet werden. Schauen Sie sich Ihre an
/etc/fstab
. Wenn die Partitionen durch die UUID identifiziert werden, sollte es keine Probleme geben. Wenn jedoch/dev/...
Zeilen vorhanden sind , sollte die Nummer korrigiert werden, wenn diese Partitionen neu nummeriert wurden.quelle
ls (hd0,msdos1)/ ls (hd0,msdos1)/boot ls (hd0,msdos2)/ etc.
für alle Einträge vonls
Befehl, und jedes Mal, wenn es mit kommterror: unkown filesystem
.sudo nano /boot/grub/grub.cfg
und dann ausgeführtsudo grub-install /dev/sda
(aus irgendeinem Grund ist der Aufruf ohne den Parameter für mich fehlgeschlagen). Und nur dann haben die permanenten Veränderungen funktioniert.Das Installieren (oder Aktualisieren) von Windows neben Linux kann problematisch sein.
Versuchen Sie Folgendes: https://help.ubuntu.com/community/Boot-Repair
Ich habe es verwendet, um ein Problem zu beheben, nachdem ich die technische Vorschau von Windows 10 installiert hatte, und es hat funktioniert. Grundsätzlich wird grub neu installiert, um mit allen derzeit installierten Betriebssystemen zu funktionieren. Stellen Sie sicher, dass Sie grub auf Ihrer Linux-Partition installieren (sd #).
Viel Glück!
quelle
Erstellen Sie vor dem Ändern von Partitionen ein Backup und speichern Sie es auf einem anderen Gerät. Wenn nicht, wechseln Sie zum korrekten Laufwerk. Dann können Sie von vorne beginnen, wenn Sie einen falschen Satz mit testdisk wiederherstellen. Sie möchten nur, dass beim Wiederherstellen mit testdisk alle aktuellen und fehlenden logischen Elemente vorhanden sind.
Ihre fehlende Partition ist hier oder zwischen dem Start der erweiterten Partition um 1547 ... und der ersten Partition um 1915 ...:
Sie können testdisk verwenden, es wird jedoch CHS verwendet. Sie müssen alle vorhandenen Partitionen und die fehlende Partition als logisch auswählen. Es werden möglicherweise viele Versionen angezeigt, je nachdem, wie oft Sie die Partitionen gewechselt haben. Wählen Sie also die Größe, die der fehlenden entspricht, ohne andere aktuelle Partitionen zu überlappen. Einige, die korrekt wiederhergestellt wurden, konnten nur booten, andere müssen grub neu installieren. Und einige konnten die Wiederherstellungspartition nicht korrigieren.
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
Ein weiteres Wiederherstellungstool ist die getrennte Rettung. Es werden Sektoren verwendet, aber der von Ihnen angegebene Bereich muss sich nur außerhalb der fehlenden Partition befinden und darf sich nicht mit den aktuellen Partitionen überschneiden. Am besten, wenn Sie Start und Ende genau kennen. Siehe Mann getrennt
http://www.gnu.org/software/parted/manual/html_node/rescue.html
Benutzer, der die Teilrettung verwendet hat:
http://ubuntuforums.org/showthread.php?t=1775331&p=10905969#post10905969
quelle
Es ist ein böser Fehler im Windows-Partitionierer und nicht Linux-spezifisch. Es löschte ironischerweise eine NTFS-Partition in meinem Fall.
Das Windows 10-Installationsprogramm erstellt eine neue Partition (Ihre
/dev/sda3
), die am Ende der Windows-Hauptpartition erstellt wurde,sda2
wenn die Windows-Startpartitionsda1
zu klein ist, um die Windows 10-Wiederherstellungsumgebung aufzunehmen.Wenn die Partitionstabelle zu diesem Zweck neu geschrieben wird, gibt sie für jede logische Partition in der erweiterten Partitionstabelle auf
sda4
, wenn sie sich vor der vorherigen Partitionsnummer auf dem Datenträger befindet.In Ihrem Fall befanden sich Ihre Linux-Partitionen auf Ihrer Festplatte vor Ihrer neuen
sda5
, hatten jedoch höhere Partitionsnummern alssda5
vor der Neupartitionierung.Wenn Sie die umfangreichen Windows 10-Aktualisierungsprotokolle durchsehen, sehen Sie eine Meldung wie "6 vor 5, nichts zu tun", zusammen mit der alten und der neuen Partitionstabelle.
Windows überschreibt nicht den Inhalt der Partitionen, die es löscht. Sie können diese also wiederherstellen, wenn Sie feststellen, wo sie sich befinden. In meinem Fall hatte ich Sicherungen der Partitionstabelle, aber die Verwendung von testdisk, wie in oldfreds Antwort erläutert , hat eine hervorragende Chance, alle zu finden. Parted Rescue ist nur schwer zu verwenden, da in Ihrem Fall mehr als eine Partition gelöscht wurde.
Um testdisk von Ihrer Ubuntu Live-CD zu verwenden, geben Sie ein Terminal ein
sudo apt-get install testdisk
, um es zu installieren undsudo testdisk
auszuführen.Nach dem Reparieren der Partitionstabelle hat die Linux-Partition, die GRUB enthält, möglicherweise eine andere Nummer als zuvor, sodass Sie möglicherweise immer noch an der GRUB-Rettungsaufforderung landen. In diesem Fall kann GRUB nun durch Boot Repair behoben werden.
Geben Sie unter Verwendung Ihrer Ubuntu Live-CD Folgendes ein:
zu installieren und auszuführen.
Jetzt kann Windows das Upgrade abschließen.
quelle
Um Boot-Repair zu verwenden, müssen Sie im BIOS Folgendes einstellen:
Aktivieren Sie UEFI (in meinem BIOS ist es :)
Legacy-Unterstützung deaktiviert
Deaktivieren Sie Secure Boot
Wahrscheinlich ist Secure Boot aktiviert, sodass der Fehler "Falsch signierte Datei" angezeigt wird.
quelle