QEMU-KVM UEFI 安全启动不起作用

QEMU-KVM UEFI 安全启动不起作用

我尝试在 QEMU-KVM 中测试这一点:

https://www.knopper.net/knoppix/knoppix-uefi-en.html

我的主机操作系统是 Debian 11 AMD64。我有奥维.deb 包已成功安装。我像这样将 OVMF 添加到我的虚拟机中,但安全启动不起作用,只有 UEFI:

kvm \
   -bios /usr/share/qemu/OVMF.fd \
   -monitor stdio \
   -cpu host \
   -smp cores=4,threads=2 \
   -k en \
   -machine accel=kvm \
   -m 4096 \
   -hda Knoppix.9.2.qcow2 \
   -net nic -net user \
   -usb -device usb-tablet \
   -rtc base=localtime \
   -name "Knoppix 9.2"

在物理 UEFI 中,Knoppix 9.2 的安全启动运行良好。

提前致谢。

答案1

OVMF 文档指出,-pflash如果您想要安全启动,则必须使用该参数:

  • 使用 OVMF 进行 QEMU 固件(有 3 个选项可用)
    • 选项 1:QEMU 1.6 或更新版本;使用 QEMU -pflash 参数
      • QEMU/OVMF 将使用模拟闪存,并完全支持 UEFI 变量
      • 使用以下命令运行 qemu:-pflash path/to/OVMF.fd
      • 请注意,运行启用 SecureBoot 的版本 (-D SECURE_BOOT_ENABLE) 需要此选项。

Debian 维基页面建议您还需要一些 EFI 变量文件。完整的调用可能看起来有点像这样:

qemu-system-x86_64 \
 -accel kvm \
 -smp 2 \
 -m 2048 \
 -machine pc-q35-2.5 \
 -drive if=pflash,format=raw,readonly=on,file=./OVMF_CODE_4M.secboot.fd \
 -drive if=pflash,format=raw,file=./OVMF_VARS_4M.ms.fd \
 -drive file=./ubuntu-21.10-desktop-amd64.iso,readonly=on,format=raw,index=0,media=cdrom \
 -boot menu=on

请注意,由于 EFI 变量可以(并且将会)更改,因此您需要自己的文件副本。固件不会更改,因此您不必将其复制到本地。根据您的 Linux 发行版,您可能有一个启用了安全启动的单独 OVMF 代码文件。

相关内容