Ubuntu18.04重启后内核自动更新显卡驱动失效

最近一次重启服务器,发现显卡驱动不见了。网上找了很多办法,原因就是因为重启后内核更新,导致内核版本和Nvidia显卡驱动版本不一致造成的。大致整理了一下。有两种解决方案,一是回退系统内核版本,二是卸载原有驱动,重新安装新版本驱动。个人推荐第一种方法,因为重装驱动必然导致深度学习的环境都要重装,如:cuda、cudann等等。而且程序所依赖的框架(比如:pytorch、tensorflow等)很有可能和新版本的驱动不兼容。总之,可能带来一系列连锁反应。然后自己把这个过程打算记录下来,开始看看是如何解决的吧~

我这里是通过Xshell远程连接服务器进行操作的:

  1. 查看系统驱动信息,nvidia-sminvcc -V都失效:
  2. libtorch gpu 不稳定 gpu不稳定 突然降为0_libtorch gpu 不稳定

  3. 查看当前内核版本,uname -a
  4. libtorch gpu 不稳定 gpu不稳定 突然降为0_运维_02

  5. 查看系统内有哪些内核版本,grep menuentry /boot/grub/grub.cfg
  6. libtorch gpu 不稳定 gpu不稳定 突然降为0_linux_03

  7. 更改grub默认启动项:
    开机启动设置由/etc/default/grub文件确定。该文件需要root权限修改,并在修改后及时更新。在终端使用以下命令打开并修改:
sudo vi /etc/default/grub

打开文件后,内容如图所示:

libtorch gpu 不稳定 gpu不稳定 突然降为0_linux_04


GRUB_DEFAULT=0修改为GRUB_DEFAULT="1> 2",注意>后面有空格。这里1代表第一级菜单中序号为1的条目(ubuntu默认是从0开始),即Ubuntu高级选项;我这里是将其修改为序号为2的条目,即Linux 5.4.0-109-generic(具体还是要看你系统内存在哪些内核版本)。完成后保存并退出,按Esc, :wq

libtorch gpu 不稳定 gpu不稳定 突然降为0_libtorch gpu 不稳定_05


5. 然后执行sudo update-grub终端显示如下:

libtorch gpu 不稳定 gpu不稳定 突然降为0_ubuntu_06


6. 重启系统sudo reboot

libtorch gpu 不稳定 gpu不稳定 突然降为0_ubuntu_07


7. 重启后可在查看版本内核是否已经修改成功,uname -a

8. 再打开nvidia-smi查看驱动信息:

libtorch gpu 不稳定 gpu不稳定 突然降为0_重启_08


9. 驱动又回来啦!!!