记录一次ubuntu重启后,无法进入图形化界面的解决方法
问题描述
系统:Ubuntu18.04 显卡:Nvidia RTX Titan 24G x2 驱动版本:460.91.03 CUDA版本:11.2
出现问题经过:深度学习工作站,正常跑代码,结果出现了“cuda runtime error (100) : no CUDA-capable device is detected”,师弟说是重启一下电脑就好,于是重启后显示“/dev/sdd1: recovering journal”字样
尝试解决的经过
- 首先在gru界面进入ubuntu高级模式,选择recovery模式后,从里面选正常进入ubuntu系统,就能顺利进到了图形化界面(不知道为什么!), 但是很明显是没有装过nvidia驱动的界面。在命令框输入
nivida-smi 就出现NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver - 网上搜到了一个解决方案; 按照教程走,但是在第二步
sudo dkms install -m nvidia -v 460.91.03
的时候,又报错,提示 Error! Bad return status for module build on kernel 3. 这篇帖子分析是因为gcc的版本不匹配,依稀记得我也手动设置过gcc版本,抱着死马当活马医的想法,升级gcc版本。按照这篇文章的方法,安装了gcc8版本。 4. 随后重新执行第2步的内容
sudo dkms install -m nvidia -v 460.91.03
上面那个报错没有了,但是输入nivida-smi 还是会出现NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver 5. 于是,又找到了这篇文章的第一种方法,输入sudo modprobe nvidia ,后输入nivida-smi ,终于没再报错。 6. 重启电脑后,显卡已正常工作,回到了熟悉的图形界面。
分析原因
网上说的是因为更新了内核,导致显卡驱动与内核不匹配。我确实使用了sudo apt-get update 指令,然后重启就出现这个问题了。
总结
- 更新gcc版本
- 运行如下代码:
sudo apt-get install dkms
sudo dkms install -m nvidia -v xxx (表示的是驱动版本号)
- 运行
sudo modprobe nvidia
- reboot
后记
上述解决方法仅针对我个人这一次的案例做一次记录。具体原理不知道,具体怎么出错怎么修好的,所有都是怀疑着去试的,到最后我也是半脸懵逼瞎猫碰上死耗子解决了这个问题。。。
最后的最后
其他人的情况五花八门,不保证本方法同样可行!
|