GRUB - normal.mod not found

I’ve installed Parrot OS lately and I’ve received such a problem with GRUB:

error: file ‘/grub/i386-pc/normal.mod’ not found.
grub rescue>

I am struggling with this issue for whole day and nothing.
I have already reinstalled system couple of times, removed/resized EFI
partition, googled the subject and tried various of methods but still nothing
works for me.

So that’s my problem below and my attempts to fix it:

And that’s what fdisk -l showed me:

If someone had the same problem and fixed it somehow, please help me, cause I need my laptop to work and all I can do now is booting system from live CD.
Thank you in advance.

This is a well documented issue within the Linux Kernel btw. It’s a pain in the ass to fix. I don’t know what guides you have tried but here is the Debian one that is endorsed and I double checked it across a few sources also used in two YouTube videos if you do a quick google if you need to know the step by step process. It is basically a two fold problem that is simply down to GRUB loading the wrong installer files.

Boot the live Parrot from a media generated from debian-live-8.2.0-amd64-standard+nonfree.iso.
Open a terminal and get root privilege by
CODE: SELECT ALL
sudo su -

Search the /(root) partition and /boot partition (if exist) and /boot/efi partition (EFI system partition for UEFI mode) by
CODE: SELECT ALL
blkid
fdisk -l
lsblk

Get grub-pc packages (or grub-efi packages instead for UEFI mode) by
CODE: SELECT ALL
apt-get update
apt-get install grub-pc

If the system uses UEFI, replace the above grub-pc with grub-efi.

Mount the / partition (I assume /dev/sdXY) on /mnt by
CODE: SELECT ALL
mount -t auto /dev/sdXY /mnt -o rw

If there is a separate /boot partition (I assume /dev/sdXZ), mount it onto /mnt/boot by
CODE: SELECT ALL
mount -t auto /dev/sdXZ /mnt/boot -o rw

If the system is with UEFI, mount the EFI system partition (I assume /dev/sdXW) onto /mnt/boot/efi by
CODE: SELECT ALL
mount -t auto /dev/sdXW /mnt/boot/efi -o rw

Install grub2 code onto the MBR (or the EFI system partition for UEFI) of the internal media by
CODE: SELECT ALL
grub-install --root-directory=/mnt /dev/sdX

Generate config file for grub2 by
CODE: SELECT ALL
grub-mkconfig -o /mnt/boot/grub/grub.cfg

Reboot and remove the live debian media to check if the grub2 can correctly boots the installed debian.

=====

If the above does not enable correct boot of grub2 nor the installed debian, try one of the followings to boot the installed debian:

Super grub2 disk: http://www.supergrubdisk.org/super-grub2-disk/

Rescatux: http://www.supergrubdisk.org/rescatux/

Boot-repair: https://help.ubuntu.com/community/Boot-Repair

Once the installed debian boots correctly, confirm that grub packages are installed and install grub2 code onto the MBR (or EFI system partition for UEFI) by
CODE: SELECT ALL
grub-install /dev/sdX
update-grub

This should help :slight_smile:

I know this is a guide for Debian and Kali but this problem is widespread.

2 Likes

Maaan, thank you very much for your help, I appreciate it.
So I followed your tips and got here by my nebwie way:

I’ ve installed grub-pc on my usb-drive and coppied i-386pc folder into grub directory on my linux partition.
Now I am able to boot Linux, but I dont have Windows in partition table and everytime I start the pc I have to write preferences for grub in grub rescue:
(Sorry I have to post image again)

And:

Any ideas how I can fix ‘set prefix’ and ‘set root’ and add windows to table partition?
Thank you for your help.

UPDATE2:

update-grub helped, and I have Windows in grub added, but there is still a problem with grub rescue prompt

Try modifying your drive config in your BIOS set-up is the only thing I can think of at the minute. I will do some more research and get back to you when I have figured out what the issue is.

Regards

Troll

Unfortunatelly modifications didnt work. I’ve tried also with Boot-rescue, but it doesnt work for me neither.
Looking for further solutions.
Thanks in advance.