主要观点:Edk2 是官方 UEFI 实现,存在无法指定默认启动项的问题,作者做了一个补丁来添加选择启动项的 PCD 选项。
关键信息:
- 提供了编译 Edk2 的完整步骤,包括下载源码、设置环境等。
- 给出了添加的补丁内容,包括对多个文件的修改。
- 说明了应用补丁后 Edk2 可接受新的配置键来指定默认启动项。
- 介绍了如何找到固件 GUID 和应用 GUID 以选择默认启动。
- 提及可使用 QEMU 进行测试,以及 QEMU 会自动创建 NVStore 和设置 BootOrder。
- 提供了替代方法,即通过
virt-fw-vars
来闪存目标设备的 NVRAM。
重要细节: - Edk2 源码有 CRLF 行结尾和空白行,可能会干扰补丁命令,但 git apply 可正常工作。
- 构建固件时可通过
build
命令指定默认启动项。 - 在测试中可使用
qemu-system-x86_64
命令,并可通过fw_cfg
配置。 - 替代方法可参考 stackoverflow 帖子获取更多细节。总结:通过添加补丁和特定的构建及测试步骤,可在编译阶段选择 Edk2 的默认启动项,无需触及 NVStore,提供了多种方式来处理默认启动相关的问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。