Dual Booting/9.2

From PC-BSD Wiki
Revision as of 09:04, 24 July 2013 by Drulavigne (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)

A PC-BSD® installation assumes that you have an existing primary partition to install into. If your computer has only one disk and PC-BSD® will be the only operating system, it is fine to accept the default partitioning scheme. However, if you will be sharing PC-BSD® with other operating systems, care has to be taken that PC-BSD® is installed into the correct partition; otherwise, you may inadvertently overwrite an existing operating system.

If you wish to install multiple operating systems on your computer, you will need the following:

  • a partition for each operating system. Many operating systems, including PC-BSD®, can only be installed into a primary partition. This means that you will need to use partitioning software as described in Partitioning the Hard Drive.
  • a boot loader that allows you to select which operating system you wish to boot into. Depending upon the choice of boot loader and the operating systems that you install, you may or may not have to configure the boot loader to list all of the installed operating systems. Also, depending upon the order that you install the operating systems, the existing MBR data may be overwritten. This section will describe the configuration of several different boot loaders and how to restore an overwritten MBR.
  • a backup of any existing data. This backup should not be stored on your computer's hard drive but on another computer; on removable media, such as a USB drive; or burnt onto a DVD media. If you are careful in your installation, everything should go fine. However, you will be glad that you made a backup should something go wrong.


Choosing the Installation Partition

When installing PC-BSD® onto a computer that is to contain multiple operating systems, care must be taken to select the correct partition in the Disk Selection screen of the installation. On a system containing multiple partitions, each partition will be listed. Highlight the partition that you wish to install into and make sure that you do not select a partition that already contains an operating system or data that you wish to keep.

DANGER! make sure that you click the "Customize" button while in the "Disk Selection" screen. If you just click Next without customizing the disk layout, the installer will overwrite the contents of the primary disk.

If you install PC-BSD® on a computer that already contains an operating system, the first time you reboot, your computer will automatically boot into the previous operating system. You will need to configure a boot loader utility to recognize all of the operating systems that are installed and to provide you with a boot menu where you can select which operating system to boot into.


Many Linux distros use GRUB[1] as the boot loader. This section shows you how to add PC-BSD® to an existing GRUB menu.

There are two versions of GRUB that are in use. To see which version your Linux distro is using, boot into the Linux system and use the --version option to the grub command line tool:

sudo grub grub> grub --version

If the version number is less than 1, you are using legacy GRUB; otherwise you are using GRUB version 2.

If you are using GRUB version 2, run the ls command within grub to determine the names of the disks and partitions that can be seen by GRUB. This will help you determine which drive options to use when setting the root option in the examples shown in Adding PC-BSD® to GRUB Version 2. The output of this command will vary depending upon your disk layout and the naming scheme used by the Linux distro. When you are finished using grub, type quit to leave the utility.

grub> ls grub> quit

Adding PC-BSD® to Legacy GRUB

NOTE: Legacy GRUB does not support the GPT format. When you are in the Disk Selection Screen of the PC-BSD® installer, select Advanced Mode and make sure that the "Partition disk with GPT" checkbox is unchecked.

Here is an example of adding a PC-BSD® entry to a Linux distro that is using legacy GRUB:

title PCBSD 9.1

root (hd0,1)

kernel /boot/loader
  • title: this will be the text that is shown in the boot menu and can be anything that makes sense to you.
  • root: the root of the partition containing PC-BSD®, as determined by the ls command described in the previous section. In this example, PC-BSD® is installed on the first hard disk hd0 and on the second partition ,1. Depending upon your distro and where you installed PC-BSD®, the ouput of ls on your system may differ.
  • kernel: used to load the primary boot image. For FreeBSD and PC-BSD®, always use /boot/loader.

For more information about legacy GRUB, refer to the GRUB Legacy Manual[2].

Adding PC-BSD® to GRUB Version 2

GRUB version 2 supports both the MBR and GPT formats.

In this example, PC-BSD® is installed on the third primary partition of the first hard drive using the MBR format:

