问题重述

ubuntu20.04和windows10双系统中,之前ubuntu装了nvidia显卡驱动470能成功使用。后续几天没用电脑,重新开机后,命令行输入nvidia-smi,报错:

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

尝试

根据搜索,主要有3种解决思路。

方法一:

参考:NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver._AI 菌的博客-CSDN博客

 查找已安装的驱动版本,xxx为版本号:

ls /usr/src | grep nvidia
sudo apt-get install dkms
sudo dkms install -m nvidia -v xxx

nvidia-smi

问题没有得到解决,执行 sudo dkms install -m nvidia -v xxx 时报错。

方法二:

参考:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver问题排查_hi,world的博客-CSDN博客

确认是否电脑更新了内核版本:

sudo dpkg --get-selections | grep linux-image // 查看已安装版本
uname -sr // 查看当前使用版本

重启电脑,在系统选择页面选择“ubuntu高级选项”,选择老版本进入。

问题依然没有得到解决,nvidis-smi还是未正常显示。

方法三:

参考:nvidia-smi报错 解决方法【转载】_czafrost的博客-CSDN博客

发现之前电脑装的驱动本来是470版本的,现在变成了455,考虑卸载驱动再重装:

sudo apt-get remove --purge nvidia* 
sudo ubuntu-drivers autoinstall

但在执行第一句时报错,显示没有驱动,不能卸载。

问题解决

方法一时,执行 sudo dkms install -m nvidia -v xxx 命令时报错:

Error! Your kernel headers for kernel 5.15.0-41-generic cannot be found.
Please install the linux-headers-5.15.0-41-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located

根据第2行,安装内核:

sudo apt-get install linux-headers-5.15.0-41-generic

报错:

根据提示打开make.log文件,有:

根据提示,进入 /usr/src下对应内核目录下,执行:

sudo make oldconfig && make prepare

如果出现权限问题则直接 sudo su,再进行后续操作。

根据报错信息:

执行:

sudo apt-get install flex
sudo apt-get install bison

再次make,有:

暂未解决上述问题,此时再次重新卸载驱动,可以卸载成功,并按推荐安装:

sudo apt-get remove --purge nvidia* 
sudo ubuntu-drivers autoinstall

卸载成功!根据提示设置密码,重启电脑。

参考:ubuntu20.04安装完NVIDIA驱动后使用nvidia-smi报错_Allen-Duke的博客-CSDN博客_nvidia-smi ubuntu

,在蓝屏界面选择“enroll mok”,“contine”,“yes”,输入密码reboot。

驱动成功显示:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