转载来源
转载来源2
我已将1650改为3090测试
如何在 Hyper-V 虚拟机中配置虚拟 GPU(VGPU)直通,使用 NVIDIA 显卡实现 GPU 加速。以下是详细的配置步骤和注意事项,基于 NVIDIA GeForce GTX 3090测试环境。
前提条件
硬件要求 :
显卡:NVIDIA 显卡,支持 NVENC 功能。本文以 NVIDIA GeForce GTX 3090为例。
驱动:显卡驱动的 WDDM 版本需大于 2.4。测试环境中使用 WDDM 2.7(可通过 dxdiag 的“显示”页面查看)。
系统要求 :
主机运行 Windows 10/11 专业版或企业版,支持 Hyper-V。
提前安装好win10或win11虚拟机且处于关闭状态以进行配置。
工具准备 :
PowerShell(建议以管理员权限运行)。
NVIDIA 显卡驱动已正确安装在宿主机上。
#核心出装
# 定义虚拟机名称,需要改成你自己的
$vm = "win10"
# 设置虚拟机的自动停止操作为关闭(TurnOff)
Set-VM -Name $vm -AutomaticStopAction TurnOff
# 移除现有的 GPU 分区适配器(若存在),确保从干净状态开始
Get-VMGpuPartitionAdapter -VMName $vm | Remove-VMGpuPartitionAdapter
# 添加新的 GPU 分区适配器
Add-VMGpuPartitionAdapter -VMName $vm
# 启用 GuestControlledCacheTypes,优化性能
Set-VM -GuestControlledCacheTypes $true -VMName $vm
# 设置低内存映射 I/O 空间为 1GB
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
# 设置高内存映射 I/O 空间为 32GB
Set-VM -HighMemoryMappedIoSpace 32Gb -VMName $vm
# 可选
# 设置 GPU 资源分配:显存(VRAM)、编码(Encode)、解码(Decode)、计算(Compute)
# 最小 1%,最大 70%,最佳 50%
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 1 -MaxPartitionVRAM 90 -OptimalPartitionVRAM 50
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionEncode 1 -MaxPartitionEncode 90 -OptimalPartitionEncode 50
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionDecode 1 -MaxPartitionDecode 90 -OptimalPartitionDecode 50
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionCompute 1 -MaxPartitionCompute 90 -OptimalPartitionCompute 50
配置显卡驱动
目前虚拟机的 GPU 还处于不可用状态,需要在虚拟机中安装与主机匹配的 NVIDIA 驱动文件。
宿主机驱动文件路径:
主机上的 NVIDIA 驱动文件通常位于 :
C:\Windows\System32\DriverStore\FileRepository\
查找以 nv 开头的文件夹,包含 NVIDIA 驱动相关文件。
虚拟机驱动文件路径 :
在虚拟机的 C:\Windows\System32\ 下手动创建文件夹:
C:\Windows\System32\HostDriverStore\FileRepository\
具体查找方法为:设备管理器-> Nvidia 3090 -> 驱动程序详细信息 -> 拉到最下面看最后一行的第一段路径
将第一步的 NV 开头文件夹复制到第二步创建的目录里
复制 NVIDIA API 文件:
将宿主机上的 nvapi64.dll 文件复制到虚拟机的相同路径:
C:\Windows\System32\nvapi64.dll
重启虚拟机
在虚拟机设备管理器查看驱动状态,黄色叹号已经消失了就代表可用
评论 (0)