Multiple Boot Environments

From PC-BSD Wiki
Revision as of 08:22, 23 August 2012 by Drulavigne (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)

Beginning with version 9.1, PC-BSD® supports multiple boot environments (BEs) on systems that were formatted with ZFS during installation. In 9.1, this feature is managed from the command line. Version 9.2 will provide a graphical interface for managing boot environments.

txt=Missing Link[1] is a feature originally created by Solaris. By default, the root of a ZFS filesystem is considered to be a BE, since you can boot into it. Multiple boot environments allow you to create additional BEs, or bootable, point-in-time snapshots of the root ot the ZFS filesystem. By booting into an alternate BE, you return to that point in time in the root filesystem. For example, if you create a BE before upgrading, you could configure the system to boot into that BE should the upgrade fail and you wish to return to what the root filesystem looked like before the upgrade. Alternately, you could create a snapshot BE to install and configure some software that you wish to test. Simply boot into that BE and perform your test installations. When you are finished your tests, set the system to boot back into the original BE.

Understanding Boot Environments

Read this section before using multiple boot environments so that you understand what will and will not be preserved when booting into an alternate BE.

Managing Boot Environments

BE's are managed with the beadm command which must be run as the superuser. The following example creates a BE named beforeupgrade. The new BE is a clone of the current BE, the ZFS environment that you booted into.

beadm create beforeupgrade 
Created successfully

To view all 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

The possible flags in the Active field are as follows:

  • R: active on reboot
  • N: active now
  • -: inactive

In this example, the current BE is called default, it is active now and at next reboot, and is mounted. The newly created beforeupgrade BE exists, but is inactive and unmounted. To activate the new BE:

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

The flags now indicate that the system is currently booted into default, but at next boot the system will boot into beforeupgrade. Only one boot environment can be active at a time.


Personal tools