Deinstallation von GRUB vom UEFI-Laptop

9

Ich habe Ubuntu neben Windows 8 installiert, habe mich jedoch entschieden, Ubuntu zu deinstallieren.

Zuerst habe ich Parted Magic gestartet und mit GParted alle ext4- und Swap-Partitionen gelöscht.

Dadurch habe ich dieselben Partitionen wie vor der Installation von Ubuntu:

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

Ich hatte erwartet, dass das Löschen der Partitionen ausreichen würde, um Ubuntu zu entfernen und Windows 8 wieder zu starten. Beim Booten wird jedoch die folgende Fehlermeldung angezeigt:

error: no such partition.

Darauf folgt die GRUB-Rettung:

grub rescue>

In meiner UEFI-Partition gibt es zwei Verzeichnisse BOOTund EFI. In BOOTist eine einzelne Datei - boot.sdi. Im EFIVerzeichnis befinden sich zwei weitere Verzeichnisse BOOTund Microsoft. Darin BOOTbefinden sich zwei Dateien bkpbootx64.efiund bootx64.efi. Das MicrosoftVerzeichnis enthält ein Verzeichnis mit dem Namen Boot. Darin befinden sich die normalen Microsoft EFI-Dateien (soweit ich das beurteilen kann).

Da ich dachte, dass noch GRUB-Dateien übrig waren, lief ich find . -iname "*grb*"und fand find . -iname "*grub*"in der UEFI-Partition jedoch nur eine leere Datei bootx64.efi.grb(die ich löschte).

Wie ist GRUB noch installiert und wie kann ich es deinstallieren?

Ich bin ziemlich neu bei UEFI und daher müssen die Dinge möglicherweise ausführlich erklärt werden. Der Computer ist ein Lenovo IdeaPad Z580.

Bearbeiten: Ich habe vergessen zu erwähnen, ich habe den ubuntuOrdner in der UEFI-Partition gelöscht .

Bearbeiten 2: Ich habe es geschafft, über die Option "Systemwiederherstellung" in den BIOS-Einstellungen des Laptops wieder zu Windows zurückzukehren. Dies kann das Problem gelöst haben oder nicht.

edit 3: okay, ich kann jetzt fast normal booten. Wenn ich boote, sehe ich No partition activefür ein paar Sekunden, dann bootet Windows. Wie kann ich das entfernen?

Torvero
quelle

Antworten:

28

Ich weiß , Sie das Problem behoben haben, aber ich möchte darauf hinweisen, was schief gelaufen ist und wie es sollte festgelegt werden (sowohl von den Endnutzern und von Ubuntu-Entwickler).

Erstens haben die Entwickler von Ubuntu - am unklugsten - beschlossen, eine GRUB-Konfiguration zu erstellen, die auf Dateien in der Ubuntu- /Partition root ( ) sowie auf der EFI-Systempartition (ESP) basiert. Dies macht GRUB anfällig für das Entfernen oder Beschädigen der Linux-Partition und erschwert daher das Starten des Computers nach dem Entfernen von Ubuntu oder wenn die Ubuntu-Installation auf irgendeine Weise beschädigt ist. Diese Sicherheitsanfälligkeit ist nicht erforderlich. Es ist möglich, GRUB so zu konfigurieren, dass alle Support- und Konfigurationsdateien auf dem ESP gesucht werden. Wenn GRUB auf diese Weise konfiguriert würde (wie Fedora), würde das Löschen von Ubuntu die Fähigkeit von GRUB, auf Windows umzuleiten, nicht beeinträchtigen. Das System würde immer noch über GRUB booten, aber es würde zumindest immer noch booten. Also, schade um Ubuntu, dass es GRUB falsch eingerichtet hat.

Zweitens scheinen Sie, basierend auf den von Ihnen erwähnten Dateinamen, irgendwann das Boot Repair-Tool von Ubuntu ausgeführt zu haben. Dieses Tool benennt den Windows-Bootloader automatisch um EFI/Microsoft/Boot/bootmgfw.efiund platziert eine Kopie von GRUB an seiner Stelle. Es macht dasselbe mit dem EFI-Fallback-Bootloader EFI/BOOT/bootx64.efiund legt eine weitere Kopie von GRUB in as ab EFI/Microsoft/Boot/bootx64.efi, aus Gründen, die ich nicht zu ergründen behaupte. Dies ist eine Problemumgehung für einen Fehler in einer Handvoll EFIs. Das Problem ist, dass Boot Repair dies standardmäßig tut . Auf den meisten Computern ist dies nicht der Fallnotwendig. Wenn es später wünschenswert ist, Änderungen an der Startkonfiguration vorzunehmen, wird diese Umbenennung und Replikation von GRUB zu einer Komplikation, da die Benutzer nur noch raten müssen, was los ist. Schade also, dass die Entwickler von Boot Repair ihre Reparaturen unsubstant angehen. (Zu ihrer Verteidigung wäre es für Boot Repair jedoch sehr schwierig, zuverlässig zu erkennen, welche Computer die Fehler aufweisen, die das Verschieben von Bootdateien erfordern, wie dies standardmäßig der Fall ist.)

