I have installed Arch Linux in a samsung 830 ssd, with a GPT partitioning table. I followed the distribution's wiki pages on how to install the system, so I did the following:
EFI (512MB), 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. (created with gdisk)
- https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Create_an_UEFI_System_Partition_in_Linux
- https://wiki.archlinux.org/index.php/Installation_Guide (Skipped the bootloader part)
- https://wiki.archlinux.org/index.php/SSD
- https://wiki.archlinux.org/index.php/GRUB#Install_to_UEFI_SYSTEM_PARTITION
- https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Shell
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/GRUB#Install_to_UEFI_SYSTEM_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.
boot add 0 fs1:\EFI\grub\grubx64.efi "Grub2"
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), I changed the bios configuration stored in ram-cmos to work in EFI mode only, disabled serial port, lan(I have wireless adapter) and parallel port .