menuentry "PCBSD 9.1" {

insmod ufs2 set root=(hd0,2,a) kfreebsd /boot/loader



  • menuentry: the text between the quotes will be displayed in the boot menu and can be anything that makes sense to you.
  • insmod: some distros require this instruction to load the UFS2 kernel module.
  • set root: the root of the partition containing PC-BSD®, as determined by the ls command described in the previous section. Always add the a at the end to refer to the BSD boot partition on the specified disk and partition.
  • kfreebsd: used to load the primary boot image. For FreeBSD and PC-BSD®, always use /boot/loader.

The entry for the same installation (third partition on first drive), but with the GPT box checked, will differ slightly in the set root line.

menuentry "PCBSD 9.1" {

insmod ufs2 set root=(hd0,msdos2,bsd1) kfreebsd /boot/loader


If you installed PC-BSD® onto the second hard drive, you need to invoke the map and chainloader commands in order to boot from the second disk. In this example, PC-BSD® is installed in the first partition of the second drive and the box to partition disk with GPT was not checked.

menuentry "PC-BSD 9.1" {

map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (hd0,0)/boot0 boot


The entry if the GPT box was checked looks like this:

menuentry "PC-BSD GPT" {

map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (hd0,0)/pmbr boot


If you installed ZFS, several modules need to be loaded. Here is a sample entry with the GPT box checked:

menuentry "PC-BSD 9.1" {

  insmod zfs   search -s -l tank0   kfreebsd /freebsd@/boot/kernel/kernel   kfreebsd_module_elf /freebsd@/boot/kernel/opensolaris.ko   kfreebsd_module_elf /freebsd@/boot/kernel/zfs.ko   kfreebsd_module /freebsd@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache   set kFreeBSD.vfs.root.mountfrom=zfs:tank0/freebsd


After a GRUB2 configuration change you need to run a command to update the configuration. This command varies by distro:

  • sudo update-grub on a Debian-based system
  • grub2-mkconfig -o /boot/grub2/grub.cfg as the superuser under Fedora 16 or Gentoo
  • grub-mkconfig -o /boot/grub/grub.cfg when using Sabayon

For more information please refer to the GNU GRUB Manual[3].

Dual Boot with Windows Using EasyBCD

EasyBCD[4] was developed by the non-profit NeoSmart Technologies to make it easy to add other operating system entries to the the Windows boot loader. EasyBCD allows you to add entries for multiple Windows installations as well as Linux, BSD, and Mac OS X. EasyBCD provides both a paid version and a free version for limited, non-commercial use.

After booting into Windows, download and install the latest version of EasyBCD. Once installed, launch EasyBCD. The initial screen will show the current Windows bootloader. As seen in the example in Figure 5.2e, it will be set to boot Windows only:

Figure 5.2e: Viewing the Windows Boot Loader Entries Using EasyBCD

Click the "Add New Entry" button to add an entry for your PC-BSD® installation. In the "Linux/BSD" tab, click the "Type" drop-down menu and select FreeBSD/PC-BSD from the list. Type in something useful in the "Name" field; whatever you type here will show up in the boot menu. Click the "Device" drop-down menu and select the partition holding your PC-BSD® installation. It will have a filesystem type of 0xA5 rather than a drive letter or NTFS. The entry will also show its size so you can find it if you have other non-Windows partitions. An example is seen in Figure 5.2f:

Figure 5.2f: Adding an Entry for PC-BSD® to the Windows Boot Loader

Once you have made your selections, click the "Add Entry" button. If you then click on the "View Settings" button, you should see a new entry for your PC-BSD® installation.

Now that you have an entry, you can click the "Edit Boot Menu" button to set the order of the entries in the boot menu, the default operating system to boot, and the boot menu selection timeout before booting into the default operating system. This screen is shown in Figure 5.2g.

Figure 5.2g: Viewing the New Entry in EasyBCD

Once you reboot, a simple boot menu will appear containing entries for Windows and PC-BSD®. A sample menu is shown in Figure 5.2h. Use your arrow key to select the operating system you wish to boot into.

Figure 5.2h: Sample Boot Menu Created by EasyBCD

Recovering Windows Boot loader After Installing PC-BSD®

If you accidentally overwrite your Windows boot loader, you will be unable to boot into Windows after installing PC-BSD®. Depending upon the version of Windows, the PC-BSD® boot loader may or may not automatically provide an entry to boot into Windows. However, assuming you have not accidentally installed PC-BSD® into the Windows partition, your Windows installation is still there and it is possible to restore the Windows boot loader. How to do so varies by the version of Windows:

Once the Windows boot loader is recovered, you can use EasyBCD to add an entry for PC-BSD® to the Windows boot loader.


  1. http://www.gnu.org/software/grub/
  2. http://www.gnu.org/software/grub/manual/legacy/grub.html
  3. http://www.gnu.org/software/grub/manual/grub.html
  4. http://neosmart.net/EasyBCD/
  5. http://www.ehow.com/how_4891476_reinstall-xp-bootloader.html
  6. http://www.ehow.com/how_5127739_restore-vista-boot-manager.html
  7. http://www.howtogeek.com/howto/32523/how-to-manually-repair-windows-7-boot-loader-problems/
Other languages:German 100% • ‎English 100% • ‎French 36%
Personal tools