ESXi中NVIDIA/AMD显卡直通Windows虚拟机需五步:BIOS启用VT-d/IOMMU、Above 4G、禁用CSM;ESXi主机端开启PCI直通并重启;虚拟机绑定显卡设备、锁定内存、关闭硬件虚拟化暴露;添加hypervisor.cpuid.v0=FALSE等高级参数;Windows中安装Studio驱动并执行bcdedit /set {current} hypervisorlaunchtype off。

如果您在 ESXi 环境中希望将物理 NVIDIA 或 AMD 显卡直接分配给 Windows 10/11 虚拟机使用,但虚拟机无法识别或驱动安装失败,则可能是由于 BIOS 设置、ESXi 直通启用、PCI 设备绑定或虚拟机参数配置不完整所致。以下是实现显卡直通的多种可行方法:
一、BIOS 层级预配置
该步骤确保硬件层面支持 I/O 虚拟化与大内存映射,是直通成功的先决条件。若未正确启用,后续所有操作均无效。
1、重启主机并进入 BIOS/UEFI 设置界面。
2、定位至高级(Advanced)或芯片组(Chipset)相关子菜单。
3、启用以下三项关键选项:Intel VT-d(或 AMD IOMMU)、Above 4G Decoding、CSM 支持设为 Disabled(强制 UEFI 启动模式)。
4、部分主板需额外启用 SR-IOV Support 和 PCIe Device Initialization Priority(将显卡插槽设为高优先级)。
5、保存设置并退出,主机自动重启。
二、ESXi 主机端启用 PCI 直通
此步骤使 ESXi 将指定 PCIe 设备从自身管理中释放,交由虚拟机独占控制。必须在主机重启后执行,且仅对已识别设备生效。
1、使用 vSphere Web Client 或 Host Client 登录 ESXi 主机管理界面。
2、导航至 主机 → 管理 → 硬件 → PCI 设备。
3、在设备列表中查找显卡条目(通常含 “NVIDIA” 或 “AMD” 字样及对应型号,如 “GeForce RTX 2080 Ti”)。
4、勾选该设备及其全部关联子设备(包括 HDMI 音频控制器、USB 控制器等),点击 “切换直通”。
5、执行 主机 → 重新引导,确保直通状态变为 “活动”。
三、虚拟机硬件级绑定与资源锁定
该步骤防止 ESXi 动态内存回收或 CPU 虚拟化干扰显卡初始化,避免开机蓝屏或设备管理器中显示黄色感叹号。
1、确保虚拟机处于关机状态。
2、编辑虚拟机设置,进入 虚拟硬件 → 内存,勾选 “预留所有客户机内存”(即内存全部锁定)。
3、进入 虚拟硬件 → 添加其他设备 → PCI 设备,依次添加显卡主设备及其全部子设备(例如:0000:82:00.0、0000:82:00.1、0000:82:00.2、0000:82:00.3)。
4、进入 CPU 设置,取消勾选 “向客户机操作系统公开硬件辅助的虚拟化” 和 “向客户机操作系统公开 IOMMU”(这两项在直通场景下可能引发冲突)。
5、确认引导固件为 EFI,并关闭 “为此虚拟机启用 UEFI 安全引导”。
四、虚拟机高级参数强制适配
该步骤通过注入底层 hypervisor 指令,欺骗显卡驱动认为其运行于物理环境,绕过 VMware 的虚拟化检测机制。
1、进入虚拟机设置 → 虚拟机选项 → 高级 → 配置参数 → 编辑配置。
2、逐项添加以下键值对:
3、hypervisor.cpuid.v0 = "FALSE" —— 隐藏 hypervisor 标识。
4、pciPassthru.use64bitMMIO = "TRUE" —— 启用 64 位内存映射支持。
5、pciPassthru.64bitMMIOSizeGB = "64" —— 值应 ≥ 所有直通 GPU 显存总和向上取整至最近 2 的幂(如单张 RTX 2080 Ti 11GB → 取 16;单张 RTX 3090 24GB → 取 32;建议统一填 64 以兼容多数场景)。
6、svga.present = "FALSE" —— 禁用 VMware 自带显卡模拟,防止设备冲突。
7、如需禁用 MSI 中断以提升兼容性,可添加:pciPassthru0.msiEnabled = "FALSE"(依设备序号类推)。
五、Windows 客户机驱动与系统适配
该步骤解决直通后设备管理器中显示异常、驱动安装失败或性能受限问题,核心在于规避 NVIDIA 对虚拟环境的限制策略。
1、启动虚拟机,进入 Windows 10/11 系统。
2、打开设备管理器,检查“显示适配器”中是否列出物理显卡(非 “VMware SVGA”);若显示为未知设备或带黄色感叹号,说明驱动未加载。
3、前往 NVIDIA 官网驱动下载页,选择与显卡型号匹配的 Studio 驱动(非 Game Ready) 或历史版本(如 472.12、516.94 等经验证兼容版本)。
4、安装前右键开始菜单 → “Windows PowerShell(管理员)”,执行:pnputil /enum-drivers | findstr "nvidia",卸载残留驱动。
5、运行安装程序时,勾选 “执行清洁安装” 并禁用网络连接,防止自动更新覆盖配置。
6、安装完成后,在 PowerShell(管理员)中执行:bcdedit /set {current} hypervisorlaunchtype off,随后重启系统(此命令禁用 Windows Hypervisor Platform,避免与 ESXi 直通冲突)。










