一、前言

最近系统内核升级到了 5.15.0-43,结果导致虚拟机无法使用了,找了很久才找出问题所在,切换内核到 5.15.0-41 版本便好了,中间更换系统默认启动内核也花了不少时间。

网上很多方法修改 /etc/default/grub 文件的,我都试过了,重启之后系统的默认内核仍旧是 5.15.0-43 版本,所以这里我采用了另一种办法。


二、操作步骤

首先使用如下命令可以查看系统目前正在使用的内核:

uname -r

输出如下:

zqfeng@zqfeng-hp-laptop:~$ uname -r
5.15.0-41-generic

使用如下命令可以查看系统可用的内核:

dpkg --get-selections | grep linux-image

输出如下:

zqfeng@zqfeng-hp-laptop:~$ dpkg --get-selections | grep linux-image
linux-image-5.13.0-30-generic			deinstall
linux-image-5.13.0-52-generic			deinstall
linux-image-5.15.0-41-generic			install
linux-image-5.15.0-43-generic			install
linux-image-generic-hwe-20.04			install

其中显示 install 的就是当前系统可用的内核,接着我们同样修改 /etc/default/grub 文件:

sudo gedit /etc/default/grub

我们不修改 GRUB_DEFAULT 参数的值,而是添加如下两条命令:

GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved

接着注释掉 GRUB_TIMEOUT_STYLE 这一段代码,设置 GRUB_TIMEOUT 值为 30:

# GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=30

在这里插入图片描述

这样做的目的是使得开机前留下30秒的时间进入 grub 选择界面,接着更新 grub 配置:

sudo update-grub

重启系统:

sudo reboot

在开机之前的 grub 界面中,选择 Advantages for ubuntu 选项,接着选择自己想要的内核版本进入便可,系统会默认选择你本次的启动内核为默认内核版本。


三、附

开机后依然使用 uname -r 查看系统内核版本,接着需要注释掉 GRUB_TIMEOUT=30 这一段代码,设置 GRUB_TIMEOUT_STYLE 值为 hidden,不然下次开机还会弹出 grub 界面:

GRUB_TIMEOUT_STYLE=hidden
# GRUB_TIMEOUT=30

在这里插入图片描述

更新一下配置:

sudo update-grub

问题解决。

Logo

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

更多推荐