NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
解决方法[1]:
sudo apt install dkms
sudo dkms install -m nvidia -v nvidia 470.57.02
470.57.02为版本号
版本号查询方法:
ls /usr/src | grep nvidia
顺着此方法查询并安装,返回错误:
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-dkms-470.0.crash'
Error! Bad return status for module build on kernel: 5.4.0-42-generic (x86_64)
(其实顺着此处是可以解决的,但绕了一大圈,最后还是回到这个报错上来)
以为是内核版本问题,于是修改内核版本[3]:
查看服务器当前内核版本:
uname -r
5.4.0-80-generic
查看服务器可食用的所有内核版本:
grep menuentry /boot/grub/grub.cfg
看到共有3*2个版本,也就对应在启动服务器时Ubuntu高级选项的6个对应版本
vim /etc/default/grub
修改GRUB_DEFAULT的值(默认应当是0)
修改为:
GRUB_DEFAULT="1> 版本号对应索引"
大于号后面需要有空格,双引号不可以丢。写法出处在[4],我的共有6个版本,索引在0~5,我选择5.4.0-42-generic,所以是**“1> 4”**
此处有其他方法,比如直接
GRUB_DEFAULT=“Ubuntu,Linux 5.4.0-42-generic”[5]
或者
GRUB_DEFAULT=“Advanced options for Ubuntu>Ubuntu,Linux 5.4.0-42-generic”
注意,此处写法应当与上面查看所有内核版本对应的名称一致。但此方法并不太好用,修改以后没有内核版本没有改变(尚未找到原因)。
修改完成后重新编译GRUB文件:
sudo update-grub
重启:
sudo reboot
然后查看
uname -r
降低版本后,发现依旧没有解决问题,于是尝试重装驱动
重装驱动[6]:
卸载:
sudo apt-get remove --purge nvidia*
自动安装:
sudo ubuntu-drivers autoinstall
在此处同时出现了最开始使用dkms相同的报错(可能会遇到输密码的问题,需进入bios关掉一个选项,所以顺道提一嘴):
Bad return status for module build on kernel: 5.4.0-42-generic (x86_64)
搜索后发现是gcc版本问题。于是改变gcc版本[7]:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100
sudo update-alternatives --config gcc
按索引选择对应版本即可。
之后查看gcc版本:
gcc -v
最后将gcc设置回7后返回第一步:
sudo dkms install -m nvidia -v 470.57.02
最后把自动更新毙掉[1]:
sudo vim /etc/apt/apt.conf.d/10periodic
全改成"0"
[1]https://blog.csdn.net/u012114438/article/details/104425573
[2]https://forum.ubuntu.org.cn/viewtopic.php?t=486436
[3]https://blog.csdn.net/qq_36782182/article/details/88019574
[4]https://forum.ubuntu.org.cn/viewtopic.php?t=486436
[5]https://blog.csdn.net/weixin_40205817/article/details/79450403
[6]https://blog.csdn.net/wlh156423/article/details/107746179?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.control&spm=1001.2101.3001.4242
[7]https://www.cnblogs.com/uestc-mm/p/7511063.html