如何切换 Ubuntu、Debian 系统内核

每次升级 Linux 内核都有可能出现为之问题,以及兼容性的烦恼,那么在出现状况的时候,我们可以尝试切换回以前的旧版内核来解决。

1、首先查看当前正在使用的内核版本:

uname -a

当前使用的内核是 Linux ubuntu 6.2.0-37-generic

如何切换 Ubuntu、Debian 系统内核插图

2、查看可用的内核版本:

sudo dpkg --get-selections | grep linux-image

其中最下面的 linux-image-generic-hwe 是对最新硬件支持的滚动更新内核,不做多述

如何切换 Ubuntu、Debian 系统内核插图1

这里需要说明,红色框内是已经卸载的内核,不可用。只是留下了配置文件,可以运行下列命令删除:

sudo dpkg --purge $(dpkg -l | awk '/^rc/{print $2}')

3、查看内核启动顺序

grep menuentry /boot/grub/grub.cfg

红色标识部分为启动的 1 级菜单。绿色标识部分为启动的 2 级菜单。以 0 开始,自上往下开始计算位置

如何切换 Ubuntu、Debian 系统内核插图2
内核启动顺序

这里和开机 grub 启动菜单层级关系配置文件一致(开机按住 Shift 键进如 grub 界面)

如何切换 Ubuntu、Debian 系统内核插图3
这是 grub 启动的 1 级菜单
如何切换 Ubuntu、Debian 系统内核插图4
这是 grub 启动的 2 级菜单,即 Advanced options for Ubuntu 下一级菜单

4、编辑默认启动内核

sudo vi /etc/default/grub

下图中默认的 GRUB_DEFAULT=0 表示启动项是从 1 级菜单 0 的位置开始,即从 menuentry 'Ubuntu' 启动,因为这个 1 级菜单没有子级,所以用 0 表示即可,从上面内核启动顺序的图中,我们也不难看出,它默认是启动 gnulinux-advanced-34b3bd65-f3d7-4b93-a3c4-03015e1a7836 这个 ID 的内核,即:Ubuntu, with Linux 6.2.0-37-generic

如何切换 Ubuntu、Debian 系统内核插图5

举例说明,我们要将启动内核修改为:Ubuntu, with Linux 6.2.0-36-generic;从上面内核启动顺序的图中或者 grub 启动菜单中,我们看出这个内核对应的是 1 级菜单位置 1,二级菜单位置 2,(每个内核版本有2个选项,recovery mode 为恢复模式,不要选择)那么就修改为:GRUB_DEFAULT="1>2"

如何切换 Ubuntu、Debian 系统内核插图6

修改好之后保存退出。

5、更新 GRUB 引导加载程序

sudo update-grub

6、重启系统完成修改。

sudo reboot

再次运行 uname -a 命令,可以看到内核已经修改成功。

如何切换 Ubuntu、Debian 系统内核插图7

标签

发表评论