You are not logged in.

#1 2011-08-10 14:12:12

Darklighter
Member
Registered: 2011-08-10
Posts: 11

GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

Hello,

I'm in the process of installing Arch on the SSD of a new Sandy Bridge system, using UEFI and GPT. I've followed the steps in the wiki, but I've ran into a minor problem. When I launch grub.efi from the UEFI shell (I haven't created a boot entry using efibootmgr yet), I get a grub> prompt instead of the menu. I can get to the menu by issuing:

configfile (hd0,2)/boot/grub/grub.cfg

From there, I can proceed to boot Linux 3.0.1 successfully. I've already tried re-running grub_efi_x86_64-install and grub-mkconfig from the installed system.

Any clues?

Offline

#2 2011-08-10 17:54:03

skodabenz
Banned
From: Tamilnadu, India
Registered: 2010-04-11
Posts: 382

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

Can you post the output of "set" command in grub> prompt. Mainly "prefix=" part. Did you use the Beta UEFI Shell or the old one. Can you try the same with the old Shell?


My new forum user/nick name is "the.ridikulus.rat" .

Offline

#3 2011-08-10 18:18:59

Darklighter
Member
Registered: 2011-08-10
Posts: 11

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

color_highlight=black/white
color_normal=white/black
pager=
prefix=(hd0,gpt1)/efi/grub
root=hd0,gpt1

I'm using the old shell, because the Beta shell crashes on my system.

Offline

#4 2011-08-10 18:26:36

skodabenz
Banned
From: Tamilnadu, India
Registered: 2010-04-11
Posts: 382

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

Copy (hd0,gpt2)/boot/grub/grub.cfg to (hd0,gpt1)/efi/grub/grub.cfg , or create the 2nd file containing a single configfile command pointing to the first file. Your choice.


My new forum user/nick name is "the.ridikulus.rat" .

Offline

#5 2011-08-10 18:42:12

Darklighter
Member
Registered: 2011-08-10
Posts: 11

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

Thanks for the help! I've opted for the latter.

Out of curiosity, is this normal behaviour? Why does grub_efi_x86_64-install generate grub.cfg in a place where GRUB can't find it?

Offline

#6 2011-08-10 23:33:09

Darklighter
Member
Registered: 2011-08-10
Posts: 11

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

Darklighter wrote:

Out of curiosity, is this normal behaviour? Why does grub_efi_x86_64-install generate grub.cfg in a place where GRUB can't find it?

Here's what I discovered after doing some more research.

According to the documentation, GRUB looks for grub.cfg in $prefix, which by default is the directory containing grub.efi. To remedy this, the GRUB image should embed a configuration file that changes $prefix to /boot/grub.

I could generate a custom image myself using grub-mkimage, but shouldn't that be handled by the grub_efi_x86_64-install script? Should I report this as a bug?

EDIT: Bug report

Last edited by Darklighter (2011-08-12 14:46:34)

Offline

#7 2011-08-12 08:47:31

skodabenz
Banned
From: Tamilnadu, India
Registered: 2010-04-11
Posts: 382

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

This is not at all a bug. But the /boot/grub/grub.cfg exists just as an example config file and for the sake of the backup array in the PKGBUILD. grub2-common is splitted from grub2-bios compilation but the scripts are firmware independent.

And just FYI the install script (grub_efi_x86_64-install or grub_bios-install) never runs grub-mkconfig. grub.cfg is either generated either manually by the user or created in grub2-common pkg post_install script but is independent of grub-install .


My new forum user/nick name is "the.ridikulus.rat" .

Offline

#8 2011-08-12 14:45:43

Darklighter
Member
Registered: 2011-08-10
Posts: 11

Re: GRUB 2 Showing Prompt Instead of Menu (UEFI, GPT)

Sorry about that. I jumped to conclusions without looking at the scripts.

skodabenz wrote:

But the /boot/grub/grub.cfg exists just as an example config file and for the sake of the backup array in the PKGBUILD.

I see. Although, why is this file created by grub2-common? Couldn't grub2-efi-x86_64 create it in /boot/efi/efi/grub instead?

skodabenz wrote:

grub2-common is splitted from grub2-bios compilation but the scripts are firmware independent.

It seems that grub-mkconfig is not aware of EFI. The helper scripts in /etc/grub.d expect video.lst and the locale directory to be in /boot/grub. In the case of EFI, they are located at /boot/efi/efi/grub, which makes grub-mkconfig display an error ("cat: /boot/grub/video.lst: No such file or directory") and generate an incomplete configuration. Is there a better solution than copying the files over?

Offline

Board footer

Powered by FluxBB