侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 146 篇文章
  • 累计创建 60 个标签
  • 累计收到 2 条评论

Ubuntu 更改默认启动内核的方法

liveJQ
2022-10-09 / 0 评论 / 0 点赞 / 1,521 阅读 / 2,874 字 / 正在检测是否收录...
广告 广告

首先,可以查看下当前系统有哪些可切换的内核版本。

grep menuentry /boot/grub/grub.cfg

输出

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
	menuentry 'Ubuntu, with Linux 6.0.0-060000-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.0.0-060000-generic-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
	menuentry 'Ubuntu, with Linux 6.0.0-060000-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.0.0-060000-generic-recovery-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
	menuentry 'Ubuntu, with Linux 4.15.0-193-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-193-generic-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
	menuentry 'Ubuntu, with Linux 4.15.0-193-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-193-generic-recovery-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
	menuentry 'Ubuntu, with Linux 4.15.0-192-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-192-generic-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {
	menuentry 'Ubuntu, with Linux 4.15.0-192-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-192-generic-recovery-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {

可以看到有三种不同内核可以选择,用uname -r命令查看当前我的内核为 6.0.0-060000-generic,我想切到 4.15.0-193-generic 上去。

方法一

找到启动入口的选项ID,即$menuentry_id_option

grep submenu /boot/grub/grub.cfg

输出

submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {

由于我想切到4.15.0-193-generic,所以我下面匹配项可以这样写

grep gnulinux-4.15.0-193-generic-advanced /boot/grub/grub.cfg

输出

menuentry 'Ubuntu, with Linux 4.15.0-193-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-193-generic-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa' {

上面两个输出,截取我需要的字符,结果为 “gnulinux-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa” 和 “gnulinux-4.15.0-193-generic-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa”。

最后编辑/etc/default/grub文件,将GRUB_DEFAULT=0的值修改为

GRUB_DEFAULT="gnulinux-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa>gnulinux-4.15.0-193-generic-advanced-5acffe8e-c48f-4e6c-9b68-9a7770bac9fa"

注意,GRUB_DEFAULT 值中的两串字符需要用>符号分隔开来

保存文件后,更新 Grub 配置,并重启。

update-grub && reboot

方法二(简单粗暴)

直接全局替换默认启动项的版本号为我们需要的内核版本。例如,我这边需要从默认的 6.0.0-060000 内核(当前内核)切换到 4.15.0-193 内核(目标内核),命令为

sed -i 's/6.0.0-060000/4.15.0-193/g' /boot/grub/grub.cfg

然后直接重启系统即可。如果想要还原回去的话,直接运行下update-grub命令,接着重启系统就可以了。

参考资料

  1. Ubuntu 20.04切换内核版本
  2. Ubuntu: Install Kernel and Set GRUB Default Kernel
0

评论区