-
Portability.
runs on a large number of 64-bit host operating systems. See
.
is a so-called hosted
hypervisor, sometimes referred to as a type
2 hypervisor. Whereas a
bare-metal or type 1
hypervisor runs directly on the hardware,
requires an existing OS to be installed. It can thus run
alongside existing applications on that host.
To a very large degree, is functionally
identical on all of the host platforms, and the same file and
image formats are used. This enables you to run virtual
machines created on one host on another host with a different
host OS. For example, you can create a virtual machine on
Windows and then run it on Linux.
In addition, virtual machines can easily be imported and
exported using the Open Virtualization Format (OVF), an
industry standard created for this purpose. You can even
import OVFs that were created with a different virtualization
software. See .
For users of the functionality extends to exporting and
importing virtual machines to and from the cloud. This
simplifies development of applications and deployment to the
production environment. See
.
-
Guest Additions: shared folders,
seamless windows, 3D virtualization. The
Guest Additions are software packages which can
be installed inside of supported guest
systems to improve their performance and to provide additional
integration and communication with the host system. After
installing the Guest Additions, a virtual machine will support
automatic adjustment of video resolutions, seamless windows,
accelerated 3D graphics and more. See
.
In particular, Guest Additions provide for shared
folders, which let you access files on the host
system from within a guest machine. See
.
-
Comprehensive hardware
support. Among other features,
supports the following:
-
Guest multiprocessing
(SMP). can present up to 32
virtual CPUs to each virtual machine, irrespective of how
many CPU cores are physically present on your host.
-
USB device support.
implements a virtual USB controller and
enables you to connect arbitrary USB devices to your
virtual machines without having to install device-specific
drivers on the host. USB support is not limited to certain
device categories. See .
-
Hardware compatibility.
virtualizes a vast array of
virtual devices, among them many devices that are typically provided by other
virtualization platforms. That includes IDE, SCSI, and SATA hard disk controllers,
several virtual network cards and sound cards, virtual serial ports and an
Input/Output Advanced Programmable Interrupt Controller (I/O APIC), which is found in
many computer systems. This enables easy cloning of disk images from real machines and
importing of third-party virtual machines into .
-
Full ACPI support. The
Advanced Configuration and Power Interface (ACPI) is fully
supported by . This enables easy cloning of
disk images from real machines or third-party virtual
machines into . With its unique
ACPI power status support,
can even report to ACPI-aware guest OSes
the power status of the host. For mobile systems running
on battery, the guest can thus enable energy saving and
notify the user of the remaining power, for example in
full screen modes.
-
Multiscreen resolutions.
virtual machines support screen resolutions
many times that of a physical screen, allowing them to be
spread over a large number of screens attached to the host
system.
-
Built-in iSCSI support.
This unique feature enables you to connect a virtual
machine directly to an iSCSI storage server without going
through the host system. The VM accesses the iSCSI target
directly without the extra overhead that is required for
virtualizing hard disks in container files. See
.
-
PXE Network boot. The
integrated virtual network cards of fully
support remote booting using the Preboot Execution
Environment (PXE).
-
Multigeneration branched
snapshots. can save arbitrary
snapshots of the state of the virtual machine. You can go back
in time and revert the virtual machine to any such snapshot
and start an alternative VM configuration from there,
effectively creating a whole snapshot tree. See
. You can create and delete
snapshots while the virtual machine is running.
-
VM groups.
provides a groups feature that enables the user to organize
and control virtual machines collectively, as well as
individually. In addition to basic groups, it is also possible
for any VM to be in more than one group, and for groups to be
nested in a hierarchy. This means you can have groups of
groups. In general, the operations that can be performed on
groups are the same as those that can be applied to individual
VMs: Start, Pause, Reset, Close (Save state, Send Shutdown,
Poweroff), Discard Saved State, Show in File System, Sort.
-
Clean architecture and unprecedented
modularity. has an extremely modular
design with well-defined internal programming interfaces and a
clean separation of client and server code. This makes it easy
to control it from several interfaces at once. For example,
you can start a VM simply by clicking on a button in the
graphical user interface and then control that
machine from the command line, or even remotely. See
.
Due to its modular architecture, can also
expose its full functionality and configurability through a
comprehensive software development kit
(SDK), which enables integration of
with other software systems. See
Programming Interfaces.
-
Remote machine display. The
VirtualBox Remote Desktop Extension (VRDE) enables
high-performance remote access to any running virtual machine.
This extension supports the Remote Desktop Protocol (RDP)
originally built into Microsoft Windows, with special
additions for full client USB support.
The VRDE does not rely on the RDP server that is built into
Microsoft Windows. Instead, the VRDE is plugged directly into
the virtualization layer. As a result, it works with guest
OSes other than Windows, even in text mode, and does not
require application support in the virtual machine either. The
VRDE is described in detail in Remote Display (VRDP Support).
On top of this special capacity, offers you
more unique features:
-
Extensible RDP
authentication. already supports
Winlogon on Windows and PAM on Linux for RDP
authentication. In addition, it includes an easy-to-use
SDK which enables you to create arbitrary interfaces for
other methods of authentication. See
RDP Authentication.
-
USB over RDP. Using RDP
virtual channel support, also enables you
to connect arbitrary USB devices locally to a virtual
machine which is running remotely on an RDP
server. See Remote USB.