PVE 8.2.4 安装 Windows 11 踩坑记录
环境信息
| 项目 | 配置 |
|---|---|
| PVE 版本 | 8.2.4 |
| QEMU 版本 | 9.0.2 |
| Windows 11 镜像 | Win11_25H2_Pro_Chinese_Simplified_x64 |
| 虚拟机内存 | 8 GiB |
| 虚拟机CPU | 8核 (2 sockets, 4 cores) x86-64-v2-AES |
| 硬盘 | 600G VirtIO SCSI |
初始配置
创建 VM 时的关键配置:
- BIOS:OVMF (UEFI)
- 机型:pc-q35-9.0
- 硬盘控制器:VirtIO SCSI single
- EFI 磁盘:4M,pre-enrolled-keys=1
- TPM 状态:v2.0
踩坑过程
问题一:引导顺序错误,PXE 启动失败
现象: 开机直接 PXE 网络引导,报错:
PXE-E16: No valid offer received
Start PXE over IPv4.原因: 引导顺序中 net0 排在第一位,UEFI 优先尝试网络启动。
解决: 修改引导顺序,将 ISO 光驱调整到第一位,禁用 net0 引导。
问题二:CD-ROM 引导超时(核心问题)
现象: 调整引导顺序后,报错:
BdsDxe: failed to start Boot0001 "UEFI QEMU DVD-ROM QM00003" ... Time out尝试过的方案(均失败):
- 将 ISO 从 Backup 存储复制到 local 存储 → 仍然超时
- 将 CD/DVD 控制器从 SCSI 改为 IDE → 仍然超时
- 将 CD/DVD 控制器改为 SATA → 仍然超时
- 删除重建 EFI 磁盘(清除 OVMF 变量)→ 仍然超时
- 将机型从
pc-q35-9.0改为pc-i440fx-9.0+ OVMF → 仍然超时
根本原因: pc-q35 + OVMF 组合下,QEMU CD-ROM 读取 ISO 持续超时,具体原因与 OVMF 固件和 SATA/IDE 控制器的兼容性有关。
最终解决方案:放弃 OVMF,改用 SeaBIOS + pc-i440fx
# 停止 VM
qm stop 164
# 修改配置文件,去掉 OVMF/EFI 相关配置
cat > /etc/pve/qemu-server/164.conf << 'EOF'
boot: order=ide2;scsi2;net0
cores: 4
cpu: x86-64-v2-AES
ide2: local:iso/Win11_25H2_Pro_Chinese_Simplified_x64.iso,media=cdrom
machine: pc-i440fx-9.0
memory: 8192
name: Win11
net0: virtio=BC:24:11:A1:3D:BA,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-lvm:vm-164-disk-1,iothread=1,size=600G
scsi2: local:iso/virtio-win.iso,media=cdrom
scsihw: virtio-scsi-single
sockets: 2
tpmstate0: local-lvm:vm-164-disk-2,size=4M,version=v2.0
vmgenid: 839b8f69-a26b-4901-90d6-ed1baf0af805
EOF
qm start 164关键结论: ISO 文件需要存放在 local 存储(/var/lib/vz/template/iso/),使用 SeaBIOS + pc-i440fx 机型可以正常引导 Windows 11 安装程序。问题三:不满足 Windows 11 系统要求(安全启动)
现象: 进入安装程序后提示:
这台电脑当前不满足 Windows 11 系统要求
该电脑必须支持安全启动。解决: 按 Shift+F10 打开命令提示符,通过注册表绕过检查:
regedit导航到 HKEY_LOCAL_MACHINE\SYSTEM\Setup,新建项 LabConfig,在其下新建以下 DWORD (32位) 值:
| 名称 | 值 |
|---|---|
| BypassTPMCheck | 1 |
| BypassSecureBootCheck | 1 |
| BypassRAMCheck | 1 |
关闭注册表编辑器,点击上一步再下一步继续安装。
问题四:安装时找不到硬盘
现象: 选择安装位置时磁盘列表为空。
原因: 硬盘使用 VirtIO SCSI 控制器,Windows 安装程序没有内置驱动。
解决: 加载 VirtIO 存储驱动。
点击加载驱动程序 → 浏览 → 找到 virtio-win 光驱 → 导航到:
viostor\w11\amd64注意: virtio-win.iso 需要确保能被 Windows 安装程序识别到。如果热插拔不生效,重启 VM 后光驱会正常加载。
问题五:virtio-win 光驱热插拔不生效
现象: 在 PVE 中热插拔 virtio-win.iso 后,Windows 安装程序或系统内无法识别新光驱。
解决: 重启 VM 后光驱会正常加载,或将 virtio-win.iso 复制到 local 存储再挂载:
cp /mnt/backup/template/iso/virtio-win.iso /var/lib/vz/template/iso/
qm set 164 --sata3 local:iso/virtio-win.iso,media=cdrom安装后优化
1. 安装 VirtIO 驱动
系统安装完成后,挂载 virtio-win.iso,运行:
virtio-win-guest-tools.exe一键安装所有 VirtIO 驱动(网卡、存储、气球驱动等)。
2. 将硬盘从 SATA 迁移到 VirtIO SCSI
先确认设备管理器 → 存储控制器中有 Red Hat VirtIO SCSI pass-through controller,然后执行:
qm stop 164
qm set 164 --scsi0 local-lvm:vm-164-disk-1,iothread=1,size=600G
qm set 164 --delete sata2
qm set 164 --boot order=scsi0
qm start 1643. 清理无用设备
qm set 164 --delete ide2 # 移除 Win11 安装 ISO
qm set 164 --delete sata3 # 移除 virtio-win ISO
qm set 164 --delete unused0 # 清理未使用磁盘
qm set 164 --delete unused14. 启用 QEMU Guest Agent
qm set 164 --agent enabled=1在 Windows 中确认 QEMU Guest Agent 服务已运行。好处:PVE 能获取 VM 真实 IP、支持正常关机等。
5. 其他可选优化
# 更好的显示性能
qm set 164 --vga virtio
# 动态内存(最低保留 2GB)
qm set 164 --balloon 2048
# 更好的 CPU 性能(不需要跨宿主机迁移时)
qm set 164 --cpu host最终配置
bios: seabios
boot: order=scsi0
cores: 4
cpu: x86-64-v2-AES
machine: pc-i440fx-9.0
memory: 8192
name: Win11
net0: virtio=BC:24:11:A1:3D:BA,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-lvm:vm-164-disk-1,iothread=1,size=600G
scsihw: virtio-scsi-single
sockets: 2
tpmstate0: local-lvm:vm-164-disk-2,size=4M,version=v2.0
agent: enabled=1总结
| 问题 | 根本原因 | 解决方案 |
|---|---|---|
| PXE 启动 | 引导顺序错误 | 调整引导顺序,光驱优先 |
| CD-ROM 超时 | pc-q35 + OVMF 兼容性问题 | 改用 SeaBIOS + pc-i440fx |
| 安全启动检查 | SeaBIOS 无 Secure Boot | 注册表 LabConfig 绕过 |
| 找不到硬盘 | VirtIO 驱动缺失 | 加载 viostor 驱动 |
| 光驱热插拔失效 | QEMU 热插拔限制 | 重启 VM 或提前挂载 |
核心经验: PVE 安装 Windows 11 时,如果遇到 OVMF + CD-ROM 超时问题,优先尝试 SeaBIOS + pc-i440fx 组合,ISO 存放在 local 存储,可以绕过大多数引导问题。安装完成后系统运行完全正常。


Comments | NOTHING