It can be deeply frustrating when a Linux system fails to boot properly and drops into a grub rescue>
prompt. This usually indicates a problem with the GRUB (GRand Unified Bootloader), the software responsible for booting the OS. This guide will help you understand why this happens and how to recover your system—even if you’re using RHEL 7, 8, 9, or 10.
Common Symptoms
You might see one of the following errors on a black-and-white screen:
error: file 'grub/i386-pc/normal.mod' not found Entering rescue mode... grub rescue>
Or:
error: file 'grub2/i386-pc/XYZ.mod' not found
Where XYZ
could be:
normal.mod
net.mod
boot.mod
crypto.mod
- …and other GRUB modules.
This means GRUB cannot find the module files it needs to load the full boot menu. Your system is now stuck in a minimal shell, waiting for help.
Why This Happens (Root Causes).
Accidental Deletion of GRUB Files Sometimes during maintenance or partition changes, files may be deleted from
/boot
.Filesystem Corruption If
/boot
is on its own partition and gets corrupted, GRUB will not find what it needs.Wrong Boot Device in BIOS/UEFI If the system tries to boot from the wrong disk, it may not find GRUB or kernel files.
- Corrupted or Missing
/boot
Directory Important GRUB files likenormal.mod
live in/boot/grub2/i386-pc/
. If these are missing or corrupted, GRUB will fail
How to Fix It (Quick Recovery Steps)
Step 1: Try Manual Rescue via grub rescue>
Prompt
grub rescue> ls (hd0,msdos1) grub rescue> ls (hd0,msdos1)/boot grub rescue> set root=(hd0,msdos1) grub rescue> set prefix=(hd0,msdos1)/boot/grub2 grub rescue> insmod normal grub rescue> normal
If insmod normal
fails, you must use rescue media (like a RHEL installation DVD or USB) to recover.
Booting into Rescue Mode (RHEL 7 and Above)
- Boot from a RHEL installation DVD or ISO.
- Select “Troubleshooting” > “Rescue a Red Hat Enterprise Linux system”.
- Choose Option 1 (Continue) to mount the system at
/mnt/sysimage
. - Access a shell, then run:
chroot /mnt/sysimage
See the steps in the screenshots:




chroot /mnt/sysimage
Reinstall GRUB Bootloader
Once you’re in chroot, reinstall GRUB with:
grub2-install /dev/sdX # Replace with your disk, e.g., /dev/sda or /dev/vda
Make sure /boot
is mounted before running this. You can check:
ls /boot
Once GRUB is installed successfully, reboot:
exit exit
The system will likely relabel SELinux contexts during reboot, then boot normally.
Optional Cleanup and Verification
After recovery, verify the presence of required modules:
ls /boot/grub2/i386-pc/normal.mod
If missing, reinstall the grub2-pc-modules
package.
Also, ensure /boot
contains your kernel and initramfs files:
ls /boot/vmlinuz-* /boot/initramfs-*
Tips to Avoid This in the Future
- Never delete
/boot
files manually unless you’re sure. - Regularly back up
/boot
and/etc/fstab
. - Ensure BIOS is pointing to the correct primary disk.
- Run
dnf update
carefully, especially on headless or remote systems.
Conclusion
A grub rescue>
prompt doesn’t mean your system is dead—it’s asking for your help. With the right tools (like rescue mode and grub2-install
), you can bring your server back to life without reinstalling the OS. Bookmark this guide and stay calm the next time it happens.
Leave a Comment
Your email address will not be published. Required fields are marked with *