最近将我所有的服务迁移到了 Hetzner AX42。这款独立服务器配备 64GB ECC DDR5 内存、两块 512GB PM9A1 NVMe,以及 AMD Ryzen PRO 8700GE 处理器。8700GE 搭载了 Radeon 780M 集成显卡,其性能十分强劲。如果不能充分利用,将会非常可惜。
由于宿主机基于 Proxmox VE,我计划配置一台支持核显直通的 Windows 虚拟机,用于手游挂机和轻度转码工作。
PVE 的安装和配置可参考 Hetzner 官方文档,这里不再赘述。
安装完成后,我们可以检查主板 BIOS 设置,并确保 IOMMU 已开启。我的 AX42 默认已启用该功能。
接下来的步骤可参考该 GitHub 仓库。请确保在 “Creating the Windows VM” 步骤中选择 OVMF 而非 SeaBIOS。
以下是 /etc/pve/qemu-server/<VM_ID>.conf 的关键配置:
args: -cpu 'host,-hypervisor,kvm=off'bios: ovmfcpu: hosthostpci0: 0000:0d:00.0,pcie=1,romfile=vbios_1002_15bf.bin,x-vga=1 # 显卡hostpci1: 0000:0d:00.6,pcie=1,romfile=AMDGopDriver_8700GE.rom # 音频设备vga: none需要注意的是,由于 AMD Reset Bug 的存在,除了按照上述仓库内的说明安装 RadeonResetBugFix 服务之外,我们还需要进一步禁用 Windows 自动更新服务,以及关闭自动休眠功能,防止虚拟机自动重启或休眠但不触发修复服务。
以下是通过组策略禁用自动更新的批处理脚本(保存为 .bat 文件,以管理员权限运行):
@echo offREM -- 禁止自动更新reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f
REM -- 禁止在 Windows 设置中检查更新reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v SetDisableUXWUAccess /t REG_DWORD /d 1 /f
REM -- Windows 更新中不包含驱动程序更新(防止 Windows 安装错误的驱动,特别是显卡驱动)reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f如需还原:
@echo offREM -- 恢复自动更新reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /f
REM -- 恢复 Windows 设置中的更新检查功能reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v SetDisableUXWUAccess /f
REM -- 恢复 Windows 更新中的驱动程序更新reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /f配置完成后,即可愉快使用啦!