事情原委:
买了一块3090的主板ubuntu nvidia显卡驱动安装,布署在服务器上,在Ubuntu上面死活装不了驱动,之前以为是买到垃圾二手主板了。后来用直通的windows安装驱动,很快就可以使用,所以,这个结果是打脸了自己原来的猜想——说明不是主板本身问题,还是自己在Ubuntu上安装驱动不对。经过一系列排查,总算搞定了,这儿总结了一些关键的坑ubuntu nvidia显卡驱动安装,作为记录。
本文编撰所在的环境:
ESXI版本:8.0
主板机型:Nvidia3090(24GB版本)
操作系统版本:Ubuntu22.04
备注:虽然ESXI版本使用7.0系列的也差不多的操作,只是界面截图可能有所不同,至于操作系统,ubuntu20.04和22.04都差不多,我都试过linux安装教程,也是一样的操作步骤,都可以安装成功的。
关键问题1:关于ESXI的直通设置
这儿我们使用的是ESXI8.0版本,直通设置须要单独在【导航器】-【主机】-【管理】-【硬件】-【PCI设备】这里做切换,拉到下边找到这个主板硬件,须要“切换直通”
关键问题2:虚拟机的设置,以及相关的参数设置
(1)虚拟机设置,须要单独为这台虚拟机添加PCI设备——即添加直通的主板
(2)【虚拟机选项】-【引导选项】,这儿必须设置为不启用UEFI安全引导,把勾去除。或则干脆直接选“BIOS”,否则驱动程序可能因为安全保护机制引起安装失败(这个主要是为了保护内核安全的设置,这儿必须去除)
在ubuntu上面,可以用这个确认一下,你当前是否是内核保护状态,倘若是enabled,则是,这些状态可能造成驱动程序安装不成功:
mokutil --sb-state
假如是显示:SecureBootenabled,这么这些有可能是不行的;
假如显示:SecureBootdisabled,这么这些可以;
(3)【虚拟机选项】-【高级】-【配置参数】,这儿必须添加如下参数:
hypervisor.cpuid.v0False
pciPassthru.use64bitMMIOTrue
pciPassthru.64bitMMIOSizeGB32(单张主板,值为32;假如是多张主板,设置值为64。)
关键问题3:ubuntu屏蔽nouveau,以及驱动安装相关的一些操作
(1)编辑blacklist.conf文件:
sudo vim /etc/modprobe.d/blacklist.conf
末尾添加如下代码:
blacklistnouveau
optionsnouveaumodeset=0
(2)编辑nvidia.conf文件
sudo vim /etc/modprobe.d/nvidia.conf
末尾添加如下代码:
optionsnvidiaNVreg_OpenRmEnableUnsupportedGpus=1
(3)更新以上配置生效
sudo update-initramfs -u
sudo reboot
(4)假如执行以下没有任何输出,这么就代表成功屏蔽了nouveau
lsmod |grep nouveau
(5)再安装驱动就简单了,可以从官网下载对应的驱动版本,然后传到Ubuntu前面来,执行安装即可(找驱动和上传文件的步骤就不赘言了):
sudo apt install build-essential pkg-config libglvnd-dev
sudo chmod +x NVIDIA-Linux-x86_64-550.78.run
sudo ./NVIDIA-Linux-x86_64-550.78.run -no-x-check -no-nouveau-check -no-opengl-files -m=kernel-open
备注:假如之前安装过,就先卸载原先的驱动redhat linux下载,重启机器,再重新安装一次就行,卸载命令如下:
sudo nvidia-uninstall
sudo apt purge -y '^nvidia-*' '^libnvidia-*'
sudo rm -r /var/lib/dkms/nvidia
sudo apt -y autoremove
sudo update-initramfs -c -k uname -r
sudo reboot
假如安装成功,就可以看见熟悉的信息复印界面了,使用nvidia-smi命令查看:
nvidia-smi
大功告成!!!
本文原创地址://q13zd.cn/jjuxtznxkqda.html编辑:刘遄,审核员:暂无