Odinstalowywanie GRUB-a z laptopa UEFI


9

Zainstalowałem Ubuntu wraz z Windows 8, jednak zdecydowałem się odinstalować Ubuntu.

Najpierw uruchomiłem parted Magic i używając GParted usunąłem wszystkie partycje ext4 i swap.

To pozostawia mi te same partycje, które miałem przed zainstalowaniem 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

Spodziewałem się, że usunięcie partycji wystarczy, aby usunąć Ubuntu i pozwolić mi ponownie uruchomić system Windows 8, jednak przy każdym uruchomieniu pojawia się następujący błąd:

error: no such partition.

po którym następuje ratowanie GRUB:

grub rescue>

Na mojej partycji UEFI są dwa katalogi BOOTi EFI. W BOOTto pojedynczy plik - boot.sdi. W EFIkatalogu znajdują się kolejne dwa katalogi BOOToraz Microsoft. Wewnątrz BOOTsą dwa pliki bkpbootx64.efii bootx64.efi. MicrosoftKatalog ma w katalogu, to nazwie Boot. Wewnątrz są normalne pliki EFI firmy Microsoft (o ile wiem).

Myśląc, że pozostały jeszcze pliki GRUB, uruchomiłem find . -iname "*grb*"i find . -iname "*grub*"na partycji UEFI, jednak znalazłem tylko jeden pusty plik bootx64.efi.grb(który usunąłem).

W jaki sposób GRUB jest nadal zainstalowany i jak go odinstalować?

Jestem całkiem nowy w UEFI, więc rzeczy mogą wymagać szczegółowego wyjaśnienia. Ten komputer to Lenovo IdeaPad Z580.

edycja: Zapomniałem wspomnieć, usunąłem ubuntufolder z partycji UEFI.

edycja 2: Udało mi się wrócić do systemu Windows za pomocą opcji „Odzyskiwanie systemu” w ustawieniach BIOS laptopa. To mogło rozwiązać problem.

edycja 3: OK, mogę teraz uruchomić prawie normalnie. Kiedy uruchamiam, No partition activeprzez kilka sekund widzę, że Windows się uruchamia. Jak mogę to usunąć?

Odpowiedzi:


28

Zdaję sobie sprawę, że problem został rozwiązany, ale chcę zwrócić uwagę na to, co poszło źle i jak to powinno być stałe (zarówno przez użytkowników końcowych i przez programistów Ubuntu).

Po pierwsze, programiści Ubuntu postanowili - najbardziej nierozsądnie - stworzyć konfigurację GRUB, która opiera się na plikach na /partycji root ( ) Ubuntu , a także na partycji systemowej EFI (ESP). Powoduje to, że GRUB jest podatny na usunięcie lub uszkodzenie partycji Linux, a zatem utrudnia uruchomienie komputera po usunięciu Ubuntu lub jeśli instalacja Ubuntu jest w jakiś sposób uszkodzona. Ta podatność jest niepotrzebna; istnieje możliwość skonfigurowania GRUB-a tak, aby szukał wszystkich plików obsługi i konfiguracji na ESP. Jeśli GRUB został skonfigurowany w ten sposób (podobnie jak Fedora), usunięcie Ubuntu nie wpłynęłoby na zdolność GRUB do przekierowania do Windows. System nadal uruchamiałby się przez GRUB, ale przynajmniej nadal się uruchamiał. Wstydź się na Ubuntu za niewłaściwe ustawienie GRUB-a.

Po drugie, w oparciu o wspomniane nazwy plików, wydaje się, że w pewnym momencie uruchomiłeś narzędzie do naprawy rozruchu Ubuntu. To narzędzie automatycznie zmienia nazwę modułu ładującego system Windows EFI/Microsoft/Boot/bootmgfw.efii umieszcza kopię GRUB na swoim miejscu. Robi to samo z awaryjnym programem ładującym EFI i wrzuca EFI/BOOT/bootx64.efikolejną kopię GRUB-a jako EFI/Microsoft/Boot/bootx64.efiz powodów, których nie twierdzę, że rozumiem. Jest to zrobione jako obejście błędu w kilku EFI. Problem polega na tym, że Boot Repair robi to domyślnie. Na większości komputerów tak nie jestniezbędny. Gdy później pożądane jest wprowadzenie zmian w konfiguracji rozruchu, zmiana nazwy i replikacja GRUB-a staje się komplikacją, ponieważ użytkownicy nie mogą zgadnąć, co się dzieje. Wstydź się programistom Boot Repair za to, że nie są pewni swoich napraw. (W ich obronie bardzo trudno byłoby jednak Naprawie rozruchu niezawodnie wykryć, które komputery zawierają błędy, które wymagają przeniesienia plików rozruchowych w taki sposób, jak ma to miejsce domyślnie).

