Próbowałem uratować GRUB w Linuksie. Udało mi się zalogować do systemu operacyjnego zgodnie z tym samouczkiem:

https://www.lisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/

Muszę zaktualizować GRUB, aby naprawić problem. Jednak po uruchomieniu grub-install pojawia się błąd:

$ grub-install /dev/sda grub-install: error: cannot find EFI directory. 

Mój system plików zawiera , sda5 i sda6 odpowiednio dla systemu EFI, wymiany Linuksa i systemu plików Linux.

Nie mam dużego doświadczenia w używaniu poleceń mount lub innych poleceń.

Odpowiedź

Po uruchomieniu grub-install domyślnie zakłada, że system EFI jest zamontowany jako / boot / efi

To zależy od twojej dystrybucji gdzie system EFI jest zamontowany, aw niektórych dystrybucjach nie jest montowany po uruchomieniu.

Najpierw sprawdź, czy / boot / efi jest zamontowany za pomocą

mount | grep /boot/efi 

Jeśli to nie zadziała, najpierw spróbuj wykonać poniższe czynności, aby sprawdzić, czy nie jest zamontowane w innym miejscu.

mount | grep /dev/[efi device] 

Jeśli żadna z tych czynności nie zadziała:

mount /dev/[efi device] /mnt 

Teraz uruchom:

grub-install --efi-directory=[efi dir] grub-mkconfig -o /boot/grub/grub.cfg 

gdzie [efi dir] to / boot / ef i lub / mnt, a [urządzenie efi] to urządzenie z partycją systemową EFI. Jeśli nie wiesz, użyj polecenia lsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

Komentarze

  • Dzięki, w grub-install --efi-directory=/boot/EFI jak chroot do /mnt.
  • Może głupie pytanie, ale nie ' t mieć katalog EFI. Gdzie mogę taki plik? Mam na myśli, że ma on zawierać pliki, które polecenie może go odtworzyć?
  • @LennartRolland Jeśli masz system zgodny z UEFI, dysk systemowy będzie ma partycje GPT i zawiera " partycję systemową UEFI. " zwykle pierwszą partycję i będzie typu EF00. Wiele dystrybucji zostanie podłączonych to domyślnie, ponieważ / boot / efi, aby między innymi umożliwić programowi ładującemu GRUB aktualizację swoich plików. Jeśli nie, ' będziesz musiał samodzielnie go zamontować i dodać do fstab. może również mieć system UEFI, ale korzysta z trybu starszego, co oznacza, że partycje będą typu msdos i wygrałeś ' nie masz a / boot / efi. Istnieją dziwniejsze konfiguracje, ale dotyczy to większości z nich.
  • Twoje instrukcje, jeśli EFI nie jest zamontowany, są błędne. Zobacz moją edycję. mount | grep /dev/sda6 nie ' nie działa. Jeśli EFI nie jest zamontowany, musisz sprawdzić partycje pod kątem typu.
  • @giusti Prawdopodobnie lepiej nie robić konkretnych odniesień do nazw urządzeń.

Odpowiedź

Tryb ratunkowy Gruba można traktować jako

set root=(hd0,gpt6) set prefix=(hd0,gpt6)/boot/grub insmod normal normal 

Po zalogowaniu wprowadź sudo update-grub && sudo grub-install /dev/sda.

Komentarze

  • Czy grub-install nie jest gotowe przed update-grub?
  • po wpisaniu pierwszego polecenia otrzymałem " bash: błąd składni prawie nieoczekiwany token `(' "
  • @ Another.Chemist: podane polecenia powinny iść Myślę, że do interaktywnej konsoli GRUB. To byłoby przed uruchomieniem jądra. Twój błąd wygląda na to, że wpisałeś polecenia w Bash.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *