Po aktualizacji otrzymaj „błąd: nie znaleziono pliku.”, A następnie „grub rat>>”

23

Właśnie zainstalowałem sporo aktualizacji 12.10, został poproszony o ponowne uruchomienie, a potem okazało się, że nie mogę uruchomić.

8128
źródło
Ponieważ nie mogę jeszcze dodawać komentarzy od mojej niskiej reputacji, dodam ten komentarz w ten sposób ... Użyłem 8128s Odpowiedz z naprawą rozruchu, ale musiałem dodać tę linię przed aktualizacją apt-get sudo sed / s-trusty / saucy / g '-i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list, jak widać w linku, który dodał do odpowiedzi
Dominik

Odpowiedzi:

28

Użyj narzędzia Boot Repair, aby naprawić program ładujący.

  1. Uruchom Ubuntu z LiveCD lub Live USB
  2. Połącz z internetem
  3. Otwórz terminal i dodaj PPA Boot Repair

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

  4. Zainstaluj Boot Repair

    sudo apt-get install -y boot-repair && boot-repair

  5. Uruchom i użyj, patrz https://help.ubuntu.com/community/Boot-Repair#Using_Boot-Repair, aby uzyskać więcej informacji

8128
źródło
Musiałem uruchomić 3. jako root (sudo su) zamiast po prostu sudo
David Brossard
1
DZIĘKUJĘ CI!! Zapisałem mój serwer po awarii zasilania. Czas kupić UPS!
Domenic D.
używane z Kubuntu 13.10 i działało. Dzięki.
David
9
  1. Wpisz, lsaby uzyskać listę partycji
  2. Enter set prefix=(hd0,msdos6)/boot/grub[prawie na pewno będziesz musiał wprowadzić inny dysk / partycję w nawiasach, możesz po prostu wypróbować wszystkie wymienione przez, lsaż znajdziesz ten, który działa.
  3. Rodzaj insmod normal
  4. Wpisz, normala otrzymasz z powrotem monit o uruchomienie!

Zobacz także: Przydatne miejsce, w którym to znalazłem. Wątpię, czy to zadziała dla każdego, kto napotka ten błąd, ale umieściłem go tutaj w nadziei, że komuś to pomoże.

Po załadowaniu Ubuntu uruchom sudo grub-install /dev/sdai sudo update-grubjak najszybciej. Oznacza to, że nie będziesz musiał wykonywać tego żmudnego procesu powyżej przy każdym uruchomieniu komputera.

8128
źródło
9
kiedy uruchamiam insmod normalnie, znowu mówi, że nie znaleziono pliku
tovmeod,
1
Możesz także użyć polecenia, ls (hd0,msdos1)/aby sprawdzić zawartość partycji, co byłoby szybsze, jeśli masz wiele partycji.
Jonathan
Działa to dla mnie, z tym wyjątkiem, że mam osobną partycję rozruchową, więc format był taki set prefix=(hd0)/grub, ponieważ musisz odwoływać się do grubkatalogu w stosunku do partycji na dysku, a nie w stosunku do jego punktu podłączenia podczas normalnej pracy.
Nick Coons,
4

Miałem dokładnie ten sam problem - normal.mod not found, lspartycji rozruchowej przyniosłoby pusty wiersz. Po tygodniu rozwiązywania problemów z prawidłowym uruchomieniem systemu oto kroki, które przeszedłem.

  1. Mam kopię SuperGrub i utworzyłem bootowalną płytę CD. Mogę teraz zalogować się ponownie do mojego systemu. Dostałem kopię BootRepair i nie miałem szczęścia, że ​​system uruchomił się bezpośrednio z dysku twardego i musiał nadal korzystać z dysku CD. BootRepair działał trochę dziwnie, ponieważ lokalizacja Grub i opcje Grub były wyszarzone. Zgłoszono pomyślną instalację.

  2. Dysk twardy został pierwotnie skonfigurowany:
    sda1 ext4 root with boot
    sda2 linux swap
    sda3 ext4 used as a spare drive(zawiera maszyny wirtualne dla wirtualnego urządzenia).

  3. Wykorzystano kopię Live CD Ubuntu 10.10. Ran GPartedZainstaluj gparted , aby zmniejszyć sda1partycję i utworzone sda4partycje ext4 startowego na przedniej części napędu i ustawić punkt montowania na /bootpo usunięciu z katalogu startowego /. BootRepair ma teraz dostępne opcje. Zainstalowany na partycji rozruchowej i może teraz uruchamiać się z dysku twardego.

  4. Będąc ciekawym postanowiłem zbadać dalej. Dziennik naprawy rozruchu miał osobny wpis dla mojej sda1partycji ext4, został zgłoszony jako DOSi miał krótki 8-znakowy UUID zamiast UUID zgłaszanego przez blkid. grub-probezgłosił system plików jako vfat.

  5. Po wielu innych próbach wyczyściłem pierwsze 440 bajtów sda1rekordu partycji. Grub-probeteraz zgłasza system plików jako ext2. Uruchomiono update-grubi sda1pojawia się poprawny identyfikator UUID dla partycji.

Wydaje się, że problem jest dwojaki:
1. Wydaje się, że wpływa na instalacje, w których rekord partycji zawiera odniesienia do msdos.
2. grub-probenie próbuje rozwiązać problemów niezgodności między typem fs a zawartością w rekordzie partycji.

Mark Milakovic
źródło
1

Kolejną rzeczą do sprawdzenia jest kolejność rozruchu w systemie BIOS. Najwyraźniej zainstalowałem gruba zainstalowanego na wszystkich moich dyskach (być może po odpowiedzi 8128), ale to się zepsuło podczas aktualizacji mojej dystrybucji Linuksa (Debian). Zmieniłem pierwszy dysk rozruchowy, gdy mój system operacyjny Linux go naprawił.

Jonathan
źródło
0

Natknąłem się na ten błąd podczas aktualizacji do Kubuntu 13.10. Podczas aktualizacji systemu miałem kartę pamięci podłączoną do portu USB. Po ponownym uruchomieniu przeszedłem prosto do Grub Rescue. Odłączenie napędu USB i ponowne uruchomienie rozwiązało problem.

David Walker
źródło
-1

W moim przypadku obniżyłem wersję do GRUBv1 i po aktualizacji do 12.10 grub2 nie mógł znaleźć swoich plików (* .mod itp.), Mimo że grub.cfg już tam był.

Znalazłem bardziej wyczerpujący podręcznik na temat ratowania gruba: https://help.ubuntu.com/community/Grub2/Troublesh#grgr_rescue.3E-1

Zobacz także listę poleceń na początku strony. Thx flet fletowy.

iceburn_pt
źródło