我安装了主线内核以进行测试。我想将grub设置为默认从旧内核启动。
我知道我可以GRUB_DEFAULT=0
为grub的第一页设置设置,但是如何将其默认设置为从第二页(高级页面)的一个内核引导?
我希望这样做而不安装其他软件(例如grub-customizer)。
我安装了主线内核以进行测试。我想将grub设置为默认从旧内核启动。
我知道我可以GRUB_DEFAULT=0
为grub的第一页设置设置,但是如何将其默认设置为从第二页(高级页面)的一个内核引导?
我希望这样做而不安装其他软件(例如grub-customizer)。
Answers:
首先,制作的备份副本/etc/default/grub
。如果出现问题,您可以轻松恢复到已知良好的副本。
sudo cp /etc/default/grub /etc/default/grub.bak
然后使用您选择的文本编辑器(例如gedit等)编辑文件。
sudo -H gedit /etc/default/grub
找到包含的行GRUB_DEFAULT
-这是您要编辑以设置默认值的行。您必须知道所需内核的全名-例如Ubuntu, with Linux 3.13.0-53-generic
-以及“高级菜单”的全名-例如Advanced options for Ubuntu
。
然后,您将这两个字符串组合在一起,>
并设置GRUB_DEFAULT
为:(GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic"
包括引号)。
保存它,然后构建更新的grub菜单。
sudo update-grub
另请参阅:GNU GRUB手册2.02或更具体的关于设置default的15.1.0节。
注意:有一种利用数字来访问内核和菜单的方法,但是不建议这样做,因为在发生内核更新时它不可靠。
sudo grub-mkconfig | less
用来查看所有可能的选项
/boot/grub/grub.cfg
在那里你会看到所有的manuentry
和所有的submenus
。如果编辑它们,则可以轻松设置默认值,甚至在重新启动计算机时甚至可以更改grub列表中选项的标题。
/boot/grub/grub.cfg
确定要使用的确切名称绝对有用。但请勿更改此文件,因为它将由进行自动重新生成update-grub
,包括在更新程序包时。
update-grub
我遇到了一个警告:请不要Previous Linux versions>Ubuntu, with Linux 3.13.0-53-generic
对GRUB_DEFAULT 使用旧标题,而应使用Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic
(对于2.00之前的版本)或gnulinux-advanced-b0ce60c3-184c-453b-af59-419b56a2584f>gnulinux-3.13.0-53-generic-advanced-b0ce60c3-184c-453b-af59-419b56a2584f
(对于2.00或更高版本)
对我来说最好的解决方案是设置(在中/etc/default/grub
):
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
使用此设置,将为上一次引导保留最后选择的值。如果您有新内核,则无需编辑配置。
别忘了重新运行 sudo update-grub
解决方案是从阅读: info grub-mkconfig
;
行尾的分号()吗?!?
现在,Advanced
Ubuntu 中的菜单是默认的,您需要在要使用该>
字符的内核之前选择它。
设置例如:
GRUB_DEFAULT="1>7"
进入/etc/default/grub
并重新运行sudo update-grub
。
重要的是要注意,对于GRUB菜单条目,编号以开头0
。因此,1
以上内容指向Advanced
菜单。作为预防措施,您可能需要初始设置GRUB_TIMEOUT=5
。在启动时,某些键可能无法通过访问键来访问GRUB。这是一个安全网,以防您意外指向类似的东西Memory test
。还必须在引号中包含以上数字。否则它将无法正常工作。
我在16.04 LTS上进行了测试。
为了能够设置使用哪个引导选项作为默认选项,您需要了解其中的内容...因此:
要显示菜单项而无需实际引导,请尝试以下操作:
$ lsb_release -s -rdc Ubuntu 16.04.4 LTS 16.04 氙气 $ update-grub-版本 grub-mkconfig(GRUB)2.02〜beta2-36ubuntu3.17 $ grep -Ei'submenu | menuentry'/boot/grub/grub.cfg | sed -re“ s /(。?)'([[^'] +)'。* / \ 1 \ 2 /” 菜单项Ubuntu 子菜单Ubuntu的高级选项 菜单项Ubuntu,具有Linux 4.4.0-34-generic menuentry Ubuntu,具有Linux 4.4.0-34-generic(新贵) menuentry Ubuntu,具有Linux 4.4.0-34-generic(恢复模式) menuentry系统设置