Ein weiterer Punkt ist wichtig: In einem ordnungsgemäß funktionierenden EFI-System wird eine Liste der Startprogramme im NVRAM gespeichert. Das EFI versucht jedes der Programme in dieser Liste nacheinander. Wenn einer ausfällt oder abwesend ist, wird der nächste versucht. Bei der Installation von Ubuntu wird die GRUB-Version ganz oben auf der Liste hinzugefügt. Mit den meisten EFIs können Benutzer auch angeben, welches Bootprogramm von einem integrierten Bootmanager verwendet werden soll. Dieser integrierte Bootmanager ist jedoch für die meisten EFIs grob.

Fassen Sie all diese Faktoren zusammen und die einfachste Lösung für das ursprüngliche Problem lautet:

  1. Machen Sie die Änderungen des Boot Repair-Tools rückgängig. Dies kann mit dem Boot Repair Tool selbst erfolgen. Es verfügt über ein Menü mit erweiterten Optionen und einem Kontrollkästchen namens "EFI-Sicherungen wiederherstellen". Verwenden Sie dies, und die mehreren Kopien von GRUB werden entfernt und der Windows-Bootloader wird wiederhergestellt. Alternativ kann dies manuell erfolgen. Am wichtigsten ist, dass das Backup von bootmgfw.efi(wahrscheinlich aufgerufen bkpbootmgfw.efi, obwohl einige Versionen von Boot Repair andere Namen verwendet haben) EFI/Microsoft/Boot/bootmgfw.efiauf das ESP kopiert werden sollte .
  2. Löschen Sie GRUB an seinem offiziellen / richtigen Ort - EFI/ubuntu/grubx64.efifür Ubuntu. Wenn Secure Boot aktiv EFI/ubuntu/shimx64.efiwäre, wäre stattdessen ein Löschen erforderlich. In der Tat würde das Löschen des gesamten EFI/ubuntuVerzeichnisses oder zumindest das Umbenennen in jedem Fall den Job erledigen.

Das ist es. Wenn diese beiden Dinge erledigt sind, überspringt das EFI die Ubuntu-Startoption, da sie nicht mehr gültig ist, und startet Windows. Einige EFIs entfernen auch automatisch die Ubuntu-Boot-Option aus den Menüs ihrer Boot-Manager, obwohl diese Vorgehensweise nicht universell ist.

Beachten Sie, dass ich in Ihrem Fall, Matthew, diese Dinge nicht empfehle. Sie haben eine funktionierende Konfiguration und wie sie sagen: "Wenn sie nicht kaputt ist, beheben Sie sie nicht." Möglicherweise sind noch einige Streudateien auf Ihrem ESP vorhanden, die jedoch keinen Schaden anrichten. Lassen Sie sie daher am besten in Ruhe. Ich habe meine Antwort in der Hoffnung präsentiert, dass jemand anderes sie nützlich findet.


EDIT: Das obige war richtig, als ich es zum ersten Mal schrieb, und die Prinzipien bleiben dieselben; Boot Repair benennt den Windows-Bootloader jedoch nicht mehr automatisch um und ersetzt ihn durch eine andere Kopie von GRUB. (Boot Repair kann dies optional ausführen, die Option ist jedoch in einem erweiterten Optionsmenü vergraben, sodass sie nicht mehr standardmäßig ausgeführt wird.) Diese Tatsache erleichtert die Wiederherstellung nach diesem Problem heute einfacher als 2013. In den meisten Fällen benötigen Sie nur diese Option Löschen Sie das EFI/ubuntuVerzeichnis auf dem ESP, damit das System direkt unter Windows startet. Wenn GRUB danach immer noch angezeigt wird, haben Sie möglicherweise die Option Boot Repair verwendet, um Boot-Dateien zu sichern und umzubenennen. In diesem Fall ist es in der richtigen Reihenfolge, diese Aktionen rückgängig zu machen, wie bereits erwähnt.

Eine andere Option ist die Verwendung des integrierten Boot-Managers des Computers (normalerweise durch Drücken einer Funktionstaste, Esc oder Enter kurz nach dem Einschalten des Computers), um GRUB zu umgehen und unter Windows zu booten. Sie können dann EasyUEFI verwenden , um die Startreihenfolge anzupassen und / oder den ubuntuEintrag aus der Startliste zu löschen . Diese Aktion löscht GRUB nicht aus dem ESP, umgeht jedoch GRUB.

