Nvidia驱动程序失败并登录循环问题
所以前几天我试图将我的Nvidia驱动程序从384更新到390.更新后的驱动程序无效。
内核日志向我显示了这个错误:
nvidia: version magic '4.4.0-119-generic SMP mod_unload modversions ' should be '4.4.0-119-generic SMP mod_unload modversions retpoline '
Xorg日志显示了这个:
[ 407.015] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist. [ 407.015] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist. [ 407.015] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist. [ 407.015] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist. [ 407.015] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist. [ 407.023] (WW) "glamoregl" will not be loaded unless you've specified it to be loaded elsewhere.
modprobe nvidia
找不到所需的模块:
modprobe: ERROR: could not insert 'nvidia': No such device
但卡被系统发现:
lspci | grep NVIDIA 01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
内核 4.4.0-119-通用系统: Ubuntu 16.04
怎么解决这个?
所以有一天我找到了解决这个问题的方法。 主要的失败是在gcc编译器中,它是从测试库安装的(我需要它用于golang),但它会制动内核。
那么我做了什么来解决这个问题:
-
在登录屏幕上使用Ctrl – Alt – F1登录tty1。
-
使用
sudo service lightdm stop
停止lightdm服务 -
使用’sudo apt purge nvidia- * cuda- *’清除所有nvidia和cuda包装
-
安装purge ppa工具:
sudo apt-get install ppa-purge
-
删除测试ppa:
sudo ppa-purge ppa:ubuntu-toolchain-r/test
-
检查gcc版本,现在它应该是5.4.0。
gcc --version
-
删除旧内核:
sudo apt-get purge linux-headers-4.4.0-119 linux-headers-4.4.0-119-generic linux-image-4.4.0-119-generic linux-image-extra-4.4.0-119-generic linux-signed-image-4.4.0-119-generic
-
重新安装内核:
sudo apt-get install linux-generic linux-signed-generic
-
重启
sudo reboot
(sudo reboot
后你可能会看到黑屏,没关系) -
重复1-2
-
安装nvidia驱动程序
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt install nvidia-390 nvidia-390-dev
-
重新安装ubuntu-desktop
sudo apt install --reinstall ubuntu-desktop
-
重启
-
利润!