最近需要跑一个深度学习的程序,把许久没用的ubuntu系统调了出来,手欠的我更新了一下系统,结果再启动,系统就只停留在光标闪动那里,不能看到图形界面了。网上查了一下,说是因为更新后,显卡驱动没有编译,使得重新进入系统后,显卡驱动出现问题。折腾了一轮,总算是把这个坑爹的问题解决了,重新安装了Nvidia显卡驱动。我在这个博客做一下记录,以做备忘。
如果你停留在光标界面,不能进入系统,首先要检查一下是不是显卡问题。办法是退出到引导菜单,选择高级模式,选择ubuntu系统的恢复模式:
进入高级模式后,选择最新版本的recovery mode恢复模式:
之后我们就进入了恢复模式选择界面:
注意,在进入恢复模式后,首先要选择enable networking,连接网络以方便我们后续下载。
之后,我们选择 drop to root shell prompt,获得root权限的命令行输入。在命令行输入如下代码,以检查驱动是否存在问题:
lshw -numeric -C display
弹出如下界面:
如果你的driver这里是空的,说明确实是驱动问题。这个时候你需要重新安装驱动。以Nvidia显卡为例,我们需要安装最新的Nvidia显卡驱动,首先卸载原始驱动,然后重启:
sudo apt-get remove nvidia*
sudo apt autoremove
sudo apt-get install dkms build-essential linux-headers-generic
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
reboot
我参考的博客说要在/etc/modprobe.d/blacklist.conf中禁用nouveau。这里我没有禁用,也调通了。如果你之后没有成功的安装显卡驱动,可以在这里重写下配置按文件,如下:
sudo vim /etc/modprobe.d/blacklist.conf
#将以下内容复制到 blacklist.conf 文件最后
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
#复制完毕后保存
#返回终端
之后使用以下代码检查nouveau是否被禁用
lsmod | grep nouveau
如果没有返回任何信息就说明禁用成功了。
reboot后,按照之前提到的方法,重新进入root权限的命令行输入,安装显卡驱动:
sudo apt-get install nvidia-driver-535
安装完成后,使用下面命令检查版本:
nvidia-smi
如果输出如下,说明安装成功:
此时,如果重新执行lshw -numeric -C display,应该能够看到driver=nvidia,大功告成!
参考博客:Ubuntu系统安装显卡驱动_ubuntu安装显卡驱动_kernelstudy1的博客-CSDN博客