nvidia安装驱动各种问题汇总

ubuntu20.04 nvidia安装驱动各种问题汇总

1、日志查看

nvidia驱动安装失败,可以查看下面日志,查看具体问题:

cat /var/log/nvidia-installer.log
cat /var/log/cuda-installer.log

2、安全驱动前一定要安装的软件

sudo apt-get update   #更新软件列表 
sudo apt-get install gcc 
sudo apt-get install g++ 
sudo apt-get install make
sudo apt-get install cmake

3、旧的驱动没有卸载干净导致

sudo apt-get purge nvidia-cuda*
sudo apt-get purge nvidia-*
sudo apt-get purge remove "*cublas*" "cuda*" #卸载CUDA Toolkit

使用sudo dpkg --list | grep nvidia-*查询是否卸载干净了。如不干净,继续卸载。

sudo apt autoremove *nvidia*  #卸载所有和nvidia相关

4、gdm导致的

如果是ubuntu20.04,则执行gdm3关闭。(ubuntu20.04自带gdm3,如果你自己装了其他的,需要对应关闭)

sudo /etc/init.d/gdm3 stop

如果是ubuntu16.04,则执行gdm关闭。

sudo /etc/init.d/gdm stop 

5、nouveau导致的失败

如果是nouveau导致的失败,则禁用nouveau。如果电脑接着显示器,这个肯定失败。

sudo vi /etc/modprobe.d/blacklist.conf

在blacklist.conf末尾添加如下内容:

blacklist nouveau
options nouveau modeset=0

然后输入下面命令后,重启电脑:

sudo update-initramfs -u
lsmod | grep nouveau  #查询不到任何东西,就是对的

重启后,查询

lsmod | grep nouveau  #查询不到任何东西,就是对的

6、报****,Operation not permitted

下面具体是:

Lockdown:nvidia-installe: unsigned module loading is restricted

则是因为电脑设置了安全模式,需要进bois关闭。

解决此问题有两个方法:

1、去bois页面,关闭安全模式。

华硕主板,关闭步骤:

1)进入BIOS界面,按F8进入高级模式。进入后,选择“启动”选项卡,在下面找到“安全启动”选项,回车进入。
2) 进入“安全启动”菜单后,可以看到“安全启动状态”是开启的并且无法关闭,这时候就要找到“密钥管理”并回车进入。
3) 在"密钥管理"选项卡中,选择“清除安全启动密钥”并回车。
4) 返回上一页,这时可以看到“安全启动状态”已经关闭了。按F10保存设置并重启电脑。

2、向内核添加一个自签名证书,然后使用证书对驱动模块进行签名

请参考:内核 lockdown 导致驱动无法加载的解决方法 - 简书

7、系统内核导致驱动安装失败

报错日志:ERROR: The nvidia kernel module was not created

因为nvidia内核模块没有被创建,一般情况下是因为用apt-get update, apt-get upgrade 造成内核版本升级,导致驱动文件不适配。

1)查看当前使用的内核

uname -r

如5.15.0-52-generic

查询一下系统已经安装的所有内核,一般来说,如果自己没有装内核,查到的都是系统预装好的,输入如下命令:

sudo dpkg --get-selections |grep linux-image
sudo dpkg --get-selections |grep linux-headers
sudo dpkg --get-selections |grep linux-modules

nvidia安装驱动各种问题汇总_第1张图片

如果当前内核版本不是install的状态,则是有问题的。

如果需要的版本已经预装好的话,可以直接切换内核。

如果没有自己需要的版本,可以使用如下命令,安装内核,如。

apt install linux-image-5.15.0-52-generic
apt install linux-headers-5.15.0-52-generic
apt install linux-modules-5.15.0-52-generic

2)切换内核

查询系统目前支持的内核:

grep "Ubuntu, with Linux" /boot/grub/grub.cfg

在这里插入图片描述

打开/etc/default/grub,修改为查询的结果,如Ubuntu, with Linux 5.15.0-52-generic:

sudo vi /etc/default/grub

替换GRUB_DEFAULT=0为如下:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-52-generic"

执行

sudo update-grub

现在再查询自己当前的内核版本,就变成刚才切换的了:

uname -r

你可能感兴趣的:(人工智能)