# Failed to load '/boot/loader.efi'



## amiramix (Mar 3, 2019)

I am trying to configure UEFI loader to boot FreeBSD 12. The UEFI shell prints the following:


```
>> FreeBSD EFI boot block
  Loader path: /boot/loader.efi

  Initializing modules: ZFS UFS
  Load Path: \efi\boot\BOOTx64.efi
  Load Device: PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x2)/Pci(0x4,0x0)/Pci(0x0,0x0)/NVMe(0x1,8D-7F-B1-71-55-38-25-00)/HD(1,GPT,F4EC62C3-B000-4A60-AAA6-7079751A497D,0x800,0x64000)
  BootCurrent: 0003
  BootOrder: 0000 0005 0006 0003[*]
  Probing 12 block devices......+...*.... done
    ZFS found the following pools: tank7
    UFS found no partitions
Failed to load '/boot/loader.efi'
panic: No bootable partions found!
```
 
I can import the ZFS pool fine when booting a memstick livefs. Why the loader isn't importing it?

`efibootmgr -v` gives the following


```
BootCurrent: 0005
     Timeout : 5 seconds.
     BootOrder: 0000, 0005, 0006, 0003
       Boot0* Windows Boot Manager HD(5,GPT,5804e565-b8f6-4f47-9314-9eb4cfb79697,0x1d55e000,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)nvd1p5:/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI (null)
     * Boot5* UEFI OS HD(1,GPT,f4ec62c3-b000-4a60-aaa6-7079751a497d,0x800,0x64000)/File(\EFI\BOOT\BOOTX64.EFI) nvd1p1:/EFI/BOOT/BOOTX64.EFI (null)
       Boot6* Hard Drive BBS(HD,,0x0)
       Boot3 UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)
```
 
I've manually created /EFI/BOOT/BOOTx64.EFI by copying  /boot/boot1.efi from the livefs. The content of /EFI is just one file:

EFI/Boot/bootx64.efi

Can I somehow install the /boot/boot1.efifat manually to try to make it working? I am installing FreeBSD 12 by partitioning disk manually so bsdsysinstall doesn't run, and it seems there were      some changes around the EFI partition recently, e.g. support for      /efi/freebsd/loader.efi.


----------



## Emrion (Mar 4, 2019)

You should explain what are the different disks you have. `gpart show` would be useful also.

Is tank7 your system pool? If yes, have you set the bootfs property?
`zpool set bootfs=tank7/ROOT/default tank7` (Or something like that)


----------



## amiramix (Mar 4, 2019)

Thank you Emrion. Sorry, forgot to mention the disk layout. But bootfs did the trick! I used bsdsysinstall to install FreeBSD but had to partition by hand as there are other partitions on the disk that I didn't want to delete. Apparently the script doesn't go into much details in setting up the bootstrapping if it doesn't partition itself. Many thanks again, you saved my day!


----------

