"/grub/i386-pc/normal.mod" not found

Manjaro 18.1.0 xfce edition
Recently, installed the Manjaro Os on a partition formally Linux mint 19.0. After successful installation, upon restarting the system I have this error:
grub rescue "grub/i386-pc/normal.mod" not found.

All efforts: ls grub> to find the /boot/grub/i386-pc was abortive. And then, I tried reinstalling the system setting eps flag on partition /boot/efi formated as fat32, I got error from the Python code:
Boost Python Error in Job "Bootloader"
Command 'grub-install --target=-x86_64-efi --efi-directory=/boot/loader --id=Manjaro --force' returned non-zero exit status 1.

Please, any help will be appreciated :pray:

if this is an older 32-bit computer, you cannot use the main manjaro images. they are 64-bit. have a look at manjaro32.

Thanks for the reply, but my Laptop is 64-bit

I think - but cannot be sure - could your system be a 64-bit system with 32-bit efi (IA32)?

On the other hand - I would think - your system should not boot at all as (if I remember correct) Manjaro does not create an ISO capable of booting IA32.

Your command points to --efi-directory=/boot/loader which should be --efi-directory=/boot/efi

See if you can boot up using this post #1 in uefi.
Provide (print) output as indicated in that post if you still have problems.

If you cannot boot installed OS, boot up livecd and provide same info.
As to info required of installed OS like fstab (findmnt -s), use the livecd OS file manager and print out contents of installed OS /etc/fstab.

You probably restarted in bios-legacy while you installed in uefi.
Make your bios setup boot only in uefi. That's easier.

1 Like

Thank for the reply. The embedded link helps until the last command:
sudo efibootmgr -c -d /dev/sda -p 10 -L "manjaro" -l "\EFI\Manjaro\grubx64.efi", returned could not prepare Boot variable


If problem persists (or if unsure what to do)

Print output from the terminal

efibootmgr -v
sudo parted -l
sudo blkid
findmnt -s
findmnt /boot/efi

Note: ‘parted -l’ --> small ‘L’ and provide information of all disks.
And please print out output, not screen shots.

/boot/efi is at /dev/sda10 ? not /dev/sda1 ? Sure ?

Here are the print out

sudo efibootmgr -c -d /dev/sda -p 10 -L "manjaro" -l "\EFI\Manjaro\grubx64.efi"
Could not prepare Boot variable: Function not implemented

efibootmgr -v
BootCurrent: 000D
Timeout: 0 seconds
BootOrder: 0000,0001,0002,0003,0007,0008,0009,000A,000B,000C,000D,000E
Boot0000 Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0001 Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0002 Diagnostic Splash Screen FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0003 Lenovo Diagnostics FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0004 Startup Interrupt Menu FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0005 ME Configuration Menu FvFile(82988420-7467-4490-9059-feb448dd1963)
Boot0006 Rescue and Recovery FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0007* USB CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0008* USB FDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0009* ATAPI CD0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35402)
Boot000A* ATA HDD0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot000B* ATA HDD1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot000C* ATA HDD2 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f602)
Boot000D* USB HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot000E* PCI LAN VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot000F* IDER BOOT CDROM PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,1,0)
Boot0010* IDER BOOT Floppy PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,0,0)

sudo parted -l
Model: ATA Hitachi HTS54505 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
4 1048kB 226GB 226GB extended
5 1049kB 96.7GB 96.7GB logical ntfs
10 96.7GB 98.9GB 2147MB logical fat32
6 98.9GB 110GB 10.7GB logical ext4
7 110GB 114GB 4295MB logical ext4
8 114GB 125GB 10.7GB logical linux-swap(v1)
9 125GB 226GB 101GB logical ext4
3 226GB 500GB 274GB primary ntfs

Model: hp v245o (scsi)
Disk /dev/sdb: 8076MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

The is for the Live OS on USB drive
Number Start End Size Type File system Flags
2 2368MB 2372MB 4194kB primary esp

sudo blkid
/dev/sda3: UUID="0D7207A90D7207A9" TYPE="ntfs" PARTUUID="0c603f13-03"
/dev/sda5: LABEL="Free Space" UUID="31312E1C1A844524" TYPE="ntfs" PARTUUID="0c603f13-05"
/dev/sda6: UUID="3fe6084e-668c-4bee-87bf-d4916c84c3e6" TYPE="ext4" PARTUUID="0c603f13-06"
/dev/sda7: UUID="45af1d55-f126-42b7-aadf-9aa3a5238b45" TYPE="ext4" PARTUUID="0c603f13-07"
/dev/sda8: UUID="788f5786-c3b5-4d60-b8d2-b37e1d9bbce2" TYPE="swap" PARTUUID="0c603f13-08"
/dev/sda9: UUID="222a0a42-53ef-49cd-b4f4-def6345628b8" TYPE="ext4" PARTUUID="0c603f13-09"
/dev/sda10: UUID="0819-4734" TYPE="vfat" PARTUUID="0c603f13-0a"
/dev/sdb1: UUID="2019-09-11-15-00-55-00" LABEL="MJRO1810" TYPE="iso9660"
/dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="MISO_EFI" LABEL="MISO_EFI" UUID="9B18-65B4" TYPE="vfat"

