麒麟os中应修改/etc/default/grub并运行update-grub来安全调整grub2:可设grub_default为索引、名称或saved,grub_timeout控制超时,grub_savedefault启用记忆功能,grub_timeout_style=hidden隐藏菜单,重命名/etc/grub.d/30_os-prober文件调整启动项顺序。

如果您已成功进入麒麟OS桌面系统,但希望调整GRUB2引导菜单的默认启动项、超时时间或显示顺序,则需通过修改其源配置文件并重新生成引导配置来实现。直接编辑/boot/grub/grub.cfg文件不可取,因其为自动生成且重启后会被覆盖。以下是多种合规、安全、可逆的修改方法:
一、修改默认启动项与超时时间
该方法通过编辑主配置文件/etc/default/grub,设定默认启动操作系统及菜单停留时长,适用于双系统用户快速切换默认启动目标。
1、使用Ctrl+Alt+T打开终端,执行命令获取root权限:sudo su
2、运行文本编辑器打开配置文件:vim /etc/default/grub
3、定位到以下两行并按需修改:
GRUB_DEFAULT=0(数字索引,0表示第一项;也可设为saved或菜单项名称如"Windows Boot Manager")
GRUB_TIMEOUT=10(单位为秒,设为0则跳过菜单直接启动默认项)
4、按Esc键退出编辑模式,输入:wq保存并退出
5、执行配置更新命令:update-grub(麒麟OS中等效于grub2-mkconfig -o /boot/grub2/grub.cfg)
6、重启系统验证:reboot
二、手动指定启动项名称作为默认值
该方法避免依赖数字索引可能因系统更新导致错位的问题,直接以菜单中显示的完整名称作为GRUB_DEFAULT值,提升配置稳定性。
1、先进入GRUB菜单界面(开机时按Shift或Esc),观察目标启动项的精确显示名称,例如:"Windows Boot Manager (on /dev/sda1)"
2、在终端中编辑配置文件:sudo vim /etc/default/grub
3、将GRUB_DEFAULT行改为:GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)"(注意英文双引号必须保留)
4、保存退出后执行:sudo update-grub
5、重启确认默认项是否准确跳转至指定系统
三、启用GRUB_SAVEDEFAULT实现“上次选择即下次默认”
该方法使GRUB记住用户上一次手动选择的启动项,并将其设为下一次开机的默认项,适合频繁切换操作系统的场景。
1、编辑主配置文件:sudo vim /etc/default/grub
2、在文件末尾新增一行:GRUB_SAVEDEFAULT=true
3、确保GRUB_DEFAULT已设为saved(若原为数字,需同步修改为saved)
4、保存后执行:sudo update-grub
5、重启后手动选择任一启动项(如Windows),再次重启时该选项将自动成为默认
四、隐藏GRUB菜单仅在按键时显示
该方法适用于单系统用户或追求开机极简体验者,GRUB菜单默认不显示,仅在开机时按住Shift或Esc键才调出,兼顾效率与可控性。
1、编辑配置文件:sudo vim /etc/default/grub
2、将GRUB_TIMEOUT设置为0,并添加或修改以下两行:
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
3、保存后执行:sudo update-grub
4、重启测试:正常情况下直接启动默认项;若需调出菜单,在BIOS自检结束后立即持续按住Shift键
五、调整启动项显示顺序(通过os-prober探测优先级)
该方法影响GRUB自动探测到的其他操作系统(如Windows)在菜单中的排列位置,通过控制os-prober脚本执行时机实现顺序干预。
1、备份原始探测脚本:sudo cp /etc/grub.d/30_os-prober /etc/grub.d/30_os-prober.bak
2、修改其执行序号以改变加载顺序:sudo mv /etc/grub.d/30_os-prober /etc/grub.d/20_os-prober(数值越小越靠前)
3、赋予可执行权限:sudo chmod +x /etc/grub.d/20_os-prober
4、执行更新:sudo update-grub
5、重启后观察Windows等外部系统启动项是否已移至菜单更靠前位置










