当前位置: 首页 > news >正文

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

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设备中的显卡
选择PCI设备

设置EFI并关闭安全引导

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

关闭UEFI安全引导

配置虚拟机的参数

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

参数说明:

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
sudo 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:~$ 

大功告成!

http://www.dtcms.com/a/19072.html

相关文章:

  • 六、面向对象编程(2)
  • 多模态基础模型训练笔记-第一篇InternVL-g
  • HTTP 与 HTTPS:协议详解与对比
  • 蓝桥杯 Java B 组之简单动态规划(爬楼梯、斐波那契数列)
  • 本地通过隧道连接服务器的mysql
  • 1-10 github注册仓库
  • MySQL Workbench 8.0不支持非SSL连接
  • 喜报!博睿数据案例获经观传媒“2024年度数字转型创新案例”!
  • 信息量与信息熵
  • 计算机性能与网络体系结构探讨 —— 基于《计算机网络》谢希仁第八版
  • VMware vSphere数据中心虚拟化——搭建vCenter Server7.0数据中心集群
  • 大语言模型推理中的显存优化 有哪些
  • 可编程超表面任意旋转偏振方向并以线性和非线性方式操控相位
  • cpu、gpu查看
  • Ollama 安装命令
  • [C++]多态详解
  • DeepSeek 通过 API 对接第三方客户端 告别“服务器繁忙”
  • C++演示中介模式
  • 【设计模式】03-理解常见设计模式-行为型模式(专栏完结)
  • SpringBoot多数据源实践:基于场景的构建、实现和事务一体化研究
  • 第1825天 | 我的创作纪念日:缘起、成长经历、大方向
  • 使用动态规划解决 0/1 背包问题
  • 【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
  • 前台、后台、守护进程对比,进程组的相关函数
  • 开源ZLMediaKit流媒体服务框架编译使用验证
  • [NOIP2001]统计单词个数
  • vue3-02基础认识vue3中main.js入口文件,app.vue(不存在唯一根节点),扩展程序vue-devtools安装
  • spark任务运行
  • Nessus 工具使用全攻略
  • C++ Primer 函数重载