Ubuntu 22.04 调整 GRUB 默认启动项与等待时间

在 Ubuntu 22.04 + Windows 11 双系统中,通过 /etc/default/grub 安全修改默认启动项和菜单等待时间。

风险提示:修改前先备份配置。不要手工编辑 /boot/grub/grub.cfg,该文件由 update-grub 自动生成,更新后会被覆盖。

安装 Ubuntu 后,GRUB 往往成为默认引导菜单。常见需求是缩短等待时间、默认进入 Windows 11,或固定进入一个已验证可用的旧内核。

先备份并查看菜单项

1
2
3
sudo cp /etc/default/grub /etc/default/grub.bak
grep -E '^(GRUB_DEFAULT|GRUB_TIMEOUT)' /etc/default/grub
grep -E "^menuentry |^submenu " /boot/grub/grub.cfg

最后一条只用于查看当前生成的菜单标题;配置应始终修改 /etc/default/grub

调整等待时间

编辑配置:

1
sudoedit /etc/default/grub

例如将等待时间设为 5 秒:

1
GRUB_TIMEOUT=5

设定默认启动项

最稳妥的是用菜单中显示的完整标题,而不是猜数字序号。例如:

1
GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)"

标题必须与本机 /boot/grub/grub.cfg 中的菜单项完全一致;磁盘名、分区号会因机器不同而不同。若只是想在下次重启临时选择某项,保留默认设置,在 GRUB 菜单中手动选择更安全。

保存后生成配置:

1
sudo update-grub

重启前请确认输出中同时发现了 Ubuntu 与 Windows Boot Manager。若配置误改,可用备份恢复:

1
2
sudo cp /etc/default/grub.bak /etc/default/grub
sudo update-grub

固定旧内核的建议

内核出现驱动回归时,优先在 Advanced options for Ubuntu 中手动选择旧内核验证。需要长期固定时,应在 /etc/default/grub 设置确定的菜单标题,并同时评估内核安全更新;详见本站的《Ubuntu 内核更新与固定版本》一文。

出处

本文不采用直接编辑 grub.cfg 的方法,改为可由 update-grub 持续维护的配置方式。