Jestem w trakcie podobnego problemu (nawiasem mówiąc, również na łuku)
Grub nie może znaleźć tego pliku i uruchomić go, ponieważ używa niepoprawnego „przedrostka”
Oto co robisz. Uruchamiasz tryb ratowania gruba, a następnie po prostu zastanawiasz się, jak go uruchomić.
Najpierw uruchom zestaw, wyświetli to zmienne, na przykład moja jest
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
Teraz przedrostek jest zmienną, w której grub szuka pliku normal.mod. W moim przypadku hd1, msdos3 jest taki sam jak / dev / sdb3 (podobnie, hd0, msdos1 to / dev / sda1), co możesz chcieć zrobić, aby zobaczyć listę poprawnych partycji, wpisz ls
Teraz, w moim przypadku, ponownie grub został zainstalowany na / dev / sdb1, który został zamontowany jako / boot na mojej partycji arch, więc poprawnym prefiksem będzie (hd1, msdos1) / grub
Aby uruchomić, muszę to zrobić:
set prefix=(hd1,msdos1)/grub
insmod normal
normal
W twoim przypadku będziesz musiał zapamiętać lub zgadnąć, na której partycji zainstalowałeś grub. Możesz zgadnąć źle, nie spowoduje to żadnej szkody, polecenie insmod po prostu się nie powiedzie i możesz spróbować ponownie z inną partycją.
Następnie grub załaduje się tak, jak powinien, i mogę wybrać z listy to, co chcę uruchomić. Zwykle, gdy pojawia się taki bałagan, ponowna instalacja gruba na mbr (za pomocą grub-install ) powinna go naprawić na stałe, więc nie musisz tego robić przy każdym uruchomieniu. Mam jednak trudności z ustaleniem, co zrobić, jeśli naprawienie tego nie jest takie proste (lub podzieliłbym się tym, co powinieneś zrobić).
Tylko jeśli to się nie powiedzie (np. Jeśli prefiks jest poprawny, ale nadal nie można uruchomić systemu), powinieneś skorzystać z Live lub uratować płyty CD, aby obejść problem (najlepiej tego uniknąć)
grub-install
. Nie musisz powtarzać żadnego z tych kroków, po prostu użyj ich jako przewodnika, aby uzyskać chrootację z liveCD.