@emaste @norrist This can happen between major updates when upgrading zpools and not uplifting the applicable bootloader.
Hopefully you have finished all the freebsd-update install processes, if so and you can boot from USB, CD or ISO:
gpart show
#determine if you have a EFI partition that you need to take care of
See:
https://man.freebsd.org/cgi/man.cgi?gpartEven if you are purely a EFI boot, it doesn't hurt to execute the gptzfsboot to put a new boot shim in the freebsd-boot slice. Remember, don't blindly put it into index 1 as this might be your EFI partition.
See:
https://man.freebsd.org/cgi/man.cgi?gptzfsbootThe EFI loader is much more simple these days. The EFI partition is simply a FAT32 file system that can be mount such as:
mount -t msdos /dev/ada0p1 /boot/efi
Then copy /boot/loader.efi to both EFI and freebsd (if exists) folders:
cp /boot/loader.efi /boot/efi/EFI/BOOT/BOOTX64.efi
cp /boot/loader.efi /boot/efi/EFI/freebsd/loader.efi
umount /boot/efi
See:
https://man.freebsd.org/cgi/man.cgi?loader.efiNow the above is super high level and might need tweaking for your system. I wouldn't be so hard on FreeBSD and to drop the operating system because of these issues you had with your upgrade process. The fact remains that it is so much easier to come back from this on FreeBSD then it ever has with something that isn't BSD based.
We have a fleet of FreeBSD machines and each one was a smooth upgrade.