Не удается найти каталог EFI: проблема с grub-install

14

Я пытался спасти GRUB в Linux. Я смог войти в ОС после этого урока:

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

Я должен обновить GRUB, чтобы исправить проблему. Однако, когда я бегу grub-install, я получаю сообщение об ошибке:

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

Моя файловая система содержит sda4, sda5и sda6для системы EFI, Linux swap и Linux file system соответственно.

Я не очень опытен в использовании mount или других команд.

krishnakant
источник

Ответы:

11

При запуске grub-install по умолчанию предполагается, что система EFI смонтирована как / boot / efi

Это зависит от вашего дистрибутива, где смонтирована система EFI, и от некоторых дистрибутивов она не монтируется после загрузки.

Сначала проверьте, смонтирован ли / boot / efi с

mount | grep /boot/efi

Если это не сработает, сначала попробуйте следующее, чтобы посмотреть, смонтировано ли оно где-либо еще.

mount | grep /dev/[efi device]

Если ни одна из этих работ не делает:

mount /dev/[efi device] /mnt

Теперь запустите:

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

где [efi dir] - это / boot / efi или / mnt, а [efi device] - это устройство с системным разделом EFI. Если вы не знаете, используйте командуlsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

jdwolf
источник
2
Спасибо, grub-install --efi-directory=/boot/EFIкак я в chroot /mnt.
krishnakant
Может быть, глупый вопрос, но у меня нет режиссера EFI. Где я могу получить один? Я имею в виду, что он должен содержать файлы, какая команда может его воссоздать?
Леннарт Роллан
@LennartRolland Если у вас есть UEFI-совместимая система, то ваш системный диск будет разделен на GPT и содержит «Системный раздел UEFI». обычно первый раздел и будет иметь тип EF00. Многие дистрибутивы будут монтировать это по умолчанию как / boot / efi, чтобы, среди прочего, позволить загрузчику GRUB обновить свои файлы. Если нет, вам придется смонтировать его самостоятельно и добавить в fstab. У вас также может быть система UEFI, но она использует устаревший режим, что означает, что ваши разделы будут иметь тип msdos и у вас не будет / boot / efi. Более странные конфигурации существуют, но это охватывает большинство из них.
jdwolf
Ваши инструкции, если EFI не установлен, неверны. Смотрите мое редактирование. mount | grep /dev/sda6не работает Если EFI не смонтирован, вы должны проверить тип разделов.
giusti
@giusti Вероятно, лучше просто не делать ссылки на конкретные имена устройств.
jdwolf
1

Grub Rescue Mode можно рассматривать как

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

После входа в систему введите sudo update-grub && sudo grub-install /dev/sda.

defalt
источник
Если grub-installне сделано до update-grub?
danger89