Использование efibootmgr, чтобы сделать диск постоянным приоритетом загрузки без изменения порядка загрузки.

Я пытаюсь написать скрипт, который запускается в initramfs и использует efibootmgr для постоянной установки наивысшего приоритета загрузки без необходимости переназначать порядок загрузки.

efibootmgr -n 000A например, идеально подходит для этого, поскольку он устанавливает диск 000A быть приоритетом загрузки, но только для следующей загрузки.efibootmgr -o требует, чтобы мы перечислили все диски и переназначили их порядок, что усложняет сценарий, так как мне нужно было бы получить эти значения и проанализировать их обратно в efibootmgr Команда для повторного заказа.

Есть ли способ изменить приоритет загрузки, когда мне нужно ссылаться только на диск, который я пытаюсь сделать приоритетным, а не переписывать иерархию?

1 ответ

Краткий ответ: Нет.

Длинный ответ: во-первых, следует понимать, что EFI не загружает "диски", за исключением определенных ограниченных случаев или при ограниченных обстоятельствах. Наиболее часто используемые загрузочные записи efibootmgr предназначены для программ начального загрузчика EFI, которые хранятся в ESP в виде обычных файлов. Это может показаться тонким различием, но попытка решить вашу проблему без понимания может привести к ошибкам и / или ограниченному решению.

Разбор efibootmgr выход, вероятно, потребуется, чтобы делать то, что вы хотите сделать. Это не должно быть очень сложно; понимание нескольких общих команд, используемых в скриптах Bash, таких как grep а также cut, займет у вас долгий путь.

В качестве альтернативы, если ваша цель - восстановить порядок загрузки, потерянный из-за глючного EFI, вы можете посмотреть в fallback.efi программа. AFAIK, он не доступен в Ubuntu, но поставляется с Fedora. Эта программа восстановит набор переменных загрузки NVRAM из файла, если они потеряны. Он предназначен для размещения в EFI/BOOT и запускается из Shim (который запускает его автоматически), так что загрузочные записи прошивки будут восстановлены в случае их утери. У этого подхода есть некоторые проблемы, такие как загромождение ESP еще большим количеством файлов и создание новых пялец, через которые вы должны перейти, если хотите изменить загрузочные записи, но это может быть то, что вам нужно.

Другие вопросы по тегам