# FreeBSD upgrades, ZFS, beadm - recovery



## dnv (Jun 1, 2016)

Hypothetical situation:

I have a ZFS-on-root FreeBSD 10.x setup with beadm, I create a new boot environment, boot or chroot into it, run freebsd-update to upgrade the system and proceed to hose it when merging config changes. The system no longer boots. How do I actually revert the system to the previous state, how do I run beadm if the system doesn't boot?


----------



## phoenix (Jun 1, 2016)

If you are running a new enough version of FreeBSD, the loader menu will allow you to select a different BE to boot from.  

Alternatively, you can drop to a loader shell and manually enter the path to the correct BE / kernel to boot from, boot to single-user mode, and then change the default BE there.


----------



## dnv (Jun 1, 2016)

phoenix said:


> If you are running a new enough version of FreeBSD, the loader menu will allow you to select a different BE to boot from.
> 
> Alternatively, you can drop to a loader shell and manually enter the path to the correct BE / kernel to boot from, boot to single-user mode, and then change the default BE there.


Oh. Is this menu only visible when more than 1 be is present? Just wondering cause I haven't ever seen it. Also sounds kinda weird if such functionality is available in the base system while beadm itself is a port/package. Or its beadm just a more user-friendly front-end to the functionality provided by the base system?


----------



## kpa (Jun 1, 2016)

Beadm is nothing else but a frontend to tools and properties that control which dataset is used for booting. The bootfs property of the pool is the primary method for selecting which dataset is mounted as the root file system but it can be overridden in loader.conf(5) using the vfs.root.mountfrom variable or manually setting the variable at the loader prompt.


----------

