'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

https://github.com/katilalloyd/fixing-error-file-normal.mad-not-found-entering-grub-rescue-stack-overflow

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