include efibootmgr or equivalent to grant possibility to add UEFI Boot entry for some boards for internal boot media
Some boards like Asrock Rack c2750d4i have wrongly implemented UEFI support to boot.
in normal cases bios search /EFI/BOOT/BOOTX64.EFI
but with some motherboards bios searches /EFI/BOOT/BOOTX64.EFI only for removable media, on internal drives like SATA HD searching different path (windows specific)
to workaround this user/script need to calluefi procedure to add bootrecord to UEFI boot list.
it can be done 2 way: efibootmgr command https://wiki.gentoo.org/wiki/Efibootmgr
Or modified efishell (asrockrack contains integrated shell but dosen not support corresponding commands) there are modified efishell binaries that support adding deleting UEFI boot entreis.
http://dl.dropbox.com/u/17629062/Shell2.zip that supports bcfg command
in my scenarion FreeNAS boot's instalation media as uefi (cause usb stick is an external device), installs correctly but stays unbootable (installed on internal ssd), bios does not recognize boot partition, cause searches windows specific path for bootloader.
when isntalled on usb stick , boot correclty.
i workaround roblem using internal efi shell, to start modified shell binary and called bcfg command to add boot entry.
so now my bios i booting freenas in uefi mode correctly
#2 Updated by Grzegorz Krzystek over 2 years ago
Bios Version: 2.90
Latest for C2750D4I
In particular it's not a bug, but proMicrosoft implementation, of uefi boot sequence, and well known problem of many UEFI Bios on many motherboards.
windows boot loader have path: EFI\Microsoft\Boot\bootmgr.efi
and there are bios implementation like Asus one that expecting Windows Boot loader on internal hard-drives, and respecting EFI/BOOT/BOOTX64.EFI only on removable devices.
all UEFI implementations allows user to manage bootentrys.
adding new entry by uefishell that subbort bcfg is one line, in my case was:
shell>bcfg boot add N fsV:\EFI\BOOT\BOOTX64.EFI "FreeNAS"
where N was number of entry nad V was number of Filesystems that efi was able to read (all fat partitions are numbered and are accessible from uefishell)
after adding this entry, i see FreeNAS in bios as Bootable device that can be selected in boot order menu.
same operation is done in some Linux distros when grub-efi is installed by invoking command efibootmgr, cause some distros placeing grub in different dirs in EFI_BOOT partition. so adding these record to UEFI boot order make them bootable.
#3 Updated by Kris Moore over 2 years ago
- Status changed from Screened to Closed: Not To Be Fixed
This isn't something really to be fixed at this time. We are installing UEFI using the standard convention, which does work on nearly all motherboards. However you could boot BIOS also as a fallback if this is easier than adjusting the EFI config by hand.