hyper-v连接显卡,hyper-v使用显卡能力
现在越来越多的软件在使用时,都会调用GPU获得更好的使用效果。如:浏览器的硬件加速模式。由于Nvidia和AMD都屏蔽了家用显卡虚拟化技术,常用的虚拟机也无法对显卡进行虚拟化。
通过上一篇文章(https://lingkang.top/archives/hyper-v-to-window10),我们已经安装好了hyper-v
虚拟机window10
,但是打开设备发现没有显卡,玩游戏就没有图形处理支持:
我笔记本上的显卡是:NVIDlA GeForce GTX 1650
4G显存
哪我该如何设置把GPU提供给VM使用呢?网上的一些教程是禁用物理机使用显卡,再绑定到vm中。
实际上我们可以直接绑定到:
绑定显卡到VM
管理员命令打开Windows PowerShell
Set-VM -Name "lingkang" -AutomaticStopAction TurnOff
Set-VM -GuestControlledCacheTypes $true -VMName "lingkang"
# 设置MMIO,总的io映射内存,我们直接设置为32GB(通用大小),出现其他问题再扩大即可
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName "lingkang"
Set-VM -HighMemoryMappedIoSpace 32Gb -VMName "lingkang"
# 添加虚拟化,
Add-VMGpuPartitionAdapter -VMName "lingkang"
# 指定显卡添加,这个显卡ID通过Get-VMPartitionableGpu命令获取到的“Name”字段值
# 注意,低版本的window10是无法使用这个命令指定的
# Add-VMGpuPartitionAdapter -VMName "lingkang" -InstancePath "显卡ID"
# 例如我的显卡ID是:\\?\PCI#VEN_10DE&DEV_1F91&SUBSYS_1AB11043&REV_A1#4&1885b93c&0&0008#{064092b3-625e-43bf-9eb5-dc845897dd59}\GPUPARAV
# 添加后,设置自动配置显卡
Set-VMGpuPartitionAdapter -VMName "lingkang"
# 删除虚拟显卡的分配,配置错误可重新来
Remove-VMGpuPartitionAdapter -VMName "lingkang"
复制显卡驱动文件
由于Nvidia屏蔽了家用显卡的虚拟化功能,所以此时虽然已经可以在设备管理器看到显卡已被正确识别,但仍然无法安装驱动,必须要手动复制宿主机的以下驱动文件到虚拟机上。
启动虚拟机:
可以看到设备中已经显示显卡了,但还不可用。
我们先复制物理机系统的
C:\Windows\System32\nvapi64.dll
放到虚拟机的:
C:\Windows\System32\nvapi64.dll
再复制物理机中的
C:\Windows\System32\DriverStore\FileRepository
目录中以nv
开头的文件夹到虚拟机中的
C:\Windows\System32\HostDriverStore\FileRepository
目录下,其中HostDriverStore\FileRepository
目录需要自己创建:
重启虚拟机
这时虚拟机显卡已经可用:
使用娱乐大师测试一下显卡:
可以看到娱乐大师可以使用显卡了。
cmd执行
dxdiag
可以看到启用的功能