„Wykryto GPT. Utwórz partycję BIOS-Boot ”podczas korzystania z funkcji naprawy rozruchu

12

Od czasu aktualizacji systemu Windows do wersji 8.1 moje menu Grub zniknęło. Uruchomiłem Ubuntu używając Live USB, użyłem Boot-Repair, ale coś poszło nie tak. Po kliknięciu opcji Zalecana naprawa pojawia się następujący błąd:

Wykryto GPT. Utwórz partycję BIOS-Boot (> 1 MB, niesformatowany system plików, flaga bios_grub). Można tego dokonać za pomocą narzędzi takich jak Gparted. Następnie spróbuj ponownie. Alternatywnie możesz ponowić próbę po aktywowaniu opcji [Oddziel / boot / efi partition:].

Próbowałem więc ustawić moją sda9 (myślę, że to partycja systemowa Ubuntu, ponieważ jest to ext4) z flagą bios_grub, a następnie ponownie uruchomić Boot-Repair. Nie działało.

Nie wiem co mam robić. Mój Grub działał dobrze (przy użyciu UEFI), zanim zaktualizowałem system Windows.

Usunąłem flagę bios_grub. Potem użyłem fscki nie znalazłem żadnego błędu. Więc spróbowałem ponownie z Boot-Repair, ale zawsze pojawia się błąd „Wykryto GPT”. Mój rozruch jest w trybie UEFI, bezpieczny rozruch jest wyłączony.

Kiedy uruchamiam komputer z funkcją SecureBoot OFF, mogę przejść do menu GRUB. Ale jest pusty (jedynym głosem jest „Konfiguracja systemu”).

Zainstalowałem dysk systemowy Ubuntu:

sudo mount /dev/sda9 /mnt

i inne rzeczy:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

Zalogowałem się do systemu za pomocą chroot:

sudo chroot /mnt

Ponownie zainstalowałem grub:

grub-install /dev/sda
update-grub2

Ale nadal nie działa.

Kurt Bourbaki
źródło
Dla przyszłych czytelników ta odpowiedź mnie naprawiła (uruchom aktualną partycję, a następnie uruchom grub-install): askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/...
CornSmith

Odpowiedzi:

11

Po pierwsze, bios_grubflaga w partedlub GParted to sposób na identyfikację partycji rozruchowej systemu BIOS. GRUB 2 używa tej partycji do przechowywania części kodu rozruchowego, gdy komputer uruchamia się w trybie BIOS. Zwykle ma rozmiar około 1 MB, choć w niektórych przypadkach może być mniejszy. Co najważniejsze, jeśli Boot Repair uruchomił ponownie instalator GRUB po ustawieniu bios_grubflagi na /partycji root ( ) na Linuksie , być może zniszczyłeś tę partycję. Dlatego zanim zrobisz cokolwiek innego, polecam:

  1. Usuń bios_grubflagę z /partycji root ( ) systemu Linux .
  2. Przetestuj swoją /partycję root ( ) systemu Linux za pomocą fsck(lub równoważnej funkcjonalności w GParted lub innych narzędziach GUI). Jeśli partycja zawiera błędy, napraw je lub przywróć system z kopii zapasowej. Tylko wtedy, gdy masz pewność, że możesz zamontować partycję i używać jej normalnie, powinieneś kontynuować.

Po drugie, miałeś ten problem, ponieważ uruchomiłeś dysk awaryjny w trybie BIOS / CSM / starszym niż w trybie EFI. Musisz nauczyć się kontrolować tryb uruchamiania komputera. Zazwyczaj można to zrobić za pomocą menedżera rozruchu, do którego dostęp można uzyskać, naciskając klawisz Esc lub klawisz funkcyjny na początku procesu rozruchu (zanim pojawi się GRUB); ale nie ma standaryzacji dostępu do tego menedżera rozruchu ani dostępnych opcji. Dlatego może zajść potrzeba eksperymentowania, aby to zrozumieć.

