Modularity.

VirtualBox has an extremely modular design with well-defined internal programming interfaces and a client/server design. This makes it easy to control it from several interfaces at once: for example, you can start a virtual machine in a typical virtual machine GUI and then control that machine from the command line, or possibly remotely. VirtualBox also comes with a full Software Development Kit: even though it is Open Source Software, you don't have to hack the source to write a new interface for VirtualBox.

Virtual machine descriptions in XML.

The configuration settings of virtual machines are stored entirely in XML and are independent of the local machines. Virtual machine definitions can therefore easily be ported to other computers.

Guest Additions for Windows, Linux and Solaris.

VirtualBox has special software that can be installed inside Windows, Linux and Solaris virtual machines to improve performance and make integration much more seamless. Among the features provided by these Guest Additions are mouse pointer integration and arbitrary screen solutions (e.g. by resizing the guest window). There are also guest additions for OS/2 with somewhat reduced functionality.

Shared folders.

Like many other virtualization solutions, for easy data exchange between hosts and guests, VirtualBox allows for declaring certain host directories as "shared folders", which can then be accessed from within virtual machines.

What's New:

This is a maintenance release. The following items were fixed and/or added:

  • User interface: fixed a segmentation fault when accessing the interface through VNC (bug #16348)
  • User interface: X11: handle repeating keys on the host system correctly (bug #1296, previously fixed, 5.1.0 regression)
  • VMM: Fixed emulation of the undocumented SALC instruction
  • VMM: Fixed emulation of so-called "huge unreal mode" (bug #17744); this in practice only affected Intel CPUs with VT-x without unrestricted execution.
  • Keyboard: The PS/2 keyboard emulation has been corrected to not queue partial scan code sequences (bug #17709); this problem was likely only visible on Linux hosts due to losing the fix for bug #1296
  • Storage: Fixed CUE file support to correct REM keyword parsing (bug #17783)
  • USB: Fixed a problem where the emulated xHCI device under very rare circumstances failed to report an empty isochronous transfer ring error, causing the transfers on the corresponding endpoint to stop.
  • Audio: fixed Linux kernel log flooding (bug #17759)
  • Apple hosts: make kernel driver load with Mac OS Mojave pre-release (bug #17805).
  • Linux guests: made vboxvideo driver build with kernel 4.17 (bug #17801) and with pre-3.14 and EL 7.1 kernels (bug #17771)