最近将我所有的服务迁移到了 Hetzner AX42。这款独立服务器配备 64GB ECC DDR5 内存、两块 512GB PM9A1 NVMe,以及 AMD Ryzen PRO 8700GE 处理器。8700GE 搭载了 Radeon 780M 集成显卡,其性能十分强劲。如果不能充分利用,将会非常可惜。
由于宿主机基于 Proxmox VE,我计划配置一台支持核显直通的 Windows 虚拟机,用于手游挂机和轻度转码工作。
PVE 的安装和配置可参考 [Hetzner 官方文档][1],这里不再赘述。
安装完成后,我们可以检查主板 BIOS 设置,并确保 IOMMU 已开启。我的 AX42 默认已启用该功能。
接下来的步骤可参考 该 [GitHub 仓库][2]。请确保在 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 service之外,我们还需要进一步禁用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配置完成后,即可愉快使用啦!