Mam skonfigurowany system multiboot. System ma trzy dyski. Multiboot jest skonfigurowany z Windows XP, Windows 7 i Ubuntu - wszystko na pierwszym dysku. Na dysku pozostało mi dużo niepartycjonowanego miejsca i rezerwowałem je na dodawanie innych systemów operacyjnych i przechowywanie tam plików w przyszłości.
Pewnego dnia poszedłem naprzód i pobrałem Kreatora partycji i utworzyłem logiczną partycję NTFS z poziomu Windows 7, wciąż pozostawiając trochę niepartycjonowanego miejsca. Wszystko działało dobrze, dopóki kilka dni później nie uruchomiłem ponownie komputera.
Teraz dostaję:
error: unknown filesystem.
grub rescue>
Przede wszystkim byłem zaskoczony, że nie znalazłem żadnego polecenia pomocy, próbując:
help
, ?
, man
, --help
, -h
, bash
, cmd
, Itd.
Teraz utknąłem z systemem innym niż bootowalny. Zacząłem badać problem i stwierdziłem, że ludzie zwykle zalecają uruchomienie z Live CD i stamtąd naprawiają problem. Czy istnieje sposób, aby rozwiązać ten problem z poziomu programu ratującego grub bez konieczności Live CD?
AKTUALIZACJA
Wykonując kroki z poleceń Persist wpisanych do ratowania GRUB , mogłem uruchomić system z poleceniem initramfs. Ale nigdzie dalej.
Do tej pory nie czytałem instrukcji na temat ratowania gruba , mogłem zobaczyć moje dyski i partycje za pomocą ls
polecenia. W przypadku pierwszego dysku twardego widzę:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)
Wiem teraz, że (hd0, msdos6) zawiera na nim Linuksa, ponieważ ls (hd0,msdos6)/
zawiera listę katalogów. Inni podadzą „błąd: nieznany system plików”.
AKTUALIZACJA 2
Po następujących poleceniach przechodzę teraz do menu rozruchu i mogę uruchomić system Windows 7 i Ubuntu, ale po ponownym uruchomieniu muszę powtórzyć te kroki.
ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal
AKTUALIZACJA 3
Dzięki Shashank Singh, dzięki waszym instrukcjom uprościłem moje kroki do następujących. Nauczyłem się od ciebie, że mogę zastąpić msdos6 tylko 6 i że mogę to zrobić insmod normal
zamiast insmod /boot/grub/linux.mod
. Teraz muszę tylko wymyślić, jak zapisać te ustawienia z poziomu samego gruba, bez uruchamiania systemu operacyjnego.
set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal
AKTUALIZACJA 4
Wygląda na to, że jest to wymagane do rozruchu w systemie Linux. Po uruchomieniu systemu Ubuntu wykonałem następujące kroki opisane w instrukcji :
sudo update-grub
sudo grub-install /dev/sda
To nie rozwiązało problemu. Nadal pojawia się komunikat ratowania gruba. Co muszę zrobić, aby to naprawić na stałe?
Dowiedziałem się również, że numery napędów jak w hd0 muszą być tłumaczone na litery napędów jak w / dev / sda dla niektórych poleceń. hd1 to sdb, hd2 to sdc i tak dalej. Partycje wymienione w grub jako (hd0, msdos6) zostaną przetłumaczone na / dev / sda6.
AKTUALIZACJA 5
Nie mogłem zrozumieć, dlaczego następujące czynności nie naprawiły grub:
sudo update-grub
sudo grub-install /dev/sda
Więc pobrałem naprawę rozruchu na podstawie odpowiedzi z https://help.ubuntu.com/community/Boot-Repair postu. Wydawało się, że to załatwia sprawę po wybraniu opcji „Zalecana naprawa (naprawia najczęściej występujące problemy)”.
Odpowiedzi:
Nie mogłem zrozumieć, dlaczego następujące czynności nie naprawiły grub:
Pobrałem więc naprawę rozruchu na podstawie odpowiedzi z komend Persist wpisanych na postu ratunkowym GRUB . Wydawało się, że to załatwia sprawę po wybraniu opcji „Zalecana naprawa (naprawia najczęściej występujące problemy)”.
Użyłem również Grub Customizer, aby dostosować kolejność wpisów rozruchowych.
źródło
/dev/sda1
)” podczas rozruchu.Istnieje alternatywna przyczyna tego problemu. W tym konkretnym przypadku GRUB był w jakiś sposób uszkodzony i wymagał naprawy lub ponownej instalacji. Jednak, jak pokazano w Gracie Rescue nie powiodło się z „Boot Repair” z błędem „nieznany system plików” , możliwe jest również, że partycja główna, na której zainstalowany jest GRUB, może zostać uszkodzona. Aby to naprawić:
Jest to możliwe rozwiązanie, ale nie powinno się go używać, aby uniknąć dalszego uszkodzenia partycji root. Po uruchomieniu polecenia
fsck -t ext4 /dev/sda1
program próbuje wyszukać i naprawić błędy w uszkodzonym systemie plików. Zastąp sda1 rzeczywistą partycją root. Zamień ext4 na rzeczywisty system plików; musisz znać system plików, w przeciwnym razie partycja będzie bardziej uszkodzona. Aby uzyskać więcej informacji, zobacz Naprawianie uszkodzonego systemu plików .Mimo że to pytanie ma odpowiedź, istnieje alternatywny sposób rozwiązania problemu, który zadziałał dla mnie. Kroki opisano w bolesnym wideo Grub Rescue - przewodnik dla początkujących . Krótko mówiąc, całkowicie ponownie zainstaluje GRUB 2 zamiast go naprawić.
Ponieważ oglądanie tego filmu jest tak bolesne, wymienię poniższe kroki (tak jak powinienem, bez względu na to, jak bolesne jest oglądanie filmu)
mount
polecenia, aby znaleźć nazwę partycji.sudo mkdir /media/ubuntu
. Następnie po prostu zamontuj partycję w tym folderze.sudo mount /dev/sdxx /media/ubuntu
gdziexx
osdxx
jest określone w etapie 3.Powiąż następujące katalogi z katalogu głównego na żywo CD / USB do katalogu głównego w twojej wersji Ubuntu. Katalogi to
dev
proc
isys
. Zrób to za pomocą następujących poleceń:Zmień katalog główny na katalog na partycji Ubuntu.
sudo chroot /media/ubuntu/
sudo grub-install /dev/sdx
I w ten sposób naprawiasz GRUB-a za pomocą Live CD / USB. Ta metoda została opracowana przez użytkownika YouTube Crazytechzone.
źródło
Posługiwać się:
set prefix=(hdX,Y)/boot/grub
. Użyj wcześniej ustalonych wartości.Przykład: jeśli system Ubuntu jest na sda5, wprowadź:
set prefix=(hd0,5)/boot/grub
set root=(hdX,Y)
. Przykład:set root=(hd0,5)
insmod normal
. Spróbuj załadować normalny moduł.normal
Zasadniczo potrzebujemy GRUB, aby wiedzieć, gdzie
/boot/grub
jest folder. Jeśli to nie działa, wydaje się, że dobrym pomysłem jest instalacja GRUB-a z płyty rozruchowej.źródło
Zabawne, miałem ten sam problem godzinę temu!
W każdym razie to właśnie zrobiłem.
Załaduj ubuntu:
skoro twoje Ubuntu jest zainstalowane w wersji 6, prawda?
uruchomić terminal:
źródło
Zainstaluj Boot-Repair w Ubuntu
Uruchom komputer na Ubuntu Live-CD lub Live-USB.
Wybierz „Wypróbuj Ubuntu”
Połącz z Internetem
Otwórz nowy terminal ( Ctrl+ Alt+ T), a następnie wpisz:
Prasa Enter.
Następnie wpisz:
Prasa Enter.
Korzystanie z naprawy rozruchu
Zalecana naprawa
Uruchom Boot-Repair z:
za. Dash (logo Ubuntu w lewym górnym rogu ekranu)
b. Lub System-> Administracja-> Menu Boot-Repair (tylko Ubuntu 10.04)
do. Lub wpisując „boot-repair” w terminalu
Następnie kliknij przycisk „Zalecana naprawa”. Po zakończeniu naprawy zanotuj adres URL (paste.ubuntu.com/XXXXX), który pojawił się na papierze, a następnie uruchom ponownie i sprawdź, czy odzyskałeś dostęp do swoich systemów operacyjnych.
Jeśli naprawa się nie powiodła, podaj adres URL osobom, które pomogą Ci przez e-mail lub forum.
źródło
Inną przyczyną tego problemu jest awaria systemu plików na dysku rozruchowym w rzadkich przypadkach. Jak wspomniano w innych odpowiedziach, początkowo używam
ls
polecenia, aby wyświetlić listę wszystkich dysków / partycji w wierszu ratunkowym GRUB, ale wszystkie zgłaszają nieznany błąd systemu plików . W końcu naprawiłem problem na Ubuntu 16.04 (Xenial Xerus), odzyskując system plików w następujący sposób:Uruchom z pamięci USB (wypróbuj Ubuntu bez instalacji)
Znajdź dysk rozruchowy (sprawdź pojemność dysku lub wykonaj czynności
fsck
na każdej partycji):Odzyskaj system plików:
Po naprawieniu i wyczyszczeniu systemu plików uruchom ponownie komputer z napędu rozruchowego.
źródło