默认 UEFI 启动顺序(在固件映像中)

Dav*_*rri 6 firmware uefi

使用 EDK2 构建固件,提供自定义默认启动顺序的最简单方法是什么?

例如,我知道 QEMU 的 Ovmf 基于 QEMU 的“bootorder”fw_cfg 文件(使用 QemuBootOrderLib 中的代码)以编程方式重新定义 UEFI 启动顺序。因此,类似地,我可以以编程方式指定和强制执行启动顺序。

有没有更简单的方法来实现这一点(也许为 UEFI 变量提供自定义值)?

注意:不使用shell!我需要将此配置包含在固件映像中!

小智 2

您需要提供 Boot0001/Boot0002/... 和 BootOrder 变量。第一个具有指定的格式,并且需要有效的设备路径才能正常工作,因此您的启动设备也应该预定义,第二个只是 UINT16 的列表。阅读本文以获取更多信息。