Po trzecie, jeśli możesz dowiedzieć się, jak uruchomić dysk CD na żywo w trybie EFI, Naprawa rozruchu powinna rozwiązać problem. Alternatywnie, powinieneś być w stanie użyć wersji CD-R lub dysku flash USB mojego menedżera rozruchu rEFInd, aby uruchomić Linuksa. Po uruchomieniu Linuksa powinieneś być w stanie efibootmgrprzywrócić GRUB jako domyślny moduł ładujący, ale szczegóły zależą od jego konfiguracji. W skrócie, musisz użyć -oopcji, efibootmgraby ustawić wpis GRUB jako pierwszy. To pytanie i odpowiedzi dotyczą problemu z innej perspektywy. Zamiast przywracać GRUB, możesz rozważyć zainstalowanie rEFInd również na dysku twardym.


EDYCJA: Spróbuj użyć mojego menedżera rozruchu rEFInd: Użyj dysku flash USB lub obrazu CD-R, aby utworzyć odpowiedni nośnik i uruchomić z niego. To powinno dać ci opcję dla systemu Windows i przynajmniej jedną opcję dla systemu Linux. Jeśli możesz uruchomić system Windows i Linux, zainstaluj pakiet Debian rEFInd w systemie Linux. To powinno przełączyć komputer na domyślny rEFInd i powinieneś być w stanie uruchomić wszystko normalnie.

Rod Smith
źródło
Usunąłem flagę bios_grub. Potem użyłem fsck i nie znalazłem żadnego błędu. Więc spróbowałem ponownie z Boot-Repair, ale zawsze pojawia się błąd „Wykryto GPT”. Mój rozruch jest w trybie UEFI, bezpieczny rozruch jest wyłączony. Jeśli włączę Bezpieczny rozruch „na”, pojawi się błąd zasad bezpieczeństwa. Jak mogę rozwiązać błąd GPT?
Kurt Bourbaki
PS Kiedy uruchamiam komputer z funkcją SecureBoot OFF, mogę przejść do menu GRUB. Ale jest pusty (jedynym głosem jest „Konfiguracja systemu”).
Kurt Bourbaki
Spróbuj użyć rEFInd, zgodnie z sugestią w mojej edycji.
Rod Smith
Użyłem REFInd, ale wynik jest taki sam. Pokazuje mi interfejs z 3 opcjami; kiedy wybieram Windows lub Ubuntu, przenosi mnie z powrotem do menu GRUB, tak jakby system się restartował. To tak, jakby system nie mógł znaleźć odpowiednich plików do rozruchu (próbuję zgadnąć). W rzeczywistości, nawet jeśli wybiorę Ubuntu lub Windows z rozruchu systemu, ciągle przenosi mnie do menu GRUB.
Kurt Bourbaki
1
Naprawa rozruchu czasami zastępuje moduł ładujący Windows inną kopią GRUB, tworząc kopię zapasową oryginału w innym pliku. W menu Boot Repair Advanced dostępna jest opcja przywracania takich kopii zapasowych, więc możesz spróbować uruchomić je, a następnie użyć rEFInd. Możliwe jest również, że oryginał został utracony, w takim przypadku może być konieczne przywrócenie go z kopii zapasowej lub użycie dysku odzyskiwania systemu Windows. Jeśli rEFInd podnosi GRUB po wybraniu vmlinuz*opcji, oznacza to, że coś jest bardzo nie tak z twoim systemem. Jaki masz komputer / płytę główną marki?
Rod Smith
2

Możesz poradzić sobie z tym problemem w następujący sposób:

  1. Uruchom Gparted.

  2. Zidentyfikuj partycję rozruchową. Mój jest pierwszym 16,00 MB na moim dysku systemowym.

  3. Usuń partycję (nie będziesz chciał usuwać niewłaściwej partycji i stracił na niej wszystkie dane! Przestań, jeśli nie wiesz, co robisz!).

  4. Utwórz nową partycję (nie formatuj jej w żadnym systemie plików), zastosuj ustawienia.

  5. Flagi nowej partycji jako bios_grub przy użyciu opcji Zarządzaj flagami.

Teraz spróbuj ponownie uruchomić rozruch.

Yang
źródło
Właśnie to zrobiłem, a naprawa rozruchu nadal nie wyświetla partycji bios_grub ... co teraz?
Magix