安装 Nvidia 显卡
我的环境信息
| 硬件 | 软件 | ||
|---|---|---|---|
| 主板 | X99-Turbo | ESXI | 8 |
| CPU | E5-2678 v3 | Linux | Ubuntu 24.04 LTS |
| 显卡 | 2080Ti 22G |
Bios
| 键 | 值 | 解释 |
|---|---|---|
MMIO High Base | 最大 | 映射外围设备到内存,的起始高地址 |
Above 4G Decoding | Enable | 允许系统访问大内存的 PCI 设备 |
Intel Virtualization Technology | Enable | 硬件辅助虚拟化技术 |
ESXI
- 关闭安全引导:编辑 > 虚拟机选项 > 引导选项 > 启用 UEFI 安全引导 > 是否为此虚拟机启用 UEFI 安全引导:否
- 配置虚拟机参数:编辑 > 虚拟机选项 > 高级 > 配置参数 > 编辑配置:
| 键 | 值 | 解释 |
|---|---|---|
| hypervisor.cpuid.v0 | FALSE | 让驱动认为设备不在虚拟环境中 |
| pciPassthru.use64bitMMIO | TRUE | 使用 64bit 位宽寻址。未开则识别不到显卡 |
| pciPassthru.64bitMMIOSizeGB | 64 | 设置 MMIO 内存大小 |
Ubuntu
shell
lspci | grep -i nvidia # 查看显卡型号禁用nouveau驱动
shell
cat << EOF > /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
EOF
update-initramfs -u # 更新设置
reboot # 重启系统
lsmod | grep nouveau # 检查nouveau是否运作。无输出则成功。其他设置
shell
echo "options nvidia NVreg_OpenRmEnableUnsupportedGpus=1" > /etc/modprobe.d/nvidia.conf安装GPU驱动
卸载Nviadia驱动
shell
# 软件包
apt-get --yes --purge remove "*nvidia*"
apt purge --yes nvidia-cuda-* cuda-*
apt purge --yes nvidia-*
apt autoremove --yes
apt autoclean
/usr/bin/nvidia-uninstall # Nvidia 安装包的卸载器
# 内核模块
dkms status
dkms remove -m nvidia -v 550.120 --all
update-initramfs -u
# 残留文件
rm -rf /usr/lib/nvidia/ /usr/share/nvidia/ /var/lib/nvidia/
echo "-------------------------- 检查 --------------------------"
lsmod | grep nvidia
dpkg -l | grep nvidia
apt list --installed | grep nvidia
dkms status
nvidia-smishell
# 安装依赖
apt update; apt install gcc make build-essential libglvnd-dev pkg-config
# 安装驱动
ubuntu-drivers devices # 检测显卡型号和推荐的驱动
apt install nvidia-driver-550-open # 实测只有开源版本能正常用
nvidia-smi # 检查驱动是否正常运转
reboot # 安装驱动后应该重启系统这个命令会输出显卡信息,例如:
shell
Mon Feb 17 10:46:16 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| 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 2080 Ti Off | 00000000:03:00.0 Off | N/A |
| 31% 37C P8 11W / 250W | 3MiB / 22528MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+总结
在 ESXi 8 中的 Linux 虚拟机中使用显卡直通,必要的步骤:
- 关闭 UEFI 安全引导
- 使用开源版驱动
- 设置
NVreg_OpenRmEnableUnsupportedGpus=1
参考
Linux安装Nvidia显卡驱动+CUDA+cuDNN+PyTorch - 知乎ESXi 8直通NVIDIA显卡至Linux系统