PVE 8.2.4 安装 Windows 11 踩坑记录


PVE 8.2.4 安装 Windows 11 踩坑记录

环境信息

项目配置
PVE 版本8.2.4
QEMU 版本9.0.2
Windows 11 镜像Win11_25H2_Pro_Chinese_Simplified_x64
虚拟机内存8 GiB
虚拟机CPU8核 (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

尝试过的方案(均失败):

  1. 将 ISO 从 Backup 存储复制到 local 存储 → 仍然超时
  2. 将 CD/DVD 控制器从 SCSI 改为 IDE → 仍然超时
  3. 将 CD/DVD 控制器改为 SATA → 仍然超时
  4. 删除重建 EFI 磁盘(清除 OVMF 变量)→ 仍然超时
  5. 将机型从 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位) 值:

名称
BypassTPMCheck1
BypassSecureBootCheck1
BypassRAMCheck1

关闭注册表编辑器,点击上一步下一步继续安装。


问题四:安装时找不到硬盘

现象: 选择安装位置时磁盘列表为空。

原因: 硬盘使用 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 164

3. 清理无用设备

qm set 164 --delete ide2      # 移除 Win11 安装 ISO
qm set 164 --delete sata3     # 移除 virtio-win ISO
qm set 164 --delete unused0   # 清理未使用磁盘
qm set 164 --delete unused1

4. 启用 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 存储,可以绕过大多数引导问题。安装完成后系统运行完全正常。

声明:初心|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - PVE 8.2.4 安装 Windows 11 踩坑记录


愿你勿忘初心,并从一而终