Rod Smith
quelle
Danke für diese Antwort! Es erklärt das Problem sehr gut. Ich hatte zwar Boot Repair ausgeführt, aber vergessen, dies in diese Frage aufzunehmen. Ich habe dies als Antwort markiert, da dies definitiv jemandem in der Zukunft helfen könnte und eine viel sauberere Möglichkeit ist, das Problem zu beheben.
Torvero
Ich bin spät dran, aber ich werde trotzdem fragen; Sie sagten, es ersetzt auch den Standard-EFI-Bootloader durch GRUB. Gibt es eine Möglichkeit, es wiederherzustellen, vorausgesetzt, es wird immer noch durch das Ubuntu 18.04-Installationsprogramm ersetzt?
Zoe
3

Ich weiß, dass dieser Thread alt ist, aber ich bin bei meiner eigenen Suche darauf gestoßen, als ich versucht habe, dieses Problem für mich selbst zu lösen, und habe eine Lösung gefunden, die für mich funktioniert hat, als keine der anderen Antworten vorhanden war, sodass ich sie teilen musste!

Ich hatte Ubuntu auf meinem Laptop neben Windows 10 doppelt gebootet. Ich entschied mich, Ubuntu zu entfernen und hatte seine Partition gelöscht, aber grub unterbrach meinen Bootloader immer noch. Nachdem ich zahlreiche Vorschläge aus den Foren ausprobiert hatte, stieß ich schließlich auf eine wahnsinnig einfache und grafische Möglichkeit, sie auf eigene Faust zu entfernen. (Haftungsausschluss, ich habe keine Ahnung, ob andere Windows-Versionen diese Option haben oder nicht)

Aber alles, was ich getan habe, war F12, während der Computer bootete, um in die Startoptionen zu gelangen. Und unter Andere Optionen habe ich BIOS-Setup ausgewählt . Auf der linken Seite habe ich Boot Sequence ausgewählt und genau dort wurden meine verschiedenen Boot-Optionen aufgelistet. Ich konnte sie auswählen, um ihre Reihenfolge zu ändern oder sie zu entfernen oder was auch immer ich wollte. Alles was ich tun musste war sicherzustellen, dass nur "Ubuntu" markiert war, und dann klickte ich auf Boot löschen und beendete. Es ging weiter zum Anmeldebildschirm und ich startete meinen Laptop neu, nur um zu überprüfen, ob mein Problem gelöst war und es hatte!

Jess
quelle
Das Internet scheint voll von Nicht-UEFI-Lösungen zu sein, aber das funktioniert einfach!
Peter Lehnhardt
1

Okay, das funktioniert nicht für jeden Computer, von dem ich annehme, aber das hat es für mich behoben .

Zuerst habe ich über die BIOS-Optionen auf meinem Laptop zu "System Recovery" gebootet. Dies ermöglichte mir den Einstieg in Windows. Wenn ich jedoch danach bootete, wurde No partition activeeine Sekunde lang eine Meldung angezeigt, bevor Windows gestartet wurde. Ich habe dies durch Folgendes beseitigt:

  1. Booten in Windows
  2. UMSCHALT + Klicken auf "Neustart"
  3. Fehlerbehebung
  4. Erweitert
  5. Eingabeaufforderung
  6. Laufen bootrec.exe /fixmbr

und Neustart. Jetzt erscheint die Meldung nicht mehr und alles scheint normal zu sein.

Torvero
quelle
1

Was ich getan habe, ist, dass ich nach der Deinstallation von Ubuntu - Sie können dies mit einigen der Deinstallationsprogramme tun oder einfach von einer Ubuntu-Live-CD oder einem USB-Stick booten und Linux-Partitionen mit GParted formatieren - die EFI-Partition (FAT32) formatiert und dann auch formatiert habe Windows-Boot-Wiederherstellung von der Windows-Installationsdiskette.

Ich muss erwähnen, dass ich Dutzende von Ratschlägen und Tutorials gelesen und viel Zeit mit Methoden verloren habe, die nicht funktionieren. Am Ende tat ich das einzige, was mir logisch erschien, indem ich Fenster neu installierte, und es funktionierte wie ein Zauber.

Srdjan
quelle
1

Auf einem Surface Pro ist es möglich, Grub 2 zu umgehen, indem Sie im UEFI-Menü die Option "Sichere Startschlüssel erneut installieren" auswählen.

user394891
quelle
Möglicherweise müssen Sie ein wenig mit den darüber hinausgehenden Optionen herumspielen - ich glaube, ich musste etwas sagen wie "Nur Windows-Schlüssel zulassen". Ich erhalte immer noch eine Meldung über eine ungültige Startkonfiguration, die danach jedoch weiter gestartet wird.
Barker