You are not logged in.

#1 2013-03-10 20:00:10

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

I am trying to do a Grub UEFI installation, since neither rEFInd or gummiboot have worked for me.

I am unable to open the BIOS configuration menu (with F2) or the multiboot menu (with F12) anymore. I can only reach the grub rescue screen:

Welcome to GRUB!

error: file '/boot/grub/x86_64-efi/normal.mod' not found.
Entering rescue mode...
grub rescue> ls
(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (cd0)
grub rescue> _

Before rebooting, during the configuration of grub, I moved /boot/grub/ to /boot/efi/grub, because that was my efi-directory:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug

My partitioning is like this:
/dev/sda1 --- 1G --- FAT --- UEFI system partition
/dev/sda2 --- 4G --- swap --- swap
/dev/sda3 --- 40G --- ext4 --- root
/dev/sda4 --- the rest --- ext4 --- home

Not sure what I should do at this point. I wanted to disable UEFI and install with legacy bootloader, but I cannot reach the boot configuration. Nor can I boot from the Arch Install CD now, either.

I have read the pages for UEFI, UEFI bootloaders, the bootloader section of the beginner's guide, gummiboot, GRUB2#UEFI, etc., but it's confusing to synthesize all the material and do it right.

Offline

#2 2013-03-10 20:34:55

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

So if that file was not found and expected to be at /boot/grub.... have you tried putting that crap back?  The wiki page seems to say nothing about creating a /boot/efi/grub directory so I am not sure why you felt this was the right thing to do. 

Grub has filesystem drivers (read-only) that allow it to find stuff like configuration, kernels, and initrds in /boot.  So there *should* be no need to make sure that everything is on your ESP.

Having said all that, i am not sure how you thought that trying grub was better than simply trying to figure out where you wre going wrong with refind or gummiboot.  Honestly, I think that the gummiboot configuration is the easiest I have ever seen... so moving from that to the complexities of grub seem a bit ludicrous to me.

Offline

#3 2013-03-10 21:20:18

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

WonderWoofy wrote:

So if that file was not found and expected to be at /boot/grub.... have you tried putting that crap back?  The wiki page seems to say nothing about creating a /boot/efi/grub directory so I am not sure why you felt this was the right thing to do. 

Grub has filesystem drivers (read-only) that allow it to find stuff like configuration, kernels, and initrds in /boot.  So there *should* be no need to make sure that everything is on your ESP.

Having said all that, i am not sure how you thought that trying grub was better than simply trying to figure out where you wre going wrong with refind or gummiboot.  Honestly, I think that the gummiboot configuration is the easiest I have ever seen... so moving from that to the complexities of grub seem a bit ludicrous to me.

That's the thing: I'm not sure how to do that. I was reading https://wiki.archlinux.org/index.php/GR … ue_console, but:

grub rescue> ls (hd0,gpt3)/boot
./ ../ efi/ vmlinuz-linux initramfs-linux.img initramfs-fallback.img
grub rescue> ls (hd0,gpt3)/boot/efi
./ ../

Can't even find the grub/ directory...

Offline

#4 2013-03-10 23:11:32

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

Can't you boot the kernel, loading the initramfs, directly from the rescue shell and then sort out the mess once booted?

Just to be sure: you are not using a Samsung, are you?


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#5 2013-03-11 01:49:53

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

cfr wrote:

Can't you boot the kernel, loading the initramfs, directly from the rescue shell and then sort out the mess once booted?

Just to be sure: you are not using a Samsung, are you?

I am using a Lenovo Z580.

I would like to boot the kernel like you said, but first need to insert the "normal" module, because right now in the rescue shell, I only have commands

insmod, ls, set, unset

That is what caused the error in the first place, normal.mod is missing.

Offline

#6 2013-03-11 02:36:02

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

This breakthrough deserves a new post:

grub rescue> set
prefix=(hd0,gpt3)/boot/grub
root=hd0,gpt3
grub rescue> ls /
./ ../ lost+found/ home/ boot/ var/ dev/ run/ etc/ tmp/ sys/ proc/ usr/ lib lib64 mnt/ opt/ root/ srv/ sbin/ bin/
grub rescue> ls /etc/grub.d
./ ../ 41_custom 10_linux 20_linux_xen 20_memtest86+ README 30_os_prober 00_header 40_custom
grub rescue> ls /usr/share/grub
./ ../ euro.pf2 unicode.pf2 ascii.h ascii.pf2 themes/ widthspec.h grub-mkconfig_lib

Would it be possible to find normal.mod somewhere? I have been looking through them, but the grub directories I have found do not have it. Where are packages installed to?

Last edited by wolfcore (2013-03-11 02:36:18)

Offline

#7 2013-03-11 02:58:26

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

/usr/lib/grub/x86_64-efi/normal.mod


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#8 2013-03-11 02:59:28

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

You can use pacman to list the files present in an installed package with "pacman -Ql <package>"

Offline

#9 2013-03-11 03:00:13

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

WonderWoofy wrote:

You can use pacman to list the files present in an installed package with "pacman -Ql <package>"

Not if you only have grub's rescue shell to work with!


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#10 2013-03-11 03:55:59

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

Alright, so I managed to get to normal mode, by first importing about 5 or 6 other *.mod's the normal module depended on, and so now:

grub> 
Possible commands are:

 authenticate boot break clear continue export gettext insmod ls menuentry normal normal_exit return set setparams shift submenu terminal_input terminal_output unset
grub> set
-snip-
prefix=(hd0,gpt3)/usr/lib/grub/x86_64-efi
root=hd0,gpt3
grub> kernel /vmlinuz-linux
error: can't find command 'kernel'.
grub> initrd /initramfs-linux.img
error: can't find command 'initrd'.

Now where would I be able to get these? I assume they can also be insmod'ed from somewhere in /usr/lib/grub/x86_64-efi, where there's very many *.mod files.

Also, I probably need to change my prefix and root as well.

Offline

#11 2013-03-11 14:26:34

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

wolfcore wrote:

Before rebooting, during the configuration of grub, I moved /boot/grub/ to /boot/efi/grub, because that was my efi-directory:

Move back the directory to /boot/grub. /boot/efi/grubx64.efi is configured to look into /boot/grub (or rather <ESP>/grub, rather than <ESP>/efi/grub). Otherwise there should be no issues in your case.

Offline

#12 2013-03-11 22:33:38

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#13 2013-03-12 02:26:38

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

I've read this, and I imported the normal module, but there are no Linux, kernel or initrd commands.
I get

Error: can't find command "linux".
Error: can't find command "kernel".
Error: can't find command "initrd".

Last edited by wolfcore (2013-03-12 02:27:44)

Offline

#14 2013-03-12 04:09:54

wolfcore
Member
From: California
Registered: 2012-03-06
Posts: 137

Re: Grub-UEFI error... "file '/boot/grub/x86_64-efi/normal.mod' not found"

Alright, I have reread the wiki page and missed importing the linux.mod module. Now I have booted, and moved the grub/ directory to /boot. Next I need to make sure that I have everything else correct so it doesn't happen again.

Edit: I understand the rules about double posting, but decided to make a new post since this is not just an add-on our change to the previous.

Last edited by wolfcore (2013-03-12 04:28:09)

Offline

Board footer

Powered by FluxBB