问题描述

  • 外接显示器无反应;
  • 输入nvidia-smi发现报错:
    在这里插入图片描述

测试

重启电脑, 在ubuntu 启动过程中选择Advanced options for Ubuntu的低版本版本运行。

输入:

 nvidia-smi

在这里插入图片描述

发现是正常的,同时外接显示器也能正常显示。

问题原因

NVIDIA驱动是在低版本的时候安装,由于系统更新,内核版本升级导致NVIDIA无法应用在高内核版本.

解决方法

查看自己电脑中的内核:

dpkg --get-selections | grep linux

我这里有三个内核,每个内核都有四个小部分。
在这里插入图片描述
查看当前版本的内核号:

uname -r

在这里插入图片描述

禁止内核更新

sudo apt-mark hold linux-image-5.4.0-84-generic
sudo apt-mark hold linux-headers-5.4.0-84-generic
sudo apt-mark hold linux-modules-5.4.0-84-generic
sudo apt-mark hold linux-modules-extra-5.4.0-84-generic

更改启动项选择

查看内核启动选项:

cat /boot/grub/grub.cfg | grep menuentry

我们想要的5.4.0-84-generic是在第三位:
在这里插入图片描述
说明:

  • menuentry(主菜单): 默认启动内核。 为0, 对应 /etc/default/grub 中 GRUB_DEFAULT=0 的0。
  • submenu(子菜单): 包含所有启动内核。 为1 对应 /etc/default/grubGRUB_DEFAULT=“1> 2"的1。其中menuentry所对应的索引从0开始。

修改启动选项

sudo gedit /etc/default/grub

找到GRUB_DEFAULT=0:
在这里插入图片描述

修改为你所想要还原的版本号:(只用更改最后的即可)

# GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu,Linux 5.4.0-84-generic"
GRUB_DEFAULT="1>2"

在这里插入图片描述

更新GRUB

sudo update-grub

在这里插入图片描述
如果底下有warning,就按他说的改一下,我这里是:

Advanced options for Ubuntu>Ubuntu,Linux 5.4.0-84-generic

重启

sudo reboot

卸载内核

卸载最新的内核:

sudo apt-get remove \
linux-headers-5.4.0-100-generic \
linux-image-5.4.0-100-generic \
linux-modules-5.4.0-100-generic \
linux-modules-extra-5.4.0-100-generic 

参考文章:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