如何切换 Ubuntu、Debian 系统内核
每次升级 Linux 内核都有可能出现未知问题,以及兼容性的烦恼,那么在出现状况的时候,我们可以尝试切换回以前的旧版内核来解决。
1、首先查看当前正在使用的内核版本:
uname -a
当前使用的内核是 Linux ubuntu 6.2.0-37-generic
2、查看可用的内核版本:
sudo dpkg --get-selections | grep linux-image
其中最下面的 linux-image-generic-hwe
是对最新硬件支持的滚动更新内核,不做多述
这里需要说明,红色框内是已经卸载的内核,不可用。只是留下了配置文件,可以运行下列命令删除:
sudo dpkg --purge $(dpkg -l | awk '/^rc/{print $2}')
3、查看内核启动顺序
grep menuentry /boot/grub/grub.cfg
红色标识部分为启动的 1 级菜单。绿色标识部分为启动的 2 级菜单。以 0 开始,自上往下开始计算位置
这里和开机 grub 启动菜单层级关系配置文件一致(开机按住 Shift 键进如 grub 界面)
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, with Linux 6.2.0-36-generic
;从上面内核启动顺序的图中或者 grub 启动菜单中,我们看出这个内核对应的是 1 级菜单位置 1,二级菜单位置 2,(每个内核版本有2个选项,recovery mode 为恢复模式,不要选择)那么就修改为:GRUB_DEFAULT="1>2"
修改好之后保存退出。
5、更新 GRUB 引导加载程序
sudo update-grub
6、重启系统完成修改。
sudo reboot
再次运行 uname -a
命令,可以看到内核已经修改成功。
发表评论