
–Hyper-V-显卡直通-等PCIe硬件直通
#教程 #windows server#虚拟机 #Hyper-V#
Windows Server 2016微软为Hyper-V虚拟机加入了Discrete Device Assignment, DDA的功能(直通虚拟机),让虚拟机完全访问宿主机上的显卡等硬件(显卡,网卡等)。Hyper-V硬件直通需要满足以下几个条件:
Discrete Device Assignment — GPUs,DDA,将显卡直通给hyper-v虚拟机使用。
直通显卡有于助力AI、人工智能训练等。
准备工作:
物理服务器:P2022server
虚拟机:V2022server
- 以下在物理机中(P2022server)操作:
- 开机按F11,进入bios>Integrated Devices,将SR-IOV Global Enable 置为Enabled;
- 进入bios>Integrated Devices,将Embedded Video Controller 置为Enabled;
- 进入bios>Processor Settings,将Virtualization Technoloty 置为Enabled;
- 保存bios,重启系统;
- Hyper-v中创建虚拟机:V2022server,进入桌面,后关机。
- 安装Windows Admin Center;
- 打开Windows Admin Center,点击 windowsadmincenter 中GPU扩展;
- 在GPU扩展中,有“GPU,GPU池,GPU分区”共三个页面(选项);
- 在”GPU”选项中选中显卡,先点禁用,再选中已禁用的显卡,再点击卸除;
- 重启服务器,
- 打开Windows Admin Center,点击 windowsadmincenter 中GPU扩展;
- 这时在GPU扩展中的”GPU”页面,可以看到刚才卸除的显卡而且状态显示为”已卸除”,分配状态显示为”已准备好进行DDA分配”如下图:
- 点击GPU池,点击”新建池”>”服务器”即已安装显卡并进行上面配置的物理服务器>“GPU池名称”>选中显卡>保存,即创建成功“GPU池”。
- 点击“将VM分配到池”,将创建的”GPU池”分配给上面创建的hyper-v中的虚拟机:V2022server。
- 从物理机的C:\Windows\System32\DriverStore\FileRepository\提取驱动,即将:nv_dispsig.inf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这样的文件夹,复制桌面。

- 以下在虚拟机中(V2022server)操作:
- 启动虚拟机V2022server.
- 将物理机上的nv_dispsig.inf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这样的文件夹,复制到虚拟机桌面。
- 打开设备管理器:即右击左下角开始>设备管理器>显示适配器
- 这里会看到一个带感叹号的显示适配器,右击他,更新驱动程序>浏览到桌面的这个nv_dispsig.inf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这个文件夹,找到一个xxx.ini文件。
- 更新驱动成功,后,重启虚拟机 。