Ответ @NicholasEmbry содержит почти все, что нужно, но я хотел бы прояснить некоторые вещи и добавить последние улучшения в этой области.
Добавление образа приложения UEFI в вариант загрузки на самом деле является наиболее известным методом, когда у вас нет исходного кода вашей прошивки, что является типичной ситуацией. Вам не нужно создавать какой-либо специальный загрузочный образ, это должен быть простой образ приложения UEFI, что означает, что ваш INF
должен содержать:
MODULE_TYPE = UEFI_APPLICATION
Этот параметр предназначен не только для дополнительных ПЗУ, но и для всех читаемых носителей UEFI. Например, вы можете создать раздел FAT32
на вашем хранилище (независимо от того, USB это, жесткий диск, твердотельный накопитель и т. д., он просто должен быть доступен для чтения прошивкой) и поместить образ приложения на этот раздел. Затем загрузитесь в оболочку UEFI и используйте команду bcfg
, чтобы изменить порядок загрузки.
Команда bcfg
может быть заблокирована вашим поставщиком BIOS. В этом случае следуйте процедуре из этого сообщения. Это загрузка rEFInd с USB-накопителя. rEFInd
содержит bcfg
инструмент и дает вам возможность его использовать.
Как использовать bcfg
?
Все описано в справке help bcfg -b
. -b
— пейджер UEFI. Для тех, кто любит ярлыки, эта команда отобразит все параметры загрузки в системе:
bcfg boot dump -v
Вы можете добавить свое приложение с помощью команды:
bcfg boot add <boot_pos> <path_to_uefi_image> <boot_order_name>
<boot_pos>
- позиция в порядке загрузки. Обратите внимание, что обычно вы хотите поместить свое приложение перед ОС. Если перед вашей ОС нет номера варианта бесплатной загрузки, вы, конечно, можете переместить свою ОС на один параметр вниз bcfg boot mv <old_pos> <new_pos>
, а затем добавить образ своего приложения между ними.
<path_to_uefi_image>
- путь к вашему образу UEFI. Это читаемый путь UEFI, т.е. fs0:\foobar.efi
<boot_order_name>
- так ваше приложение будет видно в меню загрузки BIOS
person
Piotr Król
schedule
11.01.2016