在win server 2019系统中hyper-v启用显卡直通,物理显卡有2个,禁用一个。具体操作如下
在win server 2019系统中hyper-v启用显卡直通,物理显卡有2个,禁用一个。具体操作如下
在 Windows Server 2019 Hyper-V 中配置 GPU 直通(GPU Passthrough) 可以让虚拟机直接访问物理显卡,显著提升图形计算性能(如AI训练、3D渲染)。以下是详细操作步骤及注意事项:
一、前提条件
-
硬件要求:
-
CPU:支持 Intel VT-d(Intel)或 AMD-Vi(AMD)的处理器。
-
主板:BIOS中启用 VT-d/AMD-Vi 和 SR-IOV(可选)。
-
GPU:
-
NVIDIA:需专业级显卡(如Tesla/Titan)或修改驱动的消费级显卡(如RTX 3090)。
-
AMD:Radeon Pro 或 Instinct 系列支持较好。
-
Intel:集成显卡通常不支持直通。
-
-
系统:Windows Server 2019 Datacenter 或 Standard 版。
-
-
软件要求:
-
安装最新版 Hyper-V 角色。
-
下载 GPU 官方驱动(如NVIDIA GRID驱动)。
-
二、操作步骤
1. 启用硬件虚拟化支持
-
BIOS设置:
-
重启服务器,进入 BIOS/UEFI。
-
启用:
-
Intel VT-d 或 AMD-Vi(芯片组设置中)。
-
SR-IOV(如果显卡支持)。
-
-
保存并重启。
-
-
Windows 中验证:
# 检查是否启用 VT-d/AMD-Vi Get-WindowsOptionalFeature -Online -FeatureName *Hyper-V*确保
Hyper-V和Data Center Bridging已启用。
2. 禁用 GPU 的 Windows 驱动
-
打开 设备管理器(
devmgmt.msc)。 -
找到目标 GPU(如
NVIDIA Tesla T4),右键选择 禁用设备。-
注意:禁用后主机将无法使用该 GPU。
-
3. 配置 Hyper-V 虚拟机
-
关闭虚拟机,编辑虚拟机设置:
Stop-VM -Name "YourVMName"
Set-VMProcessor -VMName "YourVMName" -ExposeVirtualizationExtensions $true
2. **添加 PCIe 直通设备**: ```powershell # 获取 GPU 的 LocationPath(需管理员权限) Get-PnpDevice -FriendlyName "*NVIDIA*" | Select-Object FriendlyName, InstanceId # 将 GPU 直通到虚拟机(替换 InstanceId) Add-VMAssignableDevice -VMName "YourVMName" -LocationPath "PCIROOT(0)#PCI(0100)#PCI(0000)"
-
LocationPath可通过Get-PnpDevice或lspci(Linux工具)获取。
-
启用嵌套虚拟化(可选,适用于虚拟机内再运行Hyper-V):
Set-VMProcessor -VMName "YourVMName" -ExposeVirtualizationExtensions $true
#### **4. 虚拟机内安装 GPU 驱动** 1. 启动虚拟机,安装对应 GPU 的官方驱动。 2. 验证 GPU 是否被识别: - **Windows 虚拟机**:设备管理器中查看显卡状态。 - **Linux 虚拟机**:运行 `nvidia-smi`(NVIDIA)或 `rocminfo`(AMD)。 --- ### **三、常见问题与解决** #### **1. 错误“设备无法分配”** - **原因**:GPU 被主机占用或未完全禁用。 - **解决**: ```powershell # 强制解除占用 Disable-PnpDevice -InstanceId "PCI\VEN_10DE&DEV_1EB8&SUBSYS_12A210DE" -Confirm:$false
2. 性能低下
-
优化措施:
-
在虚拟机配置中启用 Hyper-V 第二代虚拟机。
-
分配足够 vCPU 和内存(GPU 计算需资源均衡)。
-
3. NVIDIA 消费级显卡限制
-
问题:NVIDIA 消费级显卡(如GTX/RTX)驱动会阻止在虚拟机中运行。
-
解决:
-
使用 Tesla/Quadro 等专业卡。
-
或修改驱动(需破解,违反EULA,不推荐生产环境)。
-
四、适用场景
| 场景 | 推荐 GPU 类型 | 性能提升 |
|---|---|---|
| AI/深度学习 | NVIDIA Tesla V100/A100 | 支持 CUDA 和 Tensor Core |
| 3D 渲染(Blender) | AMD Radeon Pro W6800 | 实时渲染加速 |
| 虚拟桌面(VDI) | NVIDIA GRID vGPU | 多用户共享 GPU 资源 |
五、替代方案
如果直通复杂,可考虑:
-
Discrete Device Assignment (DDA):
Hyper-V 的 PCIe 直通技术(本文方法)。 -
GPU 虚拟化(vGPU):
需 NVIDIA vGPU 许可证(如GRID)或 AMD MxGPU。 -
Azure Stack HCI:
微软官方支持的 GPU 虚拟化方案。
六、总结
-
关键步骤:BIOS 启用 VT-d → 禁用主机 GPU → 通过 PowerShell 直通设备 → 虚拟机安装驱动。
-
注意事项:
-
直通后主机无法使用该 GPU。
-
生产环境建议使用专业级显卡(避免驱动限制)。
-
-
验证命令:
# 查看已直通的设备 Get-VMAssignableDevice -VMName "YourVMName"
通过以上配置,虚拟机可直接调用物理 GPU 的算力,适用于高性能计算场景。

浙公网安备 33010602011771号