Features
Portability
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. runs on a large number of 64-bit host operating systems. See .Do not run other hypervisors together with . While several hypervisors can normally be installed in parallel, do not attempt to run virtual machines from competing hypervisors at the same time. 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.
is available on multiple host platforms, and the same file and image formats are used on each. 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 (VM) on Windows and then run it on Linux.
In addition, VMs 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 .
OCI Integration
You can export and import VMs to and from . This simplifies development of applications and deployment to the production environment. See .
Guest Additions
The Guest Additions are software packages that can be installed on VMs to improve their performance and to provide additional integration and communication with the host system. VMs running Guest Additions support automatic adjustment of video resolutions, seamless windows, accelerated 3D graphics, shared folders, clipboard sharing, and more. See .
Virtual Hardware
implements virtual hardware devices and drivers, and implements resource sharing with the real hardware on the host.
-
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 devices. 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 .
-
ACPI. The Advanced Configuration and Power Interface (ACPI) is available in . 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 OSs 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. VMs 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).
VM Management
-
Multigeneration branched snapshots.
can save arbitrary snapshots of the state of the VM. You can go back in time and revert the VM to any such snapshot and start an alternative VM configuration from there, effectively creating a whole snapshot tree. This can be useful for experimenting with a computing environment, testing, or troubleshooting without the need for frequent backups and restores. See . You can create and delete snapshots while the VM 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, Power off), Discard Saved State, Show in File System, Sort.
Remote Access
The VirtualBox Remote Desktop Extension (VRDE) is a host extension package that enables high-performance remote access to any running VM. This extension supports the Remote Desktop Protocol (RDP) originally built into Windows, with special additions for full client USB support.
The VRDE does not rely on the Windows RDP server and therefore works with guest OSs other than Windows, even in text mode, and does not require application support in the VM. The VRDE is described in detail in Remote Display (VRDP Support).
-
also provides
-
Extensible RDP authentication.
already supports Winlogon on Windows and PAM on Linux and Oracle Solaris 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.
Modular Design and Interfaces
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.
The front ends available are:
-
, a graphical user interface that uses the Qt toolkit. This interface is described throughout this user guide. While this is the simplest and easiest front end to use, some of the more advanced features are not included.
-
, the command-line interface for automated and detailed control of every aspect of .
-
VBoxHeadless, the Remote Desktop Server. An interface that produces no visible output on the host at all, but can act as a RDP server if the VirtualBox Remote Desktop Extension (VRDE) is installed and enabled for the VM. As opposed to the graphical interfaces, the headless front end requires no graphics support. This is useful, for example, if you want to host your virtual machines on a headless Linux server that has no X Window system installed.
-
Separate Mode. A front end that is based on VBoxHeadless, but does not require VRDE or an RDP viewer.
also provides a comprehensive software development kit (SDK), that enables integration of with other software systems. See Programming Interfaces.
Experimental Features
Features listed as do not qualify for Oracle support. Feedback and suggestions about these features are welcome.