LINUX.ORG.RU

Не сохраняются настройки efibootmgr

 , , ,


0

2

Обновил BIOS. При этом то ли слетели настройки, то ли включение «оптимизированных настроек» сбрасывает настройки загрузки. Теперь не могу настроить загрузку efibootmgr-ом.

# efibootmgr -c -L GRUB -l '\EFI\gentoo\grubx64.efi'
Timeout: 1 seconds
BootOrder: 0000
Boot0000* GRUB  HD(1,GPT,47aa9c71-d93e-4ca0-a57e-dd1806d886b9,0x800,0x918596800)/\EFI\gentoo\grubx64.efi
# efibootmgr -v
Timeout: 1 seconds
BootOrder: 0000
Boot0000* GRUB  HD(1,GPT,47aa9c71-d93e-4ca0-a57e-dd1806d886b9,0x800,0x918596800)/\EFI\gentoo\grubx64.efi
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 68 59 18 09 00 00 00 71 9c aa 47 3e d9 a0 4c a5 7e dd 18 06 d8 86 b9 02 02 / 04 04 34 00 5c 00 45 00 46 00 49 00 5c 00 67 00 65 00 6e 00 74 00 6f 00 6f 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00

Перезагружаюсь. Вместо GRUB получаю настройки UEFI. Вручную запускаю fs0:\EFI\gentoo\grubx64.efi. Загружаю Линукс, вижу:

# efibootmgr 
Timeout: 1 seconds
No BootOrder is set; firmware will attempt recovery

Материнская плата MSI PRO B850-P WIFI, биос AMI. Secure Boot отключил. Какие ещё настройки нужны?

ОТВЕТ: При перезагрузке сбрасывались записи с неверным разделом. Нужен был 2, по умолчанию создаётся для 1. Правильная команда: efibootmgr -c -L GRUB -d /dev/sda -p 2 -l '\EFI\gentoo\grubx64.efi'. Почему-то efibootmgr -b 0000 -L GRUB -d /dev/sda -p 2 -l '\EFI\gentoo\grubx64.efi' отрабатывает без ошибок, но номер раздела не меняет.

★★★★★

Последнее исправление: question4 (всего исправлений: 2)

Поэкспериментировал немного с Secure Boot. sys-boot/grub у меня собран с USE="-secureboot", и при попытке загрузить его при включённом «Secure Boot» загрузка стопорится, показывая приглашение Grub shell. А вот ядро sys-kernel/gentoo-sources-6.12.90-r3 оказалось собрано с его поддержкой и нормально загрузилось с раздела EFI, когда я вписал в efibootmgr ... -u '...' нужную командную строку.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Получается вы меняли мамашку и оно не прописалось? Было у меня такое, думаю сейчас пропишу efiboomgr’ом и всего делов. Прописалось, по крайней мере он мне так отрапортовал (ну как у вас в общем та). Перезагрузился и ничего нет, никаких записей. Вручную через EFI shell загрузился, сделал grub-install - все, запись в NVRAM появилась. ИИ-шка строила догадки в чем разница между прописыванием загрузочной записи через grub и через efibootmgr, но так и не смогла ничего внятного сказать.

yaba ★★★
()
Последнее исправление: yaba (всего исправлений: 1)
Ответ на: комментарий от yaba

вы меняли мамашку и оно не прописалось?

Когда менял — прописалось. Когда обновил прошивку — сбросилось. Когда прописывал повторно — наложились 2 проблемы пользовательских интерфейсов. efibootmgr не предупреждает, что очередная команда не выполнилась, а прошивка не предупреждает, когда сбрасывает невалидные записи в таблице. Поэтому я был уверен, что можно прописать и 0-й, и 1-й, и 2-й раздел, но грузиться не будет ни с какого.

сделал grub-install - все, запись в NVRAM появилась

Не делал. У меня просто лежит этот файл на разделе EFI, а загрузку настраиваю efibootmgr-ом.

question4 ★★★★★
() автор топика
Ответ на: комментарий от yars068

Тогда я бы скопировал grubx64.efi в BOOTx64.efi, да и всë. Последний вообще автоматом должен подхватываться.

Так я и собирался в итоге сделать. Но решил уточнить правила нумерации разделов.

question4 ★★★★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария