grub-reboot
Reboot into a different GRUB entry
TLDR
Set the default boot entry to an entry number, name, or identifier for the next boot
Set the default boot entry to an entry number, name, or identifier for an alternative boot directory for the next boot
SYNOPSIS
grub-reboot [-h, --help] [-v, --version] MENU_ENTRY
PARAMETERS
-h, --help
print this message and exit
-v, --version
print the version information and exit
DESCRIPTION
grub-reboot is a GRUB utility that temporarily sets the default boot menu entry for the next reboot. It records the specified MENU_ENTRY in GRUB's environment block, typically /boot/grub/grubenv, using variables like saved_entry. After the next boot, GRUB automatically reverts to the previous default, making it ideal for one-time changes without permanent configuration edits.
Use cases include testing new kernels, entering recovery mode, or booting alternative OS entries safely. It requires root privileges and GRUB support for environment blocks (standard in most distributions). Run as sudo grub-reboot 'entry title' or by index/UUID. The change persists across shutdowns until the boot occurs.
If the environment file is unwritable or missing (e.g., on read-only filesystems), it fails silently or with error. Pairs well with scripts for automated testing. Unlike grub-set-default, it does not overwrite the permanent default.
CAVEATS
Requires root privileges; affects only next boot; fails if environment block unsupported or unwritable (e.g., /boot/grub/grubenv); MENU_ENTRY must match exactly.
MENU_ENTRY FORMATS
Exact title (up to first tab), numeric index (from 0), or UUID (via grub-menuentry-get-uuid).
ENVIRONMENT FILE
Defaults to /boot/grub/grubenv; override with GRUBBEDITENV_EDITENV_FILE.
EXAMPLES
sudo grub-reboot 0 # First menu entry
sudo grub-reboot 'Ubuntu' # By title
sudo grub-reboot $uuid # By UUID
HISTORY
Introduced in GRUB 2 development (ca. 2009); stable in GRUB 2.00 (2012) as part of core utilities for menu management.
SEE ALSO
grub-set-default(8), grub-editenv(8), grub-menuentry-get-uuid(8)


