Installing and using VirtualBox on CentOS

<!> [ VirtualBox] (VB) development is progressing rapidly and the information on this page may be outdated. The [ Linux Downloads page] now has yum repo configs. Unfortunately the RPM packages (currently version 3.2.12 or specifically VirtualBox-3.2-3.2.12_68302_rhel5-1) do not handle major version upgrades gracefully. The built-in update notifications when running VB are also deficient and will only notify of minor updates (i.e. 3.2.0->3.2.4), if that, and not more major version upgrades (i.e. 2->3, 3.0>3.1, 3.1>3.2). For now, older versions should be uninstalled before installing a new major version or the package upgrade will encounter RPM conflicts. The [ VB user manual] should be read carefully; however, at this writing it does not do a good job of addressing RPM installations. See the VB site for the latest details. The good news is that the new versions have significant improvements and new features, and backwards compatibility with existing VMs has been excellent.

VirtualBox-4.0 (currently VirtualBox-4.0-4.0.18_82821), VirtualBox-4.1 (currently VirtualBox-4.1-4.1.26_84997), VirtualBox-4.2 (currently VirtualBox-4.2-4.2.18_88780) and VirtualBox-4.3 (currently VirtualBox-4.3-4.3.0_89960) are currently available. To get full 4.x functionality you may also need the VirtualBox Extension Pack which provides support for USB 2.0 devices, and RDP and PXE boot for Intel cards.

See [:HowTos/Virtualization/VirtualBox/CentOSguest:CentOS as a Guest OS in VirtualBox] for information about using CentOS as a VB guest.

Please note that VirtualBox is a product of [ Oracle Corporation]. It is neither provided nor supported by the CentOS Project, although questions may be answered at the [ Fora] or on the [ virtualization mailing lists].


1. What is VirtualBox?

[ VirtualBox] is a set of x86 virtualization products for various OS platforms. It is a machine / hardware virtualization product or hypervisor, similar in function to [ VMware Server], [ Parallels Workstation], [ QEMU], [ KVM] and [ Xen]. It can support a variety of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris/!OpenSolaris and OpenBSD. Its proponents claim it to be "the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL)".

VirtualBox is available on a variety of platforms in "native" packages. This includes i386 and AMD64 (x86_64) RPM packages for RHEL4/RHEL5/RHEL6 that should work on CentOS-4/5/6 (or Scientific Linux and other RHEL derivatives), as well as .deb packages for Debian, Ubuntu and derivatives, Mac OS-X, Windows, Solaris & OpenSolaris and as source.

2. Why use VirtualBox?

While not as efficient as operating system-level virtualization based on a modified Linux kernel like [:HowTos/Xen/InstallingCentOSDomU:Xen], [:HowTos/KVM:KVM], [:HowTos/Virtualization/OpenVZ:OpenVZ], or [:HowTos/Virtualization/Vserver:Vserver] it is easy to install and use. Benefits include:

  1. Available in RPM packages
  2. Active [ community] support

  3. Runs a variety of guest OS's
  4. Good access to hardware including sound, USB, and serial ports
  5. Available on a number of host OS's
  6. Allows running Redmond OSs and applications without messing up your computer or dual-booting

3. Installing VirtualBox

The ([ VirtualBox]) website has a lot of quality [ documentation] including:

This article will briefly cover the installation process. Both i386 and AMD64 (x86_64) versions are available.

You will need to be the root user for the following tasks. Login to a root shell or "su -" in a terminal window.

[ Download] the [ RHEL repo config].

cd /etc/yum.repos.d

The installation of VB will require the building of kernel modules. If DKMS (Dynamic Kernel Module Support) is installed it will be used and will simplify kernel upgrades. Installing DKMS from [:AdditionalResources/Repositories/RPMForge:RPMforge] or EPEL repository is recommended before installing VirtualBox. Don't forget to configure the [:PackageManagement/Yum/Priorities:yum-priorities] plugin. Installing DKMS will pull in required development dependencies.

yum --enablerepo rpmforge install dkms

<!> A [ forum user notes] that all but the latest version of [ DKMS from Dell] may be buggy.

If DKMS is not used and the development environment and kernel source are not already installed:

yum groupinstall "Development Tools"
yum install kernel-devel

You may also choose to only install a minimum set of individual development tool packages (at least gcc and make are required) rather than the groupinstall which some may consider overkill. Replace "kernel-devel" with "kernel-PAE-devel" if using a PAE kernel. If you are not using a standard CentOS kernel, you must acquire and install the source for your kernel from wherever you got the kernel. Do not try to use VirtualBox with a Xen kernel, nor to install a Xen kernel in a Guest OS.

Install the RPM:

yum install VirtualBox-4.1

or for the old versions

yum install VirtualBox-4.0


yum install VirtualBox-3.2

The installer will create the "vboxusers" group and create the necessary kernel modules if the development environment has been correctly configured.

For each "username" that will run VirtualBox:

usermod -a -G vboxusers username

or use the GUI Users and Groups tool.

4. Running VirtualBox

Run VB as a user that is a member of the "vboxusers" group. For VirtualBox-4.0 or 4.1 you may install the optional VirtualBox Extension Pack from a running instance of the GUI interface via the File / Preferences / Extensions menu. The root password will be required for this operation.

Accept the license, optionally register, and create a new VM. VMware virtual machines should be usable with Virtual box. Google "vmware to virtualbox" for information.

Help is available from the menu or [ online].

5. Making USB Work in VirtualBox

VirtualBox requires the user have write access to "usbfs" devices for USB access. As root perform the following:

mkdir /vbusbfs
echo "none /vbusbfs usbfs rw,devgid=$(awk -F : '/vboxusers/ {print $3}' /etc/group),devmode=664 0 0" >> /etc/fstab
mount -a

This page was initially created by PhilSchaffner. Other Wiki contributors are invited to make corrections, additions, or modifications.

HowTos/Virtualization/VirtualBox (last edited 2013-10-22 22:45:05 by AlanBartlett)