Multiple Boot Environments
Beginning with version 9.1, PC-BSD supports multiple boot environments on systems that were formatted with ZFS during installation. In 9.1, this feature is configured from the command line. Version 9.2 will provide a graphical interface for managing boot environments (BEs).
Multiple boot environments is a feature originally created by Solaris. It allows you to create a BE, which is a bootable, point-in-time snapshot of the ZFS filesystem. By booting into a snapshot, you return to that point in time in the filesystem. For example, you could create a BE before upgrading, allowing you to boot either into the newly upgraded system or into the snapshot of the system before it was upgraded. Alternately, you could create a snapshot before installing and configuring some software that you wish to test. Once your test is finished, you could boot into what the system looked like before the test.
BE's are managed withe the beadm command which must be run as the superuser. The following example creates a BE of the ZFS pool named beforeupgrade.
beadm create beforeupgrade Created successfully
To view the BEs, use the list command
beadm list BE Active Mountpoint Space Policy Created default NR / 6.05G static 2012-07-09 05:06 beforeupgrade - - 1K static 2012-07-10 12:25
In this example, the ZFS pool is known as default and is mounted. The newly created beforeupgrade BE exists, but has not been activated and therefore will not show up in the boot menu.
beadm activate beforeupgrade Activated successfully beadm list BE Active Mountpoint Space Policy Created default N / 64.5K static 2012-07-09 05:06 beforeupgrade R - 6.05G static 2012-07-10 12:25