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)”.