写文章

ESXi 7.0 开启 NVIDIA 2070 显卡直通 Win10 - 折腾成功的经历

开妈

给资产阶级掘墓也要按照**的法

​ 关注他

24 人赞同了该文章

Keywords: ESXi 7.0.3, NVIDIA GeForce 2070, Passthrough, Windows 10, walkthrough, no OpenCL

搜了半天攻略没想到最后有个大坑，写一下。本文部分文字借用自参考资料

0. 食用本文之前，假设你已经安装好了ESXi 7.0，并在里面装好了Windows虚拟机。本文不包括这一部分

1. 在机箱里装好显卡

2. 在管理—>硬件的PCI设备中搜索nvidia，勾选其中一个后，选择切换直通 。这里我遇到一个很扯淡的情况，就是我的2070显示的4个设备里，随便勾选哪一个，四个勾选框就开始疯狂跳动，网页也基本卡死，点不到切换直通，换了浏览器也不行。最后多刷新几次，勾选了过后马上点才点到了。刷新看下，显示“活动”就弄好了。这步完成后不用重启。

3. 打开SSH（主机-操作-服务-启用SSH），然后ssh进入ESXi

3.1 输入 lspci -v | grep NVIDIA -A1 找到显卡

[root@localhost:~] lspci -v | grep NVIDIA -A1
0000:03:00.0 Display controller VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2070]
Class 0300: 10de:1f02
--
0000:03:00.1 Multimedia controller Audio device: NVIDIA Corporation TU106 High Definition Audio Controller
Class 0403: 10de:10f9
--
0000:03:00.2 Serial bus controller USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller
Class 0c03: 10de:1ada
--
0000:03:00.3 Serial bus controller : NVIDIA Corporation TU106 USB Type-C UCSI Controller
Class 0c80: 10de:1adb

找到你显卡最主要的那一条，就是有显卡型号的那一条，比如我这里就是第一条。

然后记录下两个信息，

(1) 第一行开始0000开头的数字，比如我这里是 0000:03:00.0

(2) 第二行的Class最后面的两堆数字，比如我这里是 10de 和 1f02

3.2. 编辑这两个文件

echo '/device/0000:03:00.0/owner = "passthru"' >> /etc/vmware/esx.conf

echo '10de 1f02 bridge false' >> /etc/vmware/passthru.map
echo '10de 1f02 link false' >> /etc/vmware/passthru.map
echo '10de 1f02 d3d0 false' >> /etc/vmware/passthru.map

其中第一个命令里device后面的序号 和 后面命令里前面两列echo的信息，换成你显卡的上面记录的信息。完成后退出SSH，现在仍然不用着急重启。

6. 打开虚拟机设置，重点为

6.1 预留全部内存

这是借的别人的图，7.0是一样的

6.2 添加高级参数：虚拟机选项——>高级——>编辑配置参数——>添加参数（hypervisor.cpuid.v0:FALSE

6.3 添加显卡进虚拟机：添加其它设备——>PCI设备 ，有多少加多少，比如上面我的显卡是4条，那就添加4个。如果提示不能添加，则需要关闭[虚拟机选项]里的VBS（基于虚拟化的安全性），和关闭CPU选项下面的所有“向客户机操作系统公开***”

7. 重启主机，完成后重启虚拟机。进设备管理器，【显示适配器】一开始可能识别到了，但是没装驱动所以显示出一个很怪的名字，不担心，直接等一会刷新，win10会自动装驱动

借的图，我是2070的卡

8. 上面都是基本公开的攻略。重点来了，下面我遇到的坑。首先虽然在设备管理器里有显卡，任务管理器里也显示，但使用率极低，打开视频或者游戏还是CPU狂装，gpu不动。

解决方案：在显卡上插个显示器，或者插一个显卡欺骗器（淘宝），然后注意，【在win10里面重启电脑】，不要用ESXi控制重启win10。

重启后，win10会检测到两个显示器，只保留其中显卡对应的拿一个。显示设置里，选择【仅在2上显示】，不行就改用另一个。怎么看改好没有——打开任务管理器，查看GPU，点击开始菜单，看看gpu负载上去没有，上去了就对了。否则，重新选一下显示的屏幕

9. 我还遇到另一个问题，就是这之后只要在ESXi里重启了win10，就会识别不出来显卡（任务管理器里没有）。解决也很简单，在win10内部重启一次即可。

10. 后续坑1：没有OpenCL。在GPU-Z里显示OpenCL不可用；passmark跑分也显示OpenCL不可用；命令行直接输入clinfo不报错但完全无输出。查了大量资料过后终于找到了解决（下面参考资料2）

方法：

(1) 在system32下搜索（也可直接用everything搜索）nvopencl，找到nvopencl32.dll和nvopencl64.dll两个文件的路径

(2) 打开注册表编辑器，展开到 HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors 。这里如果Khronos下面没有OpenCL目录，则需要手动添加。在Vendors下添加一个Dword32键

