grub启动菜单延迟由grub_timeout控制,需修改/etc/default/grub中的grub_timeout值(如0、1或-1),再执行grub2-mkconfig更新配置才生效;直接改/boot/grub2/grub.cfg无效,因其为自动生成文件。

GRUB 启动菜单延迟由 GRUB_TIMEOUT 控制,改它就能生效;直接改 /boot/grub/grub.cfg 会失效,因为它是自动生成的。
怎么改 GRUB_TIMEOUT 参数
真正起作用的是 /etc/default/grub 文件里的 GRUB_TIMEOUT 行:
- 设为
GRUB_TIMEOUT=0:菜单不显示,直接进默认系统(注意:不是“跳过 GRUB”,而是超时后自动选,默认项仍可手动干预) - 设为
GRUB_TIMEOUT=1:显示 1 秒菜单,之后自动启动 - 设为
GRUB_TIMEOUT=-1:无限等待,必须手动选择(适合多系统或调试) - 如果同时存在
GRUB_TIMEOUT_STYLE=hidden,需先注释掉这行,否则GRUB_TIMEOUT不生效
为什么改完没反应
改了 /etc/default/grub 不等于改了实际启动配置——grub.cfg 是生成出来的,必须手动更新:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- Ubuntu/Debian 系统:运行
sudo update-grub - Fedora/RHEL/CentOS:运行
sudo grub2-mkconfig -o /boot/grub2/grub.cfg - Arch Linux 或部分滚动发行版:运行
sudo grub-mkconfig -o /boot/grub/grub.cfg - 漏掉这步,重启后看到的还是旧设置
deepin 或某些桌面环境的额外限制
deepin 默认把 GRUB_TIMEOUT_STYLE 设为 countdown 或 hidden,且可能自带图形引导层(如 deepin-boot-maker),导致即使 GRUB_TIMEOUT=0 仍闪现 1 秒菜单:
- 必须确认
GRUB_TIMEOUT_STYLE被注释或设为menu - deepin v23+ 用户还要检查是否启用了 “快速启动” 模式(在控制中心 → 启动项里),该模式会绕过 GRUB 直接加载内核,此时修改
GRUB_TIMEOUT无效 - 若想彻底隐藏 GRUB,得配合
GRUB_HIDDEN_TIMEOUT和GRUB_HIDDEN_TIMEOUT_QUIET=true,但这些参数在较新 GRUB 版本中已被弃用,行为不稳定
最常被忽略的一点:GRUB_TIMEOUT 只控制菜单停留时间,不影响内核加载或 init 过程本身的耗时。如果“启动慢”是指从开机到桌面就绪太久,那问题不在 GRUB,而在 systemd 服务、驱动初始化或磁盘 I/O —— 那就得用 systemd-analyze blame 查了。










