Linux 命令速查
系统管理 man grub-reboot

grub-reboot

设置仅下次启动生效的 GRUB 菜单项

返回

补充说明

grub-reboot 把指定的菜单项写入 GRUB 环境块的 next_entry 变量,使得下一次启动进入该条目,之后自动恢复为默认条目。常用于临时进入救援内核、另一个操作系统或 memtest,而不想改动持久默认值。

它要求 /etc/default/grub 中的 GRUB_DEFAULT=saved,并且 grub.cfg 由 grub-mkconfig 生成(这样才包含读取 next_entry 的逻辑)。若 GRUB_DEFAULT 是固定数字或菜单标题,next_entry 不会起作用。

参数可以是菜单项编号、菜单标题、菜单项 id(如 gnulinux-...),具体取值用 grep menuentry /boot/grub/grub.cfg 查看。设置值保存在 /boot/grub/grubenv,可以用 grub-editenv list 校验。

语法

grub-reboot [选项] 菜单项

选项

  • --boot-directory=目录:GRUB 目录,默认 /boot
  • -h / --help:显示帮助
  • -V / --version:显示版本

实例

# 查看可用的菜单项编号与标题
grep -E "^menuentry|^submenu" /boot/grub/grub.cfg

# 下次启动进入第 3 个菜单项(从 0 开始计数)
sudo grub-reboot 2

# 下次启动进入指定标题的条目
sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 6.1.0-13-amd64"

# RHEL 系使用自己的路径
sudo grub2-reboot --boot-directory=/boot 1

# 验证 next_entry 已写入
sudo grub-editenv list

# 取消临时设置
sudo grub-editenv unset next_entry

next_entry 由 GRUB 在启动时读取并清除,因此只影响一次。要持久修改默认启动项,请使用 grub-set-default。

参考链接