findmnt -s
/boot/efi UUID=0819-4734 vfat umask=0077
/ UUID=3fe6084e-668c-4bee-87bf-d4916c84c3e6 ext4 defaults,noatime
/opt UUID=45af1d55-f126-42b7-aadf-9aa3a5238b45 ext4 defaults,noatime
swap UUID=788f5786-c3b5-4d60-b8d2-b37e1d9bbce2 swap defaults,noatime
/home UUID=222a0a42-53ef-49cd-b4f4-def6345628b8 ext4 defaults,noatime

findmnt /boot/efi
/boot/efi /dev/sda10 vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocha

No, that's just your usb install media. It is correct and not the issue or the problem.
But I'm afraid you have a much bigger issue.

I'm guessing ( but I think I'm correct) that you have a Lenovo machine.
That Lenovo is a microsoft certified (I prefer the word 'sanctioned' or 'restricted') machine.
It just cannot boot anything other than Windows - except when you use the install media to boot.

Another problem is that I do not see a windows efibootentry (in your efibootmgr) except it is using a 'setup' entry or a 'boot menu file'. Since I cannot make sense of this (and maybe you can), you have ntfs in sda3 and sda5. which most like means you have a windows OS. If you do not have windows OS, tell us.

So I'll ask you to look into this topic and see if you can fit into your situation.
You need to have a file " bootmgfw.efi" somewhere in a fat32 partition (sda10) for it to work.
I hope you did not erase out a previous fat32 partition (sda1) containing this file. You have obviously redone your partitions and this might be missing.

Good luck but come back to us if you have any success or new information.
You can try another linux distro that use 'shim' in the bootloader (and that works because it contains microsoft keys). Distros that use shim are Ubuntu, Debian and Fedora. Suggest you do not use Fedora, too complicated. And enable 'secure boot' when you install.
And let us know too if you can make Ubuntu work.

After making Ubuntu work, I think I can make Manjaro work in place of that Ubuntu (there's another link for it). But not both (manjaro will need to use that ubuntu efi file). But maybe, we can try.

Good luck. All the best.

Thank you for the reply. I have been using Linux mint for years on same System.
I removed from same partition I installed the manjaro. Yes, you are right, It's a Lenovo Thinkpad series.

Typing separately (separate issue) - And a better hope.
You sda is msdos. Not gpt.
To install a uefi OS, you will need a gpt disk.
And since your lenovo is tied in with microsoft, you can install Manjaro in bios-legacy (not uefi) in a msdos disk.

You'll have better luck doing this way.

[edit] -saw you last post after my previous post.

Your Linux Mint might be installed in bios-legacy. Good to know you've done so.
Luck gets better.

Thanks, you are right. I will try reinstalling it in Legacy mode. My BIOS is always on Both, it can select UEFI or Legacy. But in this case, it's not working. So, I try to reinstall it using /boot only instead of /boot/efi as recommend by Manjaro. And, I got this error
failed to unpack image "run/msio/bootmnt/manjaro/x86_64/desktopfs.sfs".
I think GPT table is required, but I cannot change certain part of the disk to GPT without formating the whole drive.

Is it possible to get the file "bootmgfw.efi" and push it to that partition?

Finally, I have installed MX Linux that is capable of using MBR, PBR and EFI as Bootloader. I installed the MX on MBR and this works fine.

I love Manjaro so much that I had to spend all these times trying to fix it.

What could have prevented it?
Is ist GPT partition? This what I think it is.

That is more indicative of a bad burn or a wrong build of install media (using rufus in iso not dd, for example)

That error is regardless of gpt, msdos or uefi or bios-legacy.

Yes, gpt is required for a uefi installation and yes, changing to gpt from msdos will erase the whole disk.

Do you have this file? Where is it?

Yes, that will be in msdos and bios-legacy. And I mentioned I had guessed, your failure in getting manjaro installation is probably due to a bad burn or a wrong making of the install media.

No, You should stick to msdos/bios-legacy.
Try etcher instead of rufus. Or since you now have MX linux, use linux command 'dd' to make the install media. But be extremely careful whenever you use 'dd'. Please read instructions and double check command before executing.

Good luck.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by