Boot Grub I386-pc Normal.mod Not Found

3 views
Skip to first unread message

Peppin Kishore

unread,
Aug 5, 2024, 3:22:02 AM8/5/24
to glarylborso
Im getting this error message, I've tried copying the i386-pc folder (from /usr/lib/grub) to the correct location (as that is what they said in every online post I found) in the live install, but I'm still getting the same error.

when did this error start happening ? is this a new install thats failed or a working system thats somehow failed ?

if its a new install, tell us the exact commands you are using to install and any output thats given during the process.

if its a working system thats failed, what changed to make it fail, did you do an update ?


Technically yes, but if you never booted the GRUB you have installed with the correct commands for an UEFI system, it could also be a bug in your UEFI implementation and an easy thing to try is adding --removable to the GRUB install command to populate the fallback path. Which motherboard is this? Do you see an actual GRUB entry in


Asus is normally good about this and I have no issues here, so installing GRUB with the correct UEFI invocation command should work. You didn't enable secureboot or so right? That board seems old, potentially bugged EFI in the first place. Try adding the --removable flag to the grub-install so it should be booting the fallback location.


I reinstalled with CSM enabled, and now it shows in efibootmgr -uv. Still can't boot though, even with --removable added. I do have secure boot enabled, there is no option to disable it though; I'm pretty sure the arch setup works because ventoy disables it for me.


If secureboot is enabled then this isn't surprising. There must be an option to disable it, or you'd have to jump through some hoops to sign the bootloader[1]. Settings like these are often hidden behind enabling a password for EFI access.


What does that mean? With secureboot disabled and rerunning the grub-install command (without --removable) do you now see an entry in efibootmgr? If you do not see an entry and you did run with --removable what you should now be able to boot is the "Hard Disk" option. Do you still get the same message as in the OP?


Yes, the disk has an MS-DOS ("MBR" type) partition table. Booting in UEFI mode from an MS-DOS partition table is part of the official UEFI specification but many firmware implementations simply will not allow it.


Then create a new GUID partition table with gdisk, install Arch and use the UEFI grub-install command. Check to see if your motherboard "remembers" the new GRUB boot entry and if it doesn't run the grub-install command again with the --removable option.


Mostly up to preference. I don't trust FAT filesystems to properly carry my kernel packages so I pick /efi and install just GRUB there. /boot would then still be part of your root partition and kernels will land there and GRUB can read linux filesystems and find the kernel. But there's nothing that would inherently hinder you from mounting it to /boot and using that, you just need to be aware of what you decided on as that will define where kernel images land and where GRUB looks up it's configs.


If you opt for a different path than /boot it will only contain the files put there by the grub-install command. The kernels and kernel images land on /boot by default. If you mount the ESP to /boot then the kernel images will land there, if you don't then they don't.


I found my old netbook (Dell Inspiron 1010) which I have not used for about four years. I replaced Windows XP with Ubuntu 12.10. I used my bootable USB drive. I installed and rebooted. I got the message that normal.mod is not found.


Grub has a small core image that is loaded at boot time. The core image dynamically loads modules which provide further functionality. A normal.mod not found error indicates that grub can not load normal.mod, which is a grub module that provides the normal command. To load normal.mod you need to tell grub where it is. To do this you can use the grub command-line (aka Rescue Console). Grub will start the command-line if there is a problem booting, or you can start it manually by holding the shift key as grub starts (to force show the grub menu), and then pressing the 'c' key.


Solved this on a machine this afternoon. It seems that one cause of this problem is the installer thinking that you have EFI secure boot, when you don't and therefore loading the incorrect GRUB files.


