3.3. Hardware vs. Software Virtualization

Oracle VM VirtualBox enables software in the virtual machine to run directly on the processor of the host, but an array of complex techniques is employed to intercept operations that would interfere with your host. Whenever the guest attempts to do something that could be harmful to your computer and its data, Oracle VM VirtualBox steps in and takes action. In particular, for lots of hardware that the guest believes to be accessing, Oracle VM VirtualBox simulates a certain "virtual" environment according to how you have configured a virtual machine. For example, when the guest attempts to access a hard disk, Oracle VM VirtualBox redirects these requests to whatever you have configured to be the virtual machine's virtual hard disk. This is normally an image file on your host.

Unfortunately, the x86 platform was never designed to be virtualized. Detecting situations in which Oracle VM VirtualBox needs to take control over the guest code that is executing, as described above, is difficult. There are two ways in which to achieve this:

  • Since 2006, Intel and AMD processors have had support for so-called hardware virtualization. This means that these processors can help Oracle VM VirtualBox to intercept potentially dangerous operations that a guest operating system may be attempting and also makes it easier to present virtual hardware to a virtual machine.

    These hardware features differ between Intel and AMD processors. Intel named its technology >VT-x. AMD calls theirs AMD-V. The Intel and AMD support for virtualization is very different in detail, but not very different in principle.

    Note

    On many systems, the hardware virtualization features first need to be enabled in the BIOS before Oracle VM VirtualBox can use them.

  • As opposed to other virtualization software, for many usage scenarios, Oracle VM VirtualBox does not require hardware virtualization features to be present. Through sophisticated techniques, Oracle VM VirtualBox virtualizes many guest operating systems entirely in software. This means that you can run virtual machines even on older processors which do not support hardware virtualization.

Even though Oracle VM VirtualBox does not always require hardware virtualization, enabling it is required in the following scenarios:

  • Certain rare guest operating systems like OS/2 make use of very esoteric processor instructions that are not supported with our software virtualization. For virtual machines that are configured to contain such an operating system, hardware virtualization is enabled automatically.

  • Oracle VM VirtualBox's 64-bit guest support, added with version 2.0, and multiprocessing (SMP), added with version 3.0, both require hardware virtualization to be enabled. This is not much of a limitation since the vast majority of today's 64-bit and multicore CPUs ship with hardware virtualization anyway. The exceptions to this rule are older Intel Celeron and AMD Opteron CPUs, for example.

Warning

Do not run other hypervisors, either open source or commercial virtualization products, together with Oracle VM VirtualBox. While several hypervisors can normally be installed in parallel, do not attempt to run several virtual machines from competing hypervisors at the same time. Oracle VM VirtualBox cannot track what another hypervisor is currently attempting to do on the same host, and especially if several products attempt to use hardware virtualization features such as VT-x, this can crash the entire host. Also, within Oracle VM VirtualBox, you can mix software and hardware virtualization when running multiple VMs. In certain cases a small performance penalty will be unavoidable when mixing VT-x and software virtualization VMs. We recommend not mixing virtualization modes if maximum performance and low overhead are essential. This does not apply to AMD-V.