Ważny jest jeszcze jeden punkt: w prawidłowo działającym systemie EFI lista programów rozruchowych jest przechowywana w pamięci NVRAM. EFI próbuje kolejno wykonać każdy z programów z tej listy; jeśli jeden zawiedzie lub jest nieobecny, następna jest próbowana. Podczas instalacji Ubuntu dodaje swoją wersję GRUB-a na początek listy. Większość plików EFI umożliwia także użytkownikom określenie programu rozruchowego, który ma być używany z wbudowanego menedżera rozruchu, ale ten wbudowany menedżer rozruchu jest prosty w przypadku większości plików EFI.

Zsumuj wszystkie te czynniki, a najprostszym rozwiązaniem pierwotnego problemu będzie:

  1. Cofnij zmiany narzędzia Boot Repair. Można to zrobić za pomocą samego narzędzia Boot Repair; ma menu Opcje zaawansowane z polem wyboru o nazwie „Przywróć kopie zapasowe EFI”. Użyj tego, a wiele kopii GRUBA zostanie usuniętych, a moduł ładujący Windows zostanie przywrócony. Alternatywnie można to zrobić ręcznie. Co najważniejsze, kopia zapasowa bootmgfw.efi(prawdopodobnie nazywana bkpbootmgfw.efi, chociaż niektóre wersje Boot Repair używały innych nazw) powinna zostać skopiowana EFI/Microsoft/Boot/bootmgfw.efina ESP.
  2. Usuń GRUB w jego oficjalnej / właściwej lokalizacji - EFI/ubuntu/grubx64.efidla Ubuntu. Jeśli Bezpieczny rozruch był aktywny, EFI/ubuntu/shimx64.efikonieczne byłoby jego usunięcie . W rzeczywistości usunięcie całego EFI/ubuntukatalogu lub przynajmniej zmiana jego nazwy wykona zadanie w każdym przypadku.

Otóż ​​to. Po osiągnięciu tych dwóch celów EFI pominie opcję rozruchu Ubuntu, ponieważ nie jest już ważna i uruchomi system Windows. Niektóre pliki EFI również automatycznie usuwają opcję uruchamiania Ubuntu z menu menedżerów rozruchu, chociaż ta praktyka nie jest uniwersalna.

Zauważ, że w twoim przypadku, Matthew, nie polecam robić tych rzeczy; masz działającą konfigurację i, jak mówią, „jeśli się nie zepsuła, nie naprawiaj tego”. Być może w ESP pozostało kilka zbłąkanych plików, ale nie wyrządzają one żadnej szkody, więc najlepiej po prostu zostawić to w spokoju. Przedstawiłem swoją odpowiedź w nadziei, że ktoś uzna ją za przydatną.


EDYCJA: Powyższe było prawidłowe, kiedy pierwszy raz to napisałem, a zasady pozostają takie same; jednak Boot Repair nie zmienia już automatycznie nazwy modułu ładującego Windows i zastępuje go inną kopią GRUB-a. (Naprawa rozruchu może to zrobić opcjonalnie, ale opcja jest ukryta w menu opcji zaawansowanych, więc nie jest już domyślnie wykonywana). Fakt ten ułatwia dziś odzyskanie tego problemu niż w 2013 r. W większości przypadków wystarczy tylko usuń EFI/ubuntukatalog w ESP, aby system uruchomił się bezpośrednio w systemie Windows. Jeśli po wykonaniu tego nadal pojawia się GRUB, być może użyłeś opcji Boot Boot do wykonania kopii zapasowej i zmiany nazw plików rozruchowych, w takim przypadku użycie go do cofnięcia tych działań jest prawidłowe, jak wspomniano wcześniej.

Inną opcją jest użycie wbudowanego menedżera rozruchu komputera (zwykle dostępny po naciśnięciu klawisza funkcyjnego, Esc lub Enter wkrótce po włączeniu komputera), aby ominąć GRUB i uruchomić system Windows. Następnie możesz użyć EasyUEFI, aby dostosować kolejność rozruchu i / lub usunąć ubuntuwpis z listy rozruchu. Ta czynność nie usunie GRUB-a z ESP, ale obejdzie GRUB-a.


