⚠️ Stuck in GRUB Rescue Mode? Here’s How to Fix It
You boot your Linux system and instead of your friendly login screen, you’re greeted by:
grub rescue>
Yep. Panic time… or not. That cryptic GRUB Rescue prompt means your system can’t find its boot loader—but the good news is, you can fix it without reinstalling everything.
This guide will show you exactly how to recover from GRUB Rescue and get your Linux system booting normally again.
🧠 What is GRUB and Why Are You Seeing This?
GRUB (GRand Unified Bootloader) is the program that starts before your OS. If something goes wrong—say, your boot partition is deleted, moved, or corrupted—GRUB can’t find the files it needs and drops into rescue mode.
Common causes:
– Accidental deletion of the Linux partition
– Corrupted boot or EFI partition
– Dual-boot gone wrong (Windows updates, we’re looking at you)
– Bad UUID references in GRUB config
🧰 What You’ll Need
- A Live Linux USB/CD (Ubuntu, Debian, etc.)
- Basic Linux terminal skills
- A little patience 🧘
🚧 Part 1: Identify the Problem
You’re at the grub rescue> prompt. First, let’s see what GRUB can still detect.
Type:
grub rescue> ls
This will list available drives and partitions, like:
(hd0) (hd0,msdos1) (hd0,msdos2)
Try inspecting each one:
grub rescue> ls (hd0,msdos1)/
You’re looking for something like /boot or /grub or /vmlinuz.
Once you find your Linux boot partition, remember it. Example:
(hd0,msdos2) → has /boot/grub
Set the root and prefix:
grub rescue> set root=(hd0,msdos2)
grub rescue> set prefix=(hd0,msdos2)/boot/grub
Try loading normal GRUB:
grub rescue> insmod normal
grub rescue> normal
🟢 If successful, you’ll enter the regular GRUB menu.
🔴 If you get errors like “unknown filesystem”, try another partition.
🧯 Part 2: Boot into Linux Temporarily (from GRUB)
If GRUB loads, but doesn’t boot Linux, you can try loading Linux manually:
grub> ls (hd0,msdos2)/boot
Look for files like:
– vmlinuz-5.x.x-xx-generic
– initrd.img-5.x.x-xx-generic
Then type:
grub> linux /boot/vmlinuz-5.x.x root=/dev/sdXx ro
Replace /dev/sdXx with your actual Linux partition (e.g., /dev/sda2)
grub> initrd /boot/initrd.img-5.x.x
grub> boot
This boots your system once. Now you need to reinstall GRUB permanently.
🔁 Part 3: Reinstall GRUB from a Live USB
If GRUB Rescue can’t load or boot, use a Live Linux USB:
- Boot from your USB
- Open a terminal
Identify your partitions:
sudo fdisk -l
Find your Linux root and EFI or boot partitions. For example:
– /dev/sda2 → root
– /dev/sda1 → EFI or boot
Mount Linux root:
sudo mount /dev/sda2 /mnt
If you have a separate boot or EFI:
sudo mount /dev/sda1 /mnt/boot/efi # for UEFI
Bind system folders:
for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt$dir; done
Chroot into your system:
sudo chroot /mnt
You’re now inside your real Linux environment.
Reinstall GRUB:
For BIOS systems:
grub-install /dev/sda
For UEFI systems:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
Then update the config:
update-grub
Exit and reboot:
exit
sudo reboot
🚀 Your Linux system should now boot normally!
🔒 Tips to Avoid Future GRUB Rescue
- 🧱 Don’t delete or resize boot partitions casually
- 🧩 Keep separate
/bootand/partitions if dual-booting - 💾 Backup
/etc/default/gruband your partition table (uselsblk,blkid) - 🧠 Learn how UEFI vs BIOS affects GRUB setup
✅ Summary Table: Fixing GRUB Rescue
| Action | Command/Tool |
|---|---|
| List drives/partitions | ls in GRUB |
| Set root and prefix | set root=, set prefix= |
| Load normal mode | insmod normal, normal |
| Boot manually | linux, initrd, boot |
| Reinstall GRUB (Live USB) | chroot, grub-install, update-grub |
🧠 Final Thoughts
GRUB Rescue isn’t the end—it’s a prompt with possibilities.
Once you understand what’s happening, it becomes a powerful tool to recover your system. Whether you boot manually, tweak partitions, or reinstall GRUB from scratch, you now have a full arsenal to defeat the boot monsters.
Keep calm, carry a Live USB, and may your boots be ever successful.




