Esxi8.0设置nvidia显卡直通安装最新驱动

发布于 2025年02月15日

ESXI8.0设置显卡直通

在某些情况下,我们需要多次切换操作系统,以测试软件是否适用于特定系统和环境,减少多次重装系统的麻烦

ESXI8.0安装包

通过网盘分享的文件:ESXi-8.0U2-22380479-USB-NVME-集成网卡镜像.iso
链接: https://pan.baidu.com/s/1KKcOlK5oVYW-nafrCphuGQ?pwd=34qh 提取码: 34qh
--来自百度网盘超级会员v6的分享

关闭ESXI显卡调用

问题:ESXI8.0直通1030显卡每次重启宿主机会显示已启用需要重新引导

esxcli system settings kernel set -s vga -v FALSE

设置之后,需要重新引导

设置ESXI显卡直通

路径: 主机-管理-硬件-PCI设备

选择你的显卡设备,一般是以:NVIDIA 开头的,然后点击切换直通,然后我们就直接点击 重新引导主机

添加Ubuntu虚拟机

预留所有内存,并添加PCI设备中的显卡

1-tmyn.png

设置EFI并关闭安全引导

第一个坑,没有关闭安全引导导致显卡驱动不能安装

2-lxvt.png

配置虚拟机的参数

路径:虚拟机选项-高级-配置参数-编辑配置

3-zstp.png
参数说明:

hypervisor.cpuid.v0值为FALSE
pciPassthru.use64bitMMIO值为TRUE
pciPassthru.64bitMMIOSizeGB值为24
(这个数字填写 显卡数 乘以 GPU显存总量。例如我的3090ti显存24G,这里填写24 * 1 =24即可)

Ubuntu配置

开始配置Ubuntu虚拟机

查看ubuntu中是否检测到显卡

lspci | grep VGA

输出如下:

ubuntu@ubuntu:~$ lspci | grep VGA
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
02:02.0 VGA compatible controller: NVIDIA Corporation Device 2203 (rev a1)

显卡驱动前置编译库安装

sudo apt update
sudo apt install build-essential
vim /etc/modprobe.d/nvidia.conf

编辑 nvidia.conf 文件,这个选项是用来启用对不受支持的 NVIDIA GPU 设备的开放式资源管理支持。默认情况下,NVIDIA 驱动程序可能会禁用对某些较旧或不常见的 GPU 设备的支持。通过设置这个选项为 1,可以允许驱动程序在不支持的 GPU 设备上启用资源管理。

文件 /etc/modprobe.d/nvidia.conf 内容:

options nvidia NVreg_OpenRmEnableUnsupportedGpus=1

下载显卡驱动

地址:https://www.nvidia.cn/drivers/lookup/

我这边下载的是:NVIDIA-Linux-x86_64-550.144.03.run

默认ESXI不支持>=470版本的驱动,如果使用sudo ./NVIDIA-Linux-x86_64-550.144.03.run安装,会提示No devices were found。

使用开放式内核模式安装

在esxi安装虚拟机的情况下,在驱动版本大于470的情况下,一般会提示 No devices were found 所以我们需要采用开放内核模式安装

修改显卡驱动安装的命令,增加 -m=kernel-open。这个参数指定 NVIDIA 安装程序以开放式内核模式运行。在这种模式下,安装程序将尝试编译和安装适用于当前 Linux 内核版本的内核模块。这通常用于在系统中使用自定义或非常规的内核版本。

sudo chmod +x NVIDIA-Linux-x86_64-550.144.03.run
sudo ./NVIDIA-Linux-x86_64-550.144.03.run -m=kernel-open

为什么需要额外参数-m=kernel-open

  • -m=kernel-open 参数可指示安装程序以开放模式构建和加载内核模块。
  • Ubuntu系统内核不断更新,不同版本内核在接口、机制等方面存在差异。
  • NVIDIA显卡驱动默认安装时,其内核模块基于特定内核环境编译和适配。
  • 当系统内核版本与驱动默认适配版本不一致,会出现兼容性问题导致安装失败。
  • -m=kernel-open 允许以开放源码方式重新编译内核模块,适配当前系统内核版本,解决兼容性问题,实现驱动正常安装。

重启系统检测是否安装成功

重启系统

sudo reboot

执行 nvidia-smi

nvidia-smi

输出如下:

ubuntu@ubuntu:~$ nvidia-smi
Sat Feb 15 11:45:22 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03             Driver Version: 550.144.03     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3090 Ti     Off |   00000000:02:02.0 Off |                  Off |
| 30%   33C    P0             67W /  450W |       1MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
ubuntu@ubuntu:~$ 

大功告成!



评论