Dzięki za tę odpowiedź! Bardzo dobrze wyjaśnia problem. Rzeczywiście przeprowadziłem naprawę rozruchu, ale zapomniałem dołączyć to do tego pytania. Oznacziłem to jako odpowiedź, ponieważ może to zdecydowanie pomóc komuś w przyszłości i jest znacznie czystszym sposobem rozwiązania problemu.
Torvero,

Jestem spóźniony, ale i tak zapytam; powiedziałeś, że zastępuje również domyślny moduł ładujący EFI GRUB. Czy jest jakiś sposób, aby go odzyskać, zakładając, że nadal jest zastępowany instalatorem Ubuntu 18.04?
Zoe

3

Wiem, że ten wątek jest stary, ale natknąłem się na niego w moich własnych poszukiwaniach, próbując samodzielnie rozwiązać ten problem, i znalazłem rozwiązanie, które zadziałało, gdy żadna z pozostałych odpowiedzi nie była dostępna, więc musiałem się nim podzielić!

Miałem Ubuntu z podwójnym uruchomieniem na moim laptopie wraz z Windows 10. Postanowiłem usunąć Ubuntu i usunąłem jego partycję, ale grub wciąż przerywał mój program ładujący. Po wypróbowaniu wielu sugestii pozostawionych na forach, w końcu natknąłem się na niesamowicie prosty i graficzny sposób na usunięcie go na moim własnym komputerze. (Tak więc, zrzeczenie się odpowiedzialności, nie mam pojęcia, czy inne wersje systemu Windows mają tę opcję, czy nie)

Ale wszystko, co zrobiłem, to F12 podczas uruchamiania komputera, aby uzyskać dostęp do opcji rozruchu. I w Inne opcje wybrałem Ustawienia BIOS . Po lewej stronie wybrałem Sekwencję rozruchu, a tam wylistowałem moje różne opcje rozruchu i mogłem je wybrać, aby zmienić ich kolejność lub je usunąć lub cokolwiek chciałem. Wszystko, co musiałem zrobić, to upewnić się, że tylko „ubuntu” jest zaznaczone, a następnie kliknąłem Usuń rozruch i wyszedłem . Kontynuowałem do ekranu logowania i ponownie uruchomiłem laptopa, aby dwukrotnie sprawdzić, czy rozwiązałem mój problem i tak się stało!


Wygląda na to, że internet jest pełen rozwiązań nieefektywnych, ale to po prostu działa!
Peter Lehnhardt,

1

Okej, więc to nie będzie działać na każdym komputerze, który zakładam, ale właśnie to mnie naprawiło .

Najpierw uruchomiłem „Odzyskiwanie systemu” poprzez opcje BIOS na moim laptopie. Pozwoliło mi to wejść do systemu Windows, jednak za każdym razem, gdy uruchamiałem się później, No partition activeprzez sekundę pojawiał się komunikat przed uruchomieniem systemu Windows. Pozbyłem się tego, wykonując następujące czynności:

  1. Uruchamianie w systemie Windows
  2. SHIFT + kliknięcie „Uruchom ponownie”
  3. Rozwiązywanie problemów
  4. zaawansowane
  5. Wiersz polecenia
  6. Bieganie bootrec.exe /fixmbr

i ponowne uruchomienie. Teraz komunikat już się nie pojawia i wszystko wydaje się normalne.


1

To, co zrobiłem, to to, że po odinstalowaniu Ubuntu - możesz to zrobić za pomocą niektórych deinstalatorów, lub po prostu uruchamiając się z Live CD lub pamięci USB Ubuntu i formatując partycje Linux z GParted - sformatowałem również partycję EFI (FAT32), a potem zrobiłem Odzyskiwanie systemu Windows z dysku instalacyjnego systemu Windows.

Muszę wspomnieć, że przeczytałem dziesiątki porad i samouczków i straciłem mnóstwo czasu dzięki metodom, które nie działają. W końcu zrobiłem jedyną rzeczą, która wydawała mi się logiczna, ponowna instalacja systemu Windows i działało to jak urok.


1

W Surface Pro można obejść Grub 2, wybierając opcję „Zainstaluj ponownie bezpieczne klucze rozruchowe” z menu UEFI.


Być może będziesz musiał trochę pogrzebać z opcjami poza tym - myślę, że musiałem powiedzieć coś w stylu „zezwalaj tylko na klawisze Windows”. Nadal pojawia się komunikat o niepoprawnej konfiguracji rozruchu, ale będzie on nadal uruchamiał się po.
bbarker
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.