Instalujesz aktualizację Windows, restartujesz i menu GRUB, które pozwalało wybierać między Linuksem a Windows, zniknęło. Komputer startuje prosto do Windows albo zatrzymuje się z komunikatem o naruszeniu polityki bezpieczeństwa. Zniknął GRUB po aktualizacji Windows wygląda groźnie, ale w większości przypadków oba systemy są nietknięte, a zmieniła się tylko ścieżka do menu startowego. Ten poradnik wyjaśnia zwykłe przyczyny na nowoczesnych komputerach UEFI i starszych maszynach z BIOS, jak bezpiecznie przywrócić GRUB i co sprawdzić, zanim zaczniesz.

Zniknął GRUB po aktualizacji Windows: dlaczego tak się dzieje

Na komputerze UEFI każdy system instaluje własny bootloader na partycji systemowej EFI, a firmware trzyma listę wpisów rozruchowych w ustalonej kolejności. Dual boot działa, gdy wpis Linuksa (shim i GRUB) jest pierwszy, a GRUB oferuje Windows jako wybór. Trzy rzeczy zwykle to psują:

  • Zmieniła się kolejność rozruchu. Duże aktualizacje Windows potrafią przywrócić Windows Boot Manager na szczyt listy firmware. GRUB jest nadal zainstalowany; po prostu nie jest już uruchamiany.
  • Unieważnienia Secure Boot. W sierpniu 2024 r. aktualizacja zabezpieczeń Windows zastosowała politykę Secure Boot (SBAT) na niektórych komputerach z dual boot, które powinna była pominąć, i Linux zatrzymywał się z komunikatem "Verifying shim SBAT data failed: Security Policy Violation". Późniejsze aktualizacje Windows przestały stosować to ustawienie, a zaktualizowane pakiety shim i GRUB z dystrybucji Linuksa je spełniają. Podobne unieważnienia będą się powtarzać, w miarę jak wycofywane są stare bootloadery, więc przestarzała instalacja Linuksa jest tą, którą najłatwiej odrzucić.
  • Systemy ze starszym BIOS. Na starszych komputerach startujących z głównego rekordu rozruchowego naprawa lub ponowna instalacja Windows może nadpisać kod rozruchowy MBR i zastąpić GRUB bootloaderem Windows.

Pierwsze sprawdzenia przed jakąkolwiek naprawą

  • Otwórz menu rozruchowe firmware. Większość komputerów pokazuje jednorazowe menu rozruchowe po naciśnięciu klawisza, takiego jak F12, F11 lub Esc, przy włączaniu. Jeśli na liście jest wpis Twojej dystrybucji Linuksa i uruchamia on GRUB, jedyną potrzebną poprawką jest kolejność rozruchu UEFI.
  • Znajdź klucz odzyskiwania BitLocker. Zmiana wpisów rozruchowych lub ustawień Secure Boot może sprawić, że Windows poprosi o niego przy następnym starcie. Na komputerach firmowych bywa przechowywany w Microsoft Entra ID lub Active Directory firmy, na osobistych na koncie Microsoft użytkownika. Bez klucza odzyskiwania BitLocker zaszyfrowanego dysku nie da się odczytać.
  • Wyłącz szybkie uruchamianie Windows, jeśli Linux ma zapisywać na partycji Windows, bo zahibernowana partycja Windows jest zablokowana przed zmianami.
  • Zanotuj dokładny komunikat o błędzie. "Security Policy Violation", znak zachęty grub rescue> i ciche uruchomienie Windows wskazują na różne poprawki.

Jak przywrócić GRUB na komputerze UEFI

Jeśli Linux startuje z menu firmware, kolejność można poprawić z poziomu Linuksa. Polecenie efibootmgr wypisuje wpisy rozruchowe i aktualną kolejność BootOrder, a efibootmgr -o z numerami wpisów w pożądanej kolejności, Linux pierwszy, utrwala zmianę. Niektóre firmware ignoruje to i resetuje kolejność, wtedy ustawienie trzeba zmienić w samym ekranie konfiguracji firmware.

Przywrócenie GRUB zmienia tylko pliki rozruchowe i wpisy rozruchowe; dokumenty i programy w obu systemach zostają na miejscu. Jeśli Linux w ogóle nie startuje, uruchom live USB tej samej dystrybucji, zamontuj zainstalowany system i jego partycję systemową EFI, a GRUB napraw z poziomu chroot. W Debianie i Ubuntu oznacza to ponowną instalację pakietów shim i GRUB EFI albo uruchomienie grub-install, a następnie update-grub. Przy błędzie SBAT udokumentowanym obejściem jest krótkie wyłączenie Secure Boot, uruchomienie Linuksa, zainstalowanie wszystkich oczekujących aktualizacji, w tym shim, a potem ponowne włączenie Secure Boot.