If you use LVM, find the name of your volume group with lvdisplay or another LVM-related commands. Activate it (otherwise you'll get a mount: special drive /dev/volumegroupname/partition does not exist error when trying to mount) :


If you have a large (e.g. 1TB) partition with Ubuntu installed and you didn't allocate additional one for /boot/, it could be the reason of such errors. When GRUB starts, it uses biosdisk driver for reading normal drivers from the /boot/grub/ directory. Sometimes, this directory could be physically located on the hard drive somewhere after the maximum supported by biosdisk sector. The issue could appear, for example, after system upgrade. Also, I am always face that issue after fresh installation Ubuntu 13.10, but it could differ, as it depends on motherboard/bios.


You can check that using grub recovery - after setting correct PREFIX and ROOT, try to ls /boot - if you don't see anything, but can see files there when booting from live cd/flash drive - than you have the issue described above.


Reinstalling grub from the above answer from MorrisseyJ ( ) helped, but I still had the module not found error. It was looking for the files at /grub.. instead of /boot/grub.. Even after reinstalling grub with several methods, something kept pointing there (grubenv maybe). Finally, I renamed the /boot directory and used the grub-install /dev/sda --boot-directory=/mnt/boot command and it finally changed the $prefix location.


--Update--I got a lot of down-votes on this. I just want to say that this error can be caused by more than one antecedent. Even though this has worked for me, it might not work for you so backup your important files before fiddling with things.


I have since googled looking for an answer. I almost found one here on the Ubuntu forums yet then I saw one of the comments saying it was untrue. There is also another answer but I'm not sure if I want to install from the live CD for fear of messing things up.


In your case you will have to either remember or guess which partition you installed grub on. You can guess wrong, it won't do any harm, the insmod command will simply fail and you can try again with another partition.


After this, grub loads as it normally should, and I can pick out of the list what I want to boot. Normally when a mess like this occurs, reinstalling grub to your mbr (using grub-install) should fix it permanently so you don't have to do this every time you boot. I however am having a lot of difficulty finding out what to do if fixing it isn't this easy (or I'd share what you should do).


Thanks for your post. I solved a nearly identical error message -- "file '/grub2/i386-pc/normal.mod' not found" after a new installation of Linux CentOS 5.11 on an old Dell Optiplex computer with Windows Vista, in order to make a dual-boot system.


What complicated my situation was that I had already tried and failed to install the newer Fedora 20 distro, which uses GRUB2 instead of GRUB (LEGACY), on FEDORA default partitions. Then I tried to install CentOS directly over that, keeping the Windows partition and overwriting the FEDORA partitions.


I suspect that the boot information on the first partition kept pointing to the GRUB2 location. The CPU could not find normal.mod, perhaps because the previously created FEDORA00 partitions had been removed.


This is relevant for 14, 15, 16, 17 Ubuntu all versions and probably earlier versions. When asked where to install the boot loader, do not create and select a /boot partition; instead, use the Windows partition.


It seams to be a problem in between legacy and EFI boot. Have a look to this article in Arch linux:

[SOLVED] Grub error: file '/boot/grub/i386-pc/normal.mod' not found / Newbie Corner / Arch Linux Forums


This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.


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.


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.


Error: file '/boot/grub/i386-pc/norma.mod' not found. Entering resource mode... I'm not sure what this is I'm not a programmer my skills are in hardware. I'm learning as much as i can. When i search this i get different results online but I'm unsure what would be a fix. Can someone help me out please?


I installed new openwrt v22.03.6 on a USB while in my hd i had vyos. i want this openwrt boots as stand alone router servicing my home network as a gateway so i prepared my hd after 3 days test of openwrt, Partition and other things required and removed my vyos. Flash openwrt from USB to hd, reboot from hd and failed with message:

file /boot/grub/i386-pc/normal.mod not found

I never expected that openwrt can not boot as a stand alone system readily so i am not prepare for those things. My system is i386 bios boot. I have tried copying i386-pc folder from supergrub2 boot app, and message pop up again, this time asking for priority_queue.mod file. Booting from USB also get the same result. So what should i do? Is anyone here having grub's library files needed can send me those files?


Note:

After strugling around i got .mod files from supergrub2 and angryOS (github) and now it comes to message saying that symbol 'grub_verify_string' not found. So i need working grub library files for openwrt 22.03, could someone help?

3a8082e126
Reply all
Reply to author
Forward
0 new messages