You are not logged in.
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
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
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
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
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
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
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
Sorry about that. I jumped to conclusions without looking at the scripts.
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?
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