我已经设法将 PCIe GPU(AMD RX580)直通到 Windows Server 2016 Standard 主机上的 Windows 10 Guest 中。
问题是,无论何时使用 GPU 都会出现此错误:
驱动程序已通过 Windows 更新安装
PCIe 直通是使用 Powershell(管理员)完成的:
Set-VM -Name "Parsec" -AutomaticStopAction TurnOff
Dismount-VmHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0301)#PCI(0000)" -force
Add-VMAssignableDevice -LocationPath "PCIROOT(0)#PCI(0301)#PCI(0000)" -VMName "Parsec"
Set-VM "Parsec" -GuestControlledCacheTypes $True -LowMemoryMappedIoSpace 2000MB -HighMemoryMappedIoSpace 8000MB
这里可能缺少什么?
答案1
请按照此处的教程操作 https://youtu.be/XLLcc29EZ_8?t=570
我使用的脚本如下
$vm = "YOUR_VM_NAME_HERE"
Add-VMGpuPartitionAdapter -VMName $vm
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 80000000 -MaxPartitionVRAM 100000000 -OptimalPartitionVRAM 100000000 -MinPartitionEncode 80000000 -MaxPartitionEncode 100000000 -OptimalPartitionEncode 100000000 -MinPartitionDecode 80000000 -MaxPartitionDecode 100000000 -OptimalPartitionDecode 100000000 -MinPartitionCompute 80000000 -MaxPartitionCompute 100000000 -OptimalPartitionCompute 100000000
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
Set-VM –HighMemoryMappedIoSpace 32GB –VMName $vm
答案2
看起来您关注了 Microsofts TechCommunity 博客:https://techcommunity.microsoft.com/t5/virtualization/discrete-device-assignment-gpus/ba-p/382266
最后一段指出,CPU 可以抑制 GPU,因此你应该设置
Set-VM "Parsec" -GuestControlledCacheTypes $True
答案3
到目前为止,实现这一目标的最佳和最有效的方法是通过https://github.com/jamesstringerparsec/Easy-GPU-P
这将“直通”(虽然不是专用直通);GPU 将通过某种共享驱动程序在 VM 内部使用(尚不确定内部情况 - 但我已经测试过并且效果很好)