先决条件

  1. 开启虚拟化
  2. 开启vt-d
  3. 开启sr-iov,如果没有就开启pci express native power management,如果还没有就开asmp

开始操作

打开设备管理器——找到显卡右键属性——详细信息——属性——下拉列表找到位置路径——选择地址一个替换下面的locationpath内容

然后把虚拟机名替换下面的vmname内容

# 变量赋值$locationpath需要直通硬件的位置路径,$VmName直通的指定虚拟机名称
$locationpath = 'PCIROOT(0)#PCI(0100)#PCI(0000)'
$VmName = 'game'
# 卸载硬件
Dismount-VMHostAssignableDevice -LocationPath $locationpath -Force
# 直通设备的虚拟机不能被暂停或热迁移,所以自动关机动作必须为 ACPI shutdown 或者硬关机
Set-VM -Name $VmName -AutomaticStopAction TurnOff
# 将设备添加给指定虚拟机
Add-VMAssignableDevice -VMName $VmName -LocationPath $locationpath
# 查看虚拟机直通设备情况
Get-VMAssignableDevice -VMName $VmName

把目标虚拟机关机——管理员模式打开PowerShell——上面的命令一步一步执行

image-20250309170402983

最后发现设备挂载成功

b站找驱动安装完成,然后gpu-z查一下一切ok

image-20250309190651131

额外操作

有些情况下有 pci xxxxx - 已卸载,这个时候就会提示你 比如 pcip.sys 加载问题,无法卸载pci设备之类的

这个时候需要下载psexec,然后执行

psexec -i -d -s c:\windows\regedit.exe

打开注册表后,找到 计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIP

删除这个目录下所有项即可

文章目录