Społecznościowe narzędzie Linux Boot-Repair automatyzuje wiele z tych kroków z sesji live. Dobrze działa na prostych układach, ale przeczytaj, co proponuje, zanim się zgodzisz, zwłaszcza na zaszyfrowanych dyskach, macierzach RAID lub maszynach z więcej niż dwoma systemami. Jeśli wolisz w ogóle nie pracować w chroot, to właśnie takie zadanie realizuje nasza usługa naprawy GRUB i MBR.

Brak Windows w menu GRUB: ustawienie os-prober

Czasem GRUB się pojawia, ale wymienia tylko Linuksa. Od GRUB 2.06 krok os-prober, który szuka innych systemów, jest domyślnie wyłączony ze względów bezpieczeństwa, więc update-grub nie dodaje już Windows samodzielnie. Ustawienie GRUB_DISABLE_OS_PROBER=false w /etc/default/grub i ponowne uruchomienie update-grub przywraca wpis. Możesz też zostawić GRUB bez zmian i wybierać Windows z menu rozruchowego firmware, gdy go potrzebujesz.

Gdy poprawka leży po stronie Windows

Jeśli sam Windows już nie startuje, jego pliki rozruchowe na partycji EFI mogą być uszkodzone. W środowisku odzyskiwania Windows polecenie bcdboot odbudowuje je z folderu Windows, jak opisuje dokumentacja BCDBoot firmy Microsoft. Na komputerach ze starszym BIOS bootrec /fixmbr przywraca kod MBR Windows, co usuwa też GRUB ze ścieżki rozruchu, więc zaplanuj późniejsze przywrócenie GRUB, jeśli nadal chcesz mieć menu. Te same narzędzia, które naprawiają problemy z rozruchem Windows, mogą usunąć wpis Linuksa, więc przed ich użyciem sprawdź kopie zapasowe.

Najczęściej zadawane pytania: zniknął GRUB po aktualizacji Windows

Czy da się to naprawić bez live USB?

Często tak. Jeśli Linux nadal startuje z menu rozruchowego firmware, kolejność można poprawić z poziomu Linuksa przez efibootmgr albo w ustawieniach firmware. Live USB jest potrzebne tylko wtedy, gdy Linux w ogóle nie startuje.

Czy wyłączyć Secure Boot na stałe, żeby tego uniknąć?

Lepiej nie. Secure Boot chroni przed złośliwym oprogramowaniem ładowanym przed systemem operacyjnym. Aktualizuj Linuksa, żeby jego podpisane shim i GRUB były akceptowane, a Secure Boot wyłączaj tylko na krótko, gdy wymaga tego naprawa.

Dual boot nie działa po aktualizacji BIOS: czy to ten sam problem?

Często tak. Aktualizacje firmware mogą zresetować kolejność rozruchu, usunąć własne wpisy rozruchowe lub przywrócić domyślne ustawienia Secure Boot. Obowiązują te same sprawdzenia: najpierw menu rozruchowe firmware, potem poprawa kolejności przez efibootmgr albo odtworzenie wpisu Linuksa.

Jak zapobiec temu, żeby kolejna aktualizacja nie zepsuła dual boot?

Aktualizuj oba systemy, przechowuj klucz odzyskiwania BitLocker w miejscu dostępnym z innego urządzenia i raz sprawdź kolejność rozruchu po dużych aktualizacjach Windows. Zainstalowanie każdego systemu na osobnym dysku ogranicza też, jak wiele może zmienić jedna aktualizacja.

Utknąłeś na błędzie rozruchu na komputerze lub serwerze w Los Angeles? Nasza usługa naprawy GRUB obejmuje komputery z Linuksem, Windows i dual boot, zarówno z UEFI, jak i ze starszym BIOS, a jeśli dysk pokazuje oznaki awarii, najpierw kopiujemy Twoje dane. Gdy przyczyną okaże się sprzęt, kolejnym krokiem jest nasza usługa naprawy komputerów i laptopów. Skontaktuj się z nami, wysyłając zdjęcie dokładnego komunikatu o błędzie.