I have created a guid partition table and 10 partitions, on gdisk ( I only use an ssd ) :
EFI (200MB), Microsres(128MB), Windows 8 (25GB), /boot(200MB), / (5GB), /usr (20GB), /var (15GB), swap(9GB), /tmp (5GB, but I only use tmpfs), /home (rest). All arch partitions have an ext4 filesystem (excluding swap ofc) and the efi system partition has a fat32 one.
I followed these steps:
https://wiki.archlinux.org/index.php/Un … n_in_Linux
https://wiki.archlinux.org/index.php/Installation_Guide ( Skipped the bootloader part )
https://wiki.archlinux.org/index.php/GR … _PARTITION ( As I was in bios mode, grub couldn't change the efi native boot loader settings so I used EFI Shell to do that )
I installed everything in bios mode and then with the EFI Shell loaded the grub's efi file in /EFI/grub/grubx64.efi, like this fs1:/EFI/grub/grubx64.efi, once I was in the efi environment I repeated the steps in https://wiki.archlinux.org/index.php/GR … _PARTITION , so that it added an entry to the efi native bootloader in nvram.
The problem is that it does not load grub2 when I start the computer, I have tried to do bcfg in EFI's shell but still it does not start at boot time :S (the same as using efibootmgr). Is it a problem with the EFI partition ? To create the partitions I only gave the correct type, size and filesystem format.
Or is it a motherboard firmware/bios bug ?
Everything works well and fast if I load the grub efi from efi shell 2.0.
I am using a DH77eb motherboard, with bios 97 (latest), and a samsung 830 ssd.
Thanks a lot.
Last edited by pinprick (2012-11-09 11:47:39)
Does it get stuck when choosing the option grub2 you added with grub-install or efibootmgr? I didn't try if it was working with the shell. I don't have the same mainboard but I solved this problem by booting over MBR instead of GPT. But I still don't know if it's just because I just started over with the installation and did everything again. Also you should have a EFI partition of at least 512MB. (unless you know what you are doing which was not the case for me. )
EDIT: To try if what I just said is bullshit or not, you can maybe do an Arch-ISO with GPT and one with MBR and see if there is a difference.
Last edited by Maximalminimalist (2012-11-09 23:22:51)
As I said it is probably the EFI bootloader that is not working properly, I added the entry to the 1st place like this bcfg boot add 0 fs1:\EFI\arch_grub\grubx64.efi "Grub2" . For some reason when I boot the computer it does not autostart grubx64.efi. I tried with bcfg, efibootmgr and grub-install to no avail. Any suggestions?
The only way I can start grub2 is by using the EFI shell. I am using a GUID Partitioning table, I resized the EFISYS to 512MB and I can enter arch linux in a efi environment.
Last edited by pinprick (2012-11-17 13:25:59)
There are a number of possible causes of this problem. Most of them are firmware bugs. For instance, this bug affects some Lenovo computers, and perhaps others. I've got a computer that "forgets" its NVRAM entries with about a 50% probability whenever it's rebooted. Another accepts NVRAM entries, but ignores the boot order variable and instead boots them in the order in which they were entered.
See this page I wrote about EFI boot loader installation, and particularly the "Announcing the Boot Loader to the EFI" section near the end, for additional suggestions of things to try. Mostly these involve renaming your boot loader to a default name, such as EFI/BOOT/bootx64.efi or EFI/Microsoft/Boot/bootmgfw.efi.
One more comment: Using FAT, ext2fs, ext3fs, or ReiserFS on your /boot partition will enable the EFI to read it. (You'll need EFI drivers for anything but FAT, though.) This will give you extra flexibility when it comes to boot manager and boot loader choices and configuration options. Alternatively, you can mount the ESP as /boot to achieve similar ends.
Mostly these involve renaming your boot loader to a default name, such as EFI/BOOT/bootx64.efi or EFI/Microsoft/Boot/bootmgfw.efi.
Thanks, it did work.
This probably seems to be a case with all intel motherboards using the latest firmwares.
In my case i had to create a fake EFI/Microsoft/Boot/bootmgfw.efi containing a renamed tianocore shell and then only it recognized \EFI\arch\whatever.efi
Only then the bootentries created with efibootmgr showed up.
Intel mobos = Steer clear.