'Unable to resolve Grub Rescue issue on Ubuntu despite a lot of research [closed]
I have Windows 7 home premium 64 bit installed on my Dell laptop. Recently I have installed Ubuntu 16.04.3 LTS on a VMware instance to learn Hadoop. I am getting Grub Rescue (normal.mod not found) as shown below whenever I power on Ubuntu on VMware.
error: file '/boot/grub/i386-pc/normal.mod' not found
Entering rescue mode
grub rescue>
I have gone through a lot of posts regarding this issue on Google, SO and watched many videos on YouTube as well but I am not able to resolve this error. Please see below the steps I have followed:
grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos1) (fd0)
grub rescue> ls (hd0,msdos5)
(hd0,msdos5): Filesystem is unknown.
grub rescue> ls (hd0,msdos1)
(hd0,msdos1): Filesystem is ext2.
So (hd0,msdos1) is the correct partition to look for in my case.
grub rescue> ls (hd0,msdos1)/
./ ../ VMware-uid-0/ dev/ proc/ run/ sys/ usr
As you can see, boot folder is completely missing. However, I could find i386-pc folder inside /usr/lib/grub
grub rescue> ls /usr/lib
This led to a lot of folders where I found grub which has i386-pc folder.
Finally when I enter
grub rescue> set prefix=(hd0,msdos1)/usr/lib/grub
grub rescue> insmod normal
grub rescue> normal
This is taking me to Grub screen from grub rescue screen. What steps do I need to follow next. Please guide me on this. Please let me know if more information is required from my end.
Note - I have also seen videos regarding rebooting Ubuntu using a pendrive to resolve this issue but unfortunately could not understand much.
Solution 1:[1]
I had same problem with my Dell Latitude I reinstall ubuntu with boot partition them miracle it work. Your partition table table should like this
- Boot 1- 10 GB
- / Root (I have put 120)
- Swap Just little bit more than your RAM
- Home Partion
Solution 2:[2]
Importnat : Please read the full post from top to bottom.
1.Grub Rescue error generally occurred when we deleted the Linux /ubuntu partition from our system.
when we restart our system the grub rescue error is occurred first we have try this following approach to resolve this problem
A. grub rescue> ls
(hd0) (hd0,msdos5)
(hd0,msdos1) (fd0)
grub rescue> ls (hd0,msdos5)
(hd0,msdos5): Filesystem is unknown.
grub rescue> ls (hd0,msdos1)
(hd0,msdos1): Filesystem is ext2.
we check all the partition and found in which partition is showing the "Filesystem is ext2.".
now follow the step B.
B. grub rescue> set prefix=(hd0,msdos1)/usr/lib/grub
grub rescue> insmod normal
grub rescue> normal
Important:-Here "hd0" id the partition name in which we have "Filesystem is ext2."
if problem is solved then pretty well ,Otherwise go to in step 2.
2.if in above step "A" you have not found any partition which having the "Filesystem is
ext2." then follow the
A. take a pendrive up to 8 GB capacity
B. make it bootable.(if using ubuntu no need to make bootable)
C.HOW TO GET AND USE THE DISK:
(1) DOWNLOAD BOOT-REPAIR-DISK, link :https://sourceforge.net/projects/boot-repair-cd/files/latest/download
(2) Then burn it on a live-USB key via Rufus or Unetbootin . (do not burn it on CD/DVD if your PC came with Windows8/10)(if you are using ubuntu no need to make bootable to pendrive)
(3) Insert the Boot-Repair-Disk and reboot the PC,
(4) Choose your language,
(5) Connect internet if possible
(6) Click "Recommended repair"
(7) Reboot the pc --> the issue will resolve. thanks for reading the post.
if issue again persist then please ask me again. I will definitely answer you.
Solution 3:[3]
IT WORKED FOR ME UST FOLLOW ALONG i know its little old to answer this now...
find the whole tutorial in my git account link
https://github.com/katilalloyd/fixing-error-file-normal.mad-not-found-entering-grub-rescue-stack-overflow give me a star kindly
STEP 1 : try to get into grub
do this
uset set
to locate where grub is installed in your case it would be msdos1 partition
STEP 2 :set root and prefix
set root=(hd0,msdos1)
then type:
set prefix=(hd0,msdos1)/usr/lib/grub
STEP 3 :TRY insmod
insmod normal
this should not give out an error .If so reset the root partition or use the ls to find the ext4* partition
STEP 4:ENTER GRUB type the normal command to enter grub
normal
DONT FORGET YOUR EXT4 PARTITION
STEP 5 : Find the ;lost and found files
ls (hd0,msdos1)
atleast your output should begin with "lost+found" and contain /boot/ and /etc/
STEP 6: List the vm and intrd
ls -l (hd0,msdos1)/boot
note the vmlinuz in my case it was "vmlinuz-5.15.0-kali.0amd......."not really sure
NOTE FOR GPT USERS vmlinz might contain generic
PICK THE LAST vmlinuz in the list if you have multiple
ALSO NOTE "initrd.img....." code name**
STEP 7 : **SET ROOT **
set root=(hd0,msdos1)
STEP 8 : SET vmlinuz and intrd
linux /boot/**enter here your vmlinuz name code then one space** root=/dev/sda1
#**for hd1 users use sdb hd2 users use sdc hd3 users use sdc **
next set the initrd
initrd /boot/**initrd.....ENTER YOUR INITRD CODE NAME
** if you recorded no errors then you are almost done easy right!!!
boot
system should boot successfully
FINAL: UPDATE & INSTALL GRUB press
ctr +alt + t to the terminal enter :
sudo update-grub2
install grub
sudo grub-install /dev/sda1
wallah reboot and see the magic
find the whole tutorial in my git account link
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Senadeera Gamini |
Solution 2 | RAViNDAR |
Solution 3 | lloyd tony |