UEFI boot problem on real hardware.

  • The board is J1900D2Y from asrock, crucial MX200 SSD.
    CSM settings — disable.
    https://snapshots.pfsense.org/amd64/pfSense_master/installer/pfSense-CE-2.4.0-DEVELOPMENT-amd64-latest.iso.gz successfully boots with EFI loader
    Installer options
    all installs but after reboot automatically goes into UEFI settings, because can not boot from hard drive.
    "Launch UEFI shell from device" shows zero compatible devices in list.

  • OK, another test done, it installs and boots in UEFI mode successfully on D2500CC intel board with default settings, but there is no UEFI-CSM settings available, except disable UEFI boot, so it always run in CSM compatible mode.
    I'll try install same way on asrock board later.

  • There is no way currently to install pfSense  on Assrock J1900D2Y in UEFI mode, it's just hides hdd and BBS options to boot from.

  • I think it's https://bugs.freenas.org/issues/16280
    Confirmed. It boots after manually editing UEFI entries.

    Updated by Grzegorz Krzystek 3 months 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.

    I just did

    bcfg boot add 10 fs0:\EFI\BOOT\BOOTX64.EFI "pfSense"

    bcfg answers that entry 10 is 0000 (do not exists)  and corrected it with number 3

    and on next boot selected new entry in UEFI settings boot priority.

    All done!