键的名称为上面搜到的nvopencl64.dll的路径，比如我的是C:\Windows\System32\DriverStore\FileRepository\nvmii.inf_amd64_995a8ca55addcada\nvopencl64.dll

键值为0即可

(3) 注册表编辑器展开到 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors]，添加一个Dword32键

键的名称为上面搜到的nvopencl32.dll的路径，比如我的是C:\Windows\System32\DriverStore\FileRepository\nvmii.inf_amd64_995a8ca55addcada\nvopencl32.dll

键值为0即可

然后命令行输入clinfo就有一大堆信息了，GPU-Z显示OpenCL启用，passmark跑分不报错。

主要参考资料：

https://blog.csdn.net/weixin_45409343/article/details/122478397

Windows: opencl call failed

编辑于 2022-08-29 13:34

esxi

NVIDIA（英伟达）

Windows 10

​ 赞同 24​ ​ 31 条评论

​ 分享

​ 喜欢​ 收藏​ 申请转载

​

赞同 24

​
分享

理性发言，友善互动

31 条评论

默认

最新

开妈

作者

答主因为搬家卖了电脑，已弃坑，所以不要问我其他问题啦可以向评论区其他朋友提问

01-18 · 江苏 · 作者置顶

​ 回复​ 2

Kris

啊这 是因为不好玩吗

01-18 · 广西

​ 回复​ 喜欢

东檬成双

理论上来讲，AMD的588是不是也可以这么做呢

2022-09-07 · 浙江

​ 回复​ 2

开妈

作者

记得查攻略的时候听说A卡兼容还好一些，可以试试，我没折腾过

2022-09-11 · 江苏

​ 回复​ 1

黑白是无常

esxi8,无核显独立2070，直通全是灰色的，一定要2块显卡吗？

2023-04-05 · 北京

​ 回复​ 喜欢

SilenceRet

黑白是无常

我在跳的时候 给切换了,最后发现成了 -_-

2023-10-02 · 湖南

​ 回复​ 喜欢

黑白是无常

李李

开了，开了后可以直通，但是选不上，疯狂跳动

2023-04-06 · 北京

​ 回复​ 喜欢

展开其他 1 条回复​

杨力丰

下午刚安装好，也是esxi7.0.u3版本，虚拟的是esxi6.7 win10，显卡是GTX650，安装完就有OpenCL，GPUZ里面也有，修改完显卡控制面板，直接正常调用GPU

2022-10-19 · 福建

​ 回复​ 1

乐乐

有sr-iov分拆么

2022-12-08 · 河北

​ 回复​ 喜欢

开妈

作者

老版本显卡肯定兼容好很多的

2022-10-20 · 江苏

​ 回复​ 喜欢

爱luku

显卡驱动了能看到，但是没有显示器2怎么办

05-21 · 江苏

​ 回复​ 喜欢

Wayne

显卡直通确实玩不明白，如果要用显卡最好还是win+vmware吧

04-21 · 四川

​ 回复​ 喜欢

开妈

作者

确实，我现在就是这个方案，性能损耗可以接受

04-25 · 江苏

​ 回复​ 喜欢

Kris

如果pve有多个虚拟机，显卡直通给虚拟机a，此时虚拟机b在运行，虚拟机a没在运行，那显卡也会一直运行吗

01-17 · 广西

​ 回复​ 喜欢

随缘

安装上面操作就是不能行 显卡是P4 系统是win10 20H2 头大

2023-11-06 · 河南

​ 回复​ 喜欢

奇迹神

我在勾选直通得时候 也是疯狂跳动，你是怎么搞定这块得

2023-11-02 · 陕西

​ 回复​ 喜欢

奇迹神

开妈

我按照你的方法，点上了，然后有一个坑43，看样子无解了，弃坑了

2023-11-03 · 陕西

​ 回复​ 喜欢

开妈

作者

我弃坑了_(:з」∠)_不好意思

2023-11-03 · 江苏

​ 回复​ 喜欢

点击查看全部评论

理性发言，友善互动

推荐阅读

ESXi6.7.0 U2 直通USB键盘、鼠标给Win10虚拟机

一修

VMware ESXi安装NVIDIA GPU显卡硬件驱动和配置vGPU

一、驱动软件准备：从nvidia网站下载驱动，注意，和普通显卡下载驱动地址不同。 按照ESXi对应版本不同下载不同的安装包。安装包内含ESXi主机驱动和虚拟机驱动。 GPU显卡和物理服务器兼容查…

Hum0r...发表于虚拟化，虚...

DELL服务器ESXI 6.7安装教程

准备工具： 1、U盘 2、服务器 3、VMware-6.7.0 镜像 4、U启（本教程使用rufus） 1、U启动制作--（启动盘制作过程会格式化U盘）2、服务器初始化与准备；1、开机服务器并进入磁盘设置（当跳转…

在线等

软路由上ESXi安装与配置（含网卡直通）-手把手小白教程

赛博坦程序猿

想来知乎工作？请发送邮件到 [email-masked]