You are not logged in.
Pages: 1
I have performed a new installation of Arch 64 according to the beginners' guide on a computer with a Gigabyte GA-78LMT-USB3 motherboard. Since this has UEFI, I decided to take advantage of this, but am having some trouble getting it to boot.
I created a gpt partition table with three partitions, the first being a 512MB primary partition formatted using a FAT32 filesystem to be used as the UEFI system partition and set the boot flag using parted, the second and third are for root and home formatted as ext4.
I decided to go with grub-efi-x86_64 as despite what the beginners guide says, it looked easier to configure. I installed GRUB via the following:
# pacman -S grub-efi-x86_64 efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
The wiki then said that since v2.0, grub-install tries to make its own menu entry, so running the following is not necessary:
# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (GRUB)" -l '\EFI\arch_grub\grubx64.efi'
So I skipped that command and when straight on to running:
# grub-mkconfig -o /boot/grub/grub.cfg
I restarted the computer but it did not boot, so I used the arch cd to run this command, just in case the automatic entry was not successful.
# efibootmgr -c -g -d /dev/sda -p 1 -w -L "Arch Linux (GRUB)" -l '\EFI\arch_grub\grubx64.efi'
When I rebooted the computer still failed to boot, so I read the following as the end of the EFISTUB section:
7. (Optional) As a fallback, in case efibootmgr created boot entry does not work, copy refind_x64.efi to /boot/efi/EFI/boot/bootx64.efi as follows:
# cp -r /boot/efi/EFI/refind/* /boot/efi/EFI/boot/ # mv /boot/efi/EFI/boot/refind_x64.efi /boot/efi/EFI/boot/bootx64.efi
So I adapted it to copy from grub rather than refind:
# cp /boot/efi/EFI/arch_grub/arch_grubx64.efi /boot/efi/EFI/boot/bootx64.efi
After I rebooted this time, it booted correctly. Any ideas why this might be?
Offline
The /EFI/BOOT/BOOTX64.EFI is what the firmware defaults to. This is what is used when you are booting from external media for instance. It wouldn't be too practical to require a boot manager entry for external media, so this is what the UEFI specs call for to handle this situation.
I think it may be worth investigating why efibootmgr entries are not working. You can see exactly what is written to the nvram by using the -v flag. Also, you can (often more reliably) write entries using a tool included with the UEFI Shell v2.0.
Last edited by WonderWoofy (2013-02-17 19:09:31)
Offline
When I rebooted the computer still failed to boot, [...]
What happened when you tried to boot? Any messages on the screen?
On my computers I can invoke a menu using F6 (the Asrock ITX board) or F12 (Thinkpad) while the uefi-bios is booting (think, on your Gigabyte board it should be F12, too). In this menu I can select which device (or which bootloader) to start. Maybe you have a look if Grub appears there and can be started from there.
Another point: The Grub2 part of the wiki concerning UEFI seems to be worth reading. Maybe you could re-check if all directories and all files are where they should be.
Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)
Offline
I have performed a new installation of Arch 64 according to the beginners' guide on a computer with a Gigabyte GA-78LMT-USB3 motherboard. Since this has UEFI, I decided to take advantage of this, but am having some trouble getting it to boot.
...
So I adapted it to copy from grub rather than refind:# cp /boot/efi/EFI/arch_grub/arch_grubx64.efi /boot/efi/EFI/boot/bootx64.efi
After I rebooted this time, it booted correctly. Any ideas why this might be?
Yes. The "Hybrid EFI" implementation that Gigabyte uses is a bug-ridden, sorry excuse for an EFI. Read about my experiences with it here. I have exactly the same problem (among many others): The board "forgets" its NVRAM entries. I just use the fallback filename (EFI/BOOT/bootx64.efi) and don't bother even trying to set the NVRAM entries with efibootmgr.
You've already done your installation, but for others with Gigabyte's Hybrid EFI, I recommend against using it in EFI mode unless you absolutely must do so; the pain of doing it is just too great. It sounds like you got lucky on yours (or maybe they've fixed some of the bugs). I only boot in EFI mode because I want to be able to test my rEFInd on as wide a range of EFI implementations as possible.
Offline
Ah, thanks srs5694. I may not bother with EFI then. Does this mean that I will need to use a MBR partition table though? As a partition set as bootable in a GPT partition table will be regarded as an EFI partition wouldn't it?
Offline
You can boot most BIOS-based computers off of a GPT disk; however, computers with EFI support tend to have rules to determine which boot mode to use, and those rules can cause problems. My (limited) testing with my GA-78LMT-S2P suggests that it uses a BIOS-mode boot unless the disk uses GPT and has a valid EFI System Partition (ESP). Thus, you should be OK so long as you don't create an ESP (which is a FAT32 partition with the "boot flag" set in a libparted-based program, or with a type code of EF00 in gdisk).
Offline
Pages: 1