3.3. Hardware vs. Software Virtualization
Mục lục bài viết
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:
-
Intel and AMD processors have 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 and multiprocessing (SMP)
support both require hardware virtualization to be enabled.
This is not much of a limitation since the vast majority of
64-bit and multicore CPUs ship with hardware virtualization.
The exceptions to this rule are some legacy Intel and AMD
CPUs.
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.