Ubuntu 设置内核版本的GRUB默认启动

时间:2023-03-08 15:46:44

注:我只是一只小小的搬运工。这篇文章内容摘自: https://www.calazan.com/how-to-set-an-older-kernel-version-as-the-default-in-grub-during-bootup-ubuntu-12-04/(可能需要翻土啬)

由于百度了好长时间都没找到真正的解决方法,不得不说好多技术类的解决方法还是要google靠谱!

我用的是Ubuntu 16.04+windows10双系统,其它版本应该都可以这样解决!

由于升级到了4.13.0-26-generic后导致VMware12无法启动了,所以在不删除新内核的情况下,这个方法是首选!

因为Ubuntu保持所有以前版本的内核。更新之后,更新GRUB配置以启动最新版本,并且可以在启动时在GRUB菜单中手动选择以前的版本。

要将默认内核更改为启动,可以执行以下操作:

1.打开文件/ etc / default / grub。

2.将GRUB_DEFAULT的值更改为您希望选择的菜单选项的索引值。

例如,在启动过程中的GRUB菜单中有:

Ubuntu

Advanced options for Ubuntu

Windows 10 (loader) (on /dev/sda1)

system setup

我的 “Advananced options for Ubuntu” 子菜单如下所示:

Ubuntu, with Linux 4.13.0-26-generic

Ubuntu, with Linux 4.13.0-26-generic (upstart)

Ubuntu, with Linux 4.13.0-26-generic (recovery mode)

Ubuntu, with Linux 4.10.0-42-generic

Ubuntu, with Linux 4.10.0-42-generic (upstart)

Ubuntu, with Linux 4.10.0-42-generic (recovery mode)

现在,第一个选项是索引0,第二个是1,第三个是2,依此类推。(即GRUB菜单中的 Ubuntu为0,Advanced options for Ubuntu为1,...)

在我的情况下,我想选择 “Advanced options for Ubuntu” 子菜单中的 “Ubuntu, with Linux 4.10.0-42-generic”(“以前旧的内核版本”)

设置 # sudo /etc/default/grub

将GRUB_DEFAULT设为:

GRUB_DEFAULT = “1> 3”
使用 '>' 符号来指定有一个子菜单(注意符号 > 和数字 3 之间有空格,所以需要双引号)。在这种情况下,我在主菜单中选择第2个选项(索引1),在子菜单中选择第四个选项(索引3)。

菜单选项来自文件/boot/grub/grub.cfg(不要编辑这个文件)。

3.一旦对/etc/default/grub进行了更改,请保存并运行以下命令来更新GRUB配置文件(必须,否则不生效):

# sudo update-grub
4.重新启动,现在应该默认启动旧的内核版本。