Загрузчик делал по этому ману.

Загрузочный диск SSD с GPT таблицей разделов и первым разделом на 250МБ.
На нем:
% ls /boot/efi/EFI -Rl
/boot/efi/EFI:
total 1
drwxr-xr-x 3 root root 1024 Dec 23 14:02 arch
/boot/efi/EFI/arch: 20119
-rwxr-xr-x 1 root root 13758383 Dec 21 23:30 initramfs-arch-fallback.img
-rwxr-xr-x 1 root root  3332247 Dec 21 23:30 initramfs-arch.img
drwxr-xr-x 3 root root      512 Dec 20 21:45 refind
-rwxr-xr-x 1 root root      169 Dec 21 23:42 refind_linux.conf
-rwxr-xr-x 1 root root  3508832 Dec 21 23:29 vmlinuz-arch.efi
/boot/efi/EFI/arch/refind:
total 139
drwxr-xr-x 2 root root   3584 Dec 23 14:01 icons
-rwxr-xr-x 1 root root  14453 Dec 21 23:52 refind.conf
-rwxr-xr-x 1 root root 123392 Dec 21 23:42 refindx64.efi
/boot/efi/EFI/arch/refind/icons:
total 933
-rwxr-xr-x 1 root root  4367 Dec 20 21:45 arrow_left.icns
...
% sudo efibootmgr      
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0000,0002,0001
Boot0000* Arch Linux (rEFInd)
Boot0001* Hard Drive 
Boot0002* UEFI: Generic Flash Disk 8.07
В биосе/UEFI пункт Arch rEFInd появился, но с него не грузится, просто курсор мигает и все.

Система сейчас грузится только с флешки, записанной вот так: https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Create_UEFI_bootable_USB_from_ISO
При загрузке с флешки, там в меню есть пункт с арчем, который на ssd, и нормально через него грузится.

Как сделать нормальную загрузку?

PS: пару раз грузилось само, нормально, после экспериментов. Но после нескольких перезагрузок само слетало =/