How to use the command 'grub-reboot' (with examples)
- Linux
- December 17, 2024
The grub-reboot
command is an essential tool for Linux users who need to temporarily set a specific boot entry as the default for the next startup. It is particularly useful in managing systems that have multiple OS installations or different kernel versions. It enables administrators to specify a particular boot entry either by index, name, or identifier, ensuring that the system reboots into the desired environment just once without permanently altering default boot settings. The changes made by grub-reboot
are temporary and affect only the very next boot cycle.
Use case 1: Set the default boot entry to an entry number, name or identifier for the next boot
Code:
sudo grub-reboot entry_number
Motivation:
Imagine a scenario where you have multiple entries in your GRUB menu, each pointing to a different OS or a version of the Linux kernel. You want to test a new kernel that you’ve just compiled, but you don’t want to change the default boot entry permanently—perhaps because the new kernel is experimental and may not work properly. Using grub-reboot
, you can set the new kernel to boot for the next restart without committing the change permanently. This allows a one-time boot into that specific entry for testing or special purposes without any risk of altering the usual boot behavior.
Explanation:
sudo
: Runninggrub-reboot
typically requires administrative privileges to modify the boot configuration.grub-reboot
: This is the command being used to set a specific boot entry for the next boot.entry_number
: This represents the index, name, or UUID of the boot entry you want to set for the next reboot. In the context of GRUB, entries are usually numbered starting from zero; for example, if you have three entries in your GRUB menu, they are typically numbered 0, 1, and 2.
Example Output:
Upon executing the command, you won’t receive a verbose output, but you might see a confirmation like:
Rebooting into entry 'entry_number'
After rebooting, your system should directly boot into the specified GRUB entry you provided.
Use case 2: Set the default boot entry to an entry number, name or identifier for an alternative boot directory for the next boot
Code:
sudo grub-reboot --boot-directory /path/to/boot_directory entry_number
Motivation:
This use case is particularly helpful when dealing with complex systems that use separate directories for different boot configurations. Perhaps you have a setup where your boot configurations are split between different partitions or drives, and you need to test booting from an alternative directory that isn’t your system’s default. By specifying the --boot-directory
, you are indicating that you want GRUB to look into this alternative location to find the specified boot entry. This is expedient for systems engineering or testing different configurations stored in isolated environments.
Explanation:
sudo
: Again, it indicates execution with administrative rights.grub-reboot
: This utility sets a specific boot entry for the next boot.--boot-directory /path/to/boot_directory
: This option tellsgrub-reboot
to use a different boot directory than the default./path/to/boot_directory
should be replaced with the actual path to the alternative boot directory you intend to use.entry_number
: The specific entry within the specified boot directory that should be used on the next reboot.
Example Output:
Much like the previous use case, the command does not provide detailed output but might confirm your choice with:
Rebooting into entry 'entry_number' from '/path/to/boot_directory'
Upon reboot, the system should start with the specified boot entry from the provided alternative directory.
Conclusion:
The grub-reboot
command is a versatile tool that aids Linux users in managing their boot entries efficiently without making irreversible changes to the boot order. By allowing temporary selection of a boot entry, it provides a safe environment to test and verify different OS configurations or kernel versions. Whether you need to boot into a different boot directory or simply test a newly configured kernel, grub-reboot
provides a convenient, non-destructive approach to system reboots.