Linux教程

神奇的BUG——Linux之4

本文主要是介绍神奇的BUG——Linux之4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

神奇的BUG——Linux之4

  • 配置
  • 问题
  • 解决

配置

出现版本Ubuntu 18.04 + 内核版本 5.4.0-77-generic + NVIDIA显卡驱动 435.21
查看内核版本指令如下:

uname -r

我的笔记本显示如下:
在这里插入图片描述

问题

NVIDIA显卡掉了,原因在于内核升级得太高,已经和原有的显卡驱动不兼容。
使用如下指令可以查看内核的历史下载记录:

sudo dpkg --get-selections | grep linux

在这里插入图片描述
其中右侧显示 install 的是已经安装了的,显示 deinstall 的是被我卸载了的。
现在问题是如何给内核降级,或者说回退内核版本,比方说降到版本 5.4.0-48

解决

① 查看可用内核信息:

grep menuentry /boot/grub/grub.cfg

我的笔记本显示如下:
在这里插入图片描述
可以看到已经下载了 5.4.0-48 版本的内核;
如果没有下载过,则需执行下述两条指令安装该版本的内核:

sudo apt-get install linux-headers-5.4.0-48-generic
sudo apt-get install linux-image-5.4.0-48-generic

② 修改 grub 文件:
建议使用 vim 修改该文件而不是 gedit

sudo vim /etc/default/grub

找到代码 GRUB_DEFAULT=0 并进行修改:
在这里插入图片描述
对于怎么修改该行代码的问题,有如下两点说明:
A、如果你的grub版本是2.0以上,则将代码换成如下:

GRUB_DEFAULT='Advanced options for Ubuntu > Ubuntu, with Linux 5.4.0-48-generic'

保存后执行更新指令:

sudo update-grub

重启后内核降级。
B、对于下述三种情况,建议使用该方法修改代码:
情况一:系统 grub 版本在 2.0 以下;
情况二:不清楚系统 grub 版本是否在 2.0 以上;
情况三:按照 A 中的方法,修改、更新并重启后,内核版本没有回退;
先修改代码为:

GRUB_DEFAULT='Ubuntu, with Linux 5.4.0-48-generic'

保存后执行同 A 中的更新指令,出现提示如下:
在这里插入图片描述
按照提示内容,再重新修改 /etc/default/grub 中的
GRUB_DEFAULT=‘Ubuntu, with Linux 5.4.0-48-generic’
为如下:

GRUB_DEFAULT='gnulinux-advanced-f569d798-30e7-4997-9379-2e9b32f54008>gnulinux-5.4.0-48-generic-advanced-f569d798-30e7-4997-9379-2e9b32f54008'

保存后同 A 中操作,即更新:

sudo update-grub

在这里插入图片描述

重启,重启后内核成功回退到版本 5.4.0-48 。
在这里插入图片描述

这篇关于神奇的BUG——Linux之4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!