On a FreeBSD 12.2 machine, I noticed the following message(s) when running
After reading the relevant documentation(s), I concluded that running these two commands will be the way to go (review and then apply the changes):
The upgrade appeared to work successfully.
The host has two zpools:
-
-
After upgrading,
In an attempt to be helpful,
Unfortunately, I was foolish and forgot to check whether this particular host is actually using GPT and ran the command on both disks. However, this is an EFI system.
Now I am stuck with a machine that doesn't boot. After the BIOS I am being informed that I should select an appropriate boot device and try again.
Before I start further messing with the system, I would like to inquire some information of what exactly should happen to recover from this issue. I did some research and found a few forum topics but given the delicate nature of the operation I'd like to get some more input for my particular case.
Right now I booted FreeBSD in live mode from a USB drive on the affected host. This allows me to access the disks and make the necessary modifications.
Here's the output of

Where should I go from here? Is there a certain set of analytics I should run/perform before I start re-writing the EFI boot code?
As far as I understand, I would need to do this to restore the EFI boot code:
Is this correct? Is there something else I should watch out for?
Is there a chance that this is beyond repair?
I'd be thankful for any kind of input on this.
zpool status
:
Code:
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(5) for details.
Code:
zfs upgrade -v
zfs upgrade- a
The host has two zpools:
-
zroot
: 2x 256GB NVMe mirror-
storage
: 4x 10TB raidz2After upgrading,
zfs upgrade -a
informed me that I should update the boot code on all bootable devices. In my case this would be the two NVMe drives in the zroot
pool (nvd0
and nvd1
.In an attempt to be helpful,
zfs upgrade -a
also mentioned an example of using gpart bootcode
to upgrade in a scenario where GPT is used.Unfortunately, I was foolish and forgot to check whether this particular host is actually using GPT and ran the command on both disks. However, this is an EFI system.
Now I am stuck with a machine that doesn't boot. After the BIOS I am being informed that I should select an appropriate boot device and try again.
Before I start further messing with the system, I would like to inquire some information of what exactly should happen to recover from this issue. I did some research and found a few forum topics but given the delicate nature of the operation I'd like to get some more input for my particular case.
Right now I booted FreeBSD in live mode from a USB drive on the affected host. This allows me to access the disks and make the necessary modifications.
Here's the output of
gpart show
of both disks in the zroot
pool.
Where should I go from here? Is there a certain set of analytics I should run/perform before I start re-writing the EFI boot code?
As far as I understand, I would need to do this to restore the EFI boot code:
Code:
gpart bootcode -p /boot/boot1.efi -i 1 nvd0
gpart bootcode -p /boot/boot1.efi -i 1 nvd1
Is there a chance that this is beyond repair?
I'd be thankful for any kind of input on this.