Ubuntu 22.04 中可用的 UEFI/OVMF 固件有什么区别?在使用 UEFI 和安全启动的 QEMU/KVM 中构建通用 Windows 和 Linux VM 时,我应该使用哪个?
- OVMF_CODE_4m.fd
- OVMF_CODE_4m.ms.fd
- OVMF_CODE_4m.secboot.fd
- OVMF_CODE_4m.snakeoil.fd
- OVMF_CODE.fd
- OVMF_CODE.ms.fd
- OVMF_CODE.secboot.fd
Ubuntu 22.04 中可用的 UEFI/OVMF 固件有什么区别?在使用 UEFI 和安全启动的 QEMU/KVM 中构建通用 Windows 和 Linux VM 时,我应该使用哪个?
4M
是固件的大小,其他文件是2M。也许某些较旧的规格或较旧的设备具有较小的固件驻留区域?如果您想浏览历史 UEFI 规范以查看需求是否/何时更改(带有参考),请发表评论,我将编辑此答案。仅带有后缀的“普通”文件
CODE
是一种固件,它允许安全启动被破坏或禁用,例如<loader secure='no'>
在您的 libvirt 域 XML 中。如果您不想要安全启动,请使用这个。ms
用于带有 Microsoft 安全启动签名密钥的固件,实际上只是secboot
文件的符号链接。参考secboot
是支持安全启动(纯映像支持)并且还强制执行安全启动硬件要求的固件,例如 SMM(纯映像不支持)。如果您想要真正的安全启动,这是您应该使用的。 参考snakeoil
使用一组 Debian 私钥进行预签名,这些私钥随软件包一起提供,这样您就不必为了测试需要私钥的情况而从 Tianocore 的源代码重新编译。因为私钥是公共知识并且在其他所有人的系统上也是如此,所以你永远不应该在你的生产虚拟机上使用它。 参考