Boot Manager/9.2

From PC-BSD Wiki
Revision as of 12:27, 27 August 2013 by FuzzyBot (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)

PC-BSD® supports a feature of ZFS known as multiple boot environments (BEs). With multiple boot environments, the process of updating software becomes a low-risk operation as you can backup your current boot environment before upgrading or making software updates to your system. If needed, you also have the option of booting into a backup boot environment. For example:

  • if you are making software changes to a boot environment, you can take a snapshot of that environment at any stage during the modifications.
  • you can save multiple boot environments on your system and perform various updates on each of them as needed. You can install, test, and update different software packages on each.
  • you can mount a boot environment in order to chroot into the mount point and update specific packages on the mounted environment.
  • you can move a boot environment to another machine, physical or virtual, in order to check hardware support.
WARNING For boot environments to work properly, do not delete the default ZFS mount points during installation. The default ZFS layout ensures that when you create multiple boot environments, the /usr/pbi/, /usr/local/, /usr/home/, /usr/ports/, /usr/src/ and /var/ directories remain untouched. This way, if you rollback to a previous boot environment, you will not lose data in your home directories, any installed applications, or downloaded src or ports. During installation, you can add additional mount points, just don't delete the default ones.

Managing Boot Environments Using Boot Manager

To create and manager boot environments using a graphical interface, go to Control Panel ➜ Boot Manager or type pc-su pc-bootconfig. You will be prompted to enter your password.

During installation, PC-BSD® creates a boot environment named default. As seen in Figure 8.4a, an entry for this boot environment will be displayed in the Boot Manager screen.

Figure 8.4a: Managing Boot Environments


Anything outside of the default dataset will not be included in the boot environment. To ensure that the files that the operating system needs are included when the system boots, all boot environments include /usr, /usr/local, and /var. User-specific data is not included in the boot environment. This means that /usr/home, /usr/jails, /var/log, /var/tmp, and /var/audit will not change, regardless of which boot environment is selected at system boot.

From top to bottom, the icons on the far left are used to:

Create: a new boot environment. You should do this before making any changes to the system that may impact on your current boot environment. You will be prompted for a name. Once you click OK, the system will create the environment, then add it to the list of boot environments.

Remove: will delete the highlighted boot environment. You can not delete the boot environment which has a Running status of Yes as that is the current boot environment.

Copy: makes a mountable copy? of the

Rename: used to rename the highlighted boot environment. The name is what appears in the boot menu when the system boots.

Activate: tells the system to boot into the highlighted boot environment at next system boot. The Default will change to Yes, but the Running will remain the same. In other words, Running refers to the boot environment the system last booted into (is currently running from) whereas Default indicates which boot environment the system will boot into at next system boot.

If you create any boot environments, a boot menu similar to the one seen in Figure 8.4b will appear if you press any key during system boot. The menu contains the names of the boot environments and the date each was created. If you don't make a selection, the system will automatically boot into either the last "Running" boot environment or, if you have activated another boot environment, the environment that was set as the "Default".

Figure 8.4b: Boot Menu Shows Created Boot Environments


To customize this menu, click the "Grub Configuration" tab to see the screen seen in Figure 8.4c.

Figure 8.4c: Managing GRUB Configuration


Managing Boot Environments From the Command Line

If you are running TrueOS® or prefer to use the command line, you can manage boot environments using the beadm command as the superuser. For example, this command creates a boot environment named beforeupgrade:

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 2013-08-23 09:03
beforeupgrade -      -             1K static 2013-08-27 10:14

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 it 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.

The boot menu configuration can be found in the ASCII text file /usr/local/etc/default/grub:

more /usr/local/etc/default/grub


Other languages:German 9% • ‎English 100% • ‎French 20%
Personal tools