You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

QEMU(搭配virt-manager)创建Windows 11虚拟机时启动进入UEFI Shell的问题求助

QEMU(搭配virt-manager)创建Windows 11虚拟机时启动进入UEFI Shell的问题求助

嘿,我之前在Arch Linux上折腾Win11 QEMU虚拟机的时候也碰到过几乎一模一样的问题,大概率是UEFI固件配置、启动顺序或者Secure Boot的几个关键点没踩对,给你列几个亲测有效的排查和修复步骤:

  • 确认OVMF固件的Secure Boot支持:首先得确保你装了带Secure Boot功能的UEFI固件包,Arch上对应的是edk2-ovmf。打开virt-manager的虚拟机详情页,切换到「Overview」标签,在Firmware选项里要选UEFI x86_64: Secure Boot capable这个选项——如果没看到这个选项,先装包再重启libvirtd服务:sudo systemctl restart libvirtd

  • 检查安装镜像与启动顺序:Win11的ISO镜像要确保是官方下载的完整版本(可以用sha256sum对比微软公布的哈希值验证),而且要在虚拟机的「Boot Options」里把挂载的CDROM(也就是Win11 ISO)拖到最顶端,设为第一启动项——很多时候卡UEFI Shell就是因为默认从空磁盘启动了。

  • 磁盘分区表必须是GPT:Win11的UEFI启动要求磁盘是GPT格式,不能用MBR。如果是新建虚拟机的磁盘,virt-manager默认会用GPT,但如果是复用旧磁盘,一定要在磁盘的高级设置里确认分区表类型是GPT,同时磁盘总线推荐选VirtIO或者SATA。

  • 正确启用Secure Boot:在虚拟机详情的「Security」标签里,勾选「Enable Secure Boot」,然后在模板下拉框里选Microsoft UEFI Certificate Authority——这个模板会预装微软的根证书,让Win11的安装程序能被UEFI信任,不然Secure Boot会拦截启动。

  • 如果已经卡在UEFI Shell,手动引导试试:现在如果已经进入UEFI Shell了,也不用慌,手动指定启动文件就行:

    fs0:
    cd efi\boot
    bootx64.efi
    

    (如果fs0:不行就试fs1:fs2:,对应你的光驱分区)运行完就能直接启动Win11的安装器了。

备注:内容来源于stack exchange,提问作者Maxb0tbeep

火山引擎 最新活动