Не вдається знайти каталог EFI: виправити встановлення grub


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 відповідно.

Я не дуже досвідчений із використанням команд mount або інших команд.

Відповіді:


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"


2
Дякую, grub-install --efi-directory=/boot/EFIяк я chroot у /mnt.
krishnakant

Можливо, дурний Q, але у мене немає реєстру 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

Режим порятунку груба може трактуватися як

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

Після входу введіть sudo update-grub && sudo grub-install /dev/sda.


Чи grub-installне слід робити раніше update-grub?
небезпека89
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.