Overview

This guide explains how to access the GRUB (GRand Unified Bootloader) menu on a Linux system, where you can choose between kernels, edit boot parameters, drop into rescue mode, or chain-load other operating systems.

NOTE

When GRUB shows up by default: in dual-boot setups and on most server installs, GRUB appears at every boot with a few-second timeout. On single-OS desktop installs (Ubuntu, Fedora…) it’s typically hidden behind a zero-second timeout, so you have to force it to appear.


Check if GRUB is your bootloader

Before trying any method, confirm GRUB is what your system actually uses (some modern minimal installs use systemd-boot or rEFInd instead).


Enter the GRUB

1. Interrupt the boot (the classic way)

The historic and most universal method: catch GRUB’s tiny timeout window with the right key press, right after the firmware POST.


2. From a running Linux (systemd ≥ 240)

If you’re already inside Linux and want the next reboot to land in GRUB automatically:


3. Make GRUB appear every time

If you find yourself needing GRUB often (kernel debugging, rescue work, frequent dual-boot switching), unhide the menu permanently.


⚠️ Last Resort: live USB rescue

If GRUB is corrupted (no menu, no shell, kernel panic, or “no bootable device”) and none of the above gets you in:

  • Boot from a live USB of your distribution.
  • Mount your root partition: sudo mount /dev/sdaX /mnt
  • (If /boot is separate) mount it too: sudo mount /dev/sdaY /mnt/boot
  • Bind-mount the system dirs and chroot:
for d in dev proc sys run; do sudo mount --bind /$d /mnt/$d; done
sudo chroot /mnt
  • Reinstall GRUB and regenerate the config:
grub-install /dev/sda
update-grub

This rewrites the GRUB stage-1 in the boot sector / EFI partition and regenerates grub.cfg from scratch.