Jump to content

VirtualBox

From Alfawiki
Oracle VirtualBox
Company typeSoftware
IndustryVirtualization software
PredecessorInnoTek VirtualBox, Sun VirtualBox
Founded2007; 19 years ago (2007)
FounderInnoTek Systemberatung GmbH
FateAcquired by Sun Microsystems in 2008, then Oracle Corporation in 2010
Headquarters
Weinstadt
,
Germany (original developer)
Area served
Worldwide
Key people
Oracle Corporation (current owner)
ProductsVirtualBox virtualization software
OwnerOracle Corporation
Websitewww.virtualbox.org

Oracle VirtualBox—previously known as Sun VirtualBox, Sun xVM VirtualBox, and InnoTek VirtualBox—is a hosted hypervisor designed for x86 virtualization and developed by Oracle Corporation. Initially created by InnoTek Systemberatung GmbH, the software was acquired by Sun Microsystems in 2008 and subsequently by Oracle in 2010.

VirtualBox is compatible with installation on Microsoft Windows, macOS, Linux, Solaris, and OpenSolaris, with additional ports available for FreeBSD and Genode. It facilitates the creation and management of guest virtual machines running various operating systems including Windows, Linux, BSD, OS/2, Solaris, Haiku, and OSx86, alongside limited macOS virtualization on Apple hardware. For certain guest systems, a "Guest Additions" package—comprising drivers and system utilities—enhances performance, particularly graphics capabilities, and enables automatic screen resolution adjustments when resizing the VM window.

Distributed under the GNU General Public License with optional components licensed under the CDDL, VirtualBox is free and open-source software. Its Extension Pack, however, is proprietary and available at no cost solely for personal use. The licensing terms were updated to GPLv3 with linking exceptions to accommodate CDDL and other licenses incompatible with GPL.

History

Originally developed by InnoTek Systemberatung GmbH, a German firm headquartered in Weinstadt, VirtualBox was initially released under a proprietary license that offered a free version for personal or evaluation purposes under the VirtualBox Personal Use and Evaluation License (PUEL). In January 2007, following recommendations from the LiSoG, InnoTek introduced the VirtualBox Open Source Edition (OSE) under the GNU General Public License (GPL) version 2.

InnoTek contributed virtualization enhancements for both OS/2 and Linux platforms and created critical "additions" code utilized in Windows Virtual PC and Microsoft Virtual Server, improving integration features between host and guest operating systems such as shared clipboards and dynamic adjustment of viewport size.

In February 2008, Sun Microsystems acquired InnoTek, broadening Sun’s virtualization product suite. Following Oracle Corporation’s acquisition of Sun Microsystems in January 2010, the software was rebranded as "Oracle VM VirtualBox," becoming part of Oracle’s enterprise virtualization solutions.

By December 2019, VirtualBox ceased support for software-based virtualization methods, transitioning exclusively to hardware-assisted virtualization to enhance both performance and stability.

Release history

Version Release date Key features
3.2
  1. REDIRECT Template:Date table sorting
  • Introduced experimental support for Mac OS X Server guests
  • Memory ballooning added (excluding Solaris hosts)
  • RAM deduplication (Page Fusion) implemented for Windows guests on 64-bit hosts
  • CPU hot-plugging enabled for Linux and certain Windows guests
  • Ability to delete snapshots while VM is running
  • Multi-monitor guest configurations supported in GUI for Windows guests
  • Emulation of LSI Logic SAS controller
  • RDP video acceleration provided via non-free extension
  • Host control over guest applications facilitating automated deployments
4.0
  1. REDIRECT Template:Date table sorting
  • Transitioned core product to open source with proprietary extension pack; installers, documentation, drivers made open source
  • Added Intel HD audio codec and ICH9 chipset emulation
  • New VM storage architecture consolidating data for easier portability
  • User interface improvements including VM preview and scale mode
  • Support for VMs using over 1.5 GB RAM on 32-bit hosts
  • OVA format support introduced alongside OVF
  • Per-VM CPU and I/O bandwidth limiting capabilities
  • Apple DMG image support for DVDs added
  • Extended multi-monitor guest support to Linux/Solaris guests
  • Enabled resizing of Oracle VDI and Microsoft VHD disk images
4.1
  1. REDIRECT Template:Date table sorting
  • Introduced experimental support for Windows Aero interface
  • Added virtual machine cloning functionality
4.2
  1. REDIRECT Template:Date table sorting
  • VM groups introduced for consolidated management of power states and snapshots
  • Some VM settings became adjustable during runtime
  • Support increased up to 36 network interface cards using ICH9 chipset
  • Network I/O bandwidth limiting implemented
  • Enabled automatic VM startup on host boot (except on Windows)
4.3
  1. REDIRECT Template:Date table sorting
  • Added video capture capability within VMs
  • GUI support extended to host touch devices and USB virtualization
5.0
  1. REDIRECT Template:Date table sorting
  • Paravirtualization support introduced for Windows/Linux guests enhancing performance and timekeeping accuracy
  • USB3 controller based on Intel hardware added; supports Windows 8+, Linux kernel 2.6.31+, Mac OS X 10.7.4+
  • Bidirectional drag-and-drop enabled for Windows, Linux, Solaris guests
  • Disk image encryption via proprietary extension pack introduced
  • VM output scaling with HiDPI display support
  • SATA hotplugging accessible through GUI
  • USB traffic capture functionality included
  • Background execution of VMs detached from GUI
  • Support added for AVX, AVX-2, AES-NI, SSE 4.1/4.2 instructions when supported by host CPU
6.0
  1. REDIRECT Template:Date table sorting
  • Exporting virtual machines directly to Oracle Cloud introduced
  • Guest file system file manager enabling seamless file transfers
  • VMSVGA GPU driver provided for Linux hosts
  • Surround sound speaker configuration support added
  • Hardware-assisted nested virtualization enabled on AMD CPUs
6.1
  1. REDIRECT Template:Date table sorting
  • Importing virtual machines from Oracle Cloud supported
  • Nested virtualization extended to Intel CPUs (Broadwell+); existing AMD CPU support maintained
  • Experimental drag-and-drop file transfer between Windows hosts/guests (disabled by default)
  • Virtio-scsi support added for disks and optical drives with boot capability
  • Hosts supporting up to 1024 CPUs accommodated
  • DXVA hardware-accelerated video decoding implemented for Windows guests
  • NVRAM support for EFI improving guest OS compatibility
  • Virtual software keyboard added for guest input
  • Guest CPU usage monitoring introduced
  • Discontinued software CPU virtualization; hardware virtualization now mandatory
  • PCI pass-through support dropped on Linux hosts
7.0
  1. REDIRECT Template:Date table sorting
  • Support added for Windows 11 guests including UEFI Secure Boot and TPM 1.2/2.0 emulation
  • Intel and AMD IOMMU emulation incorporated
  • Full virtual machine encryption via CLI introduced (previously limited to disk encryption)
  • 3D acceleration enhanced with DirectX 11 on Windows and DXVK on other platforms
  • Dark mode user interface implemented for Windows hosts
  • Experimental support added for Apple ARM64 hosts
7.1
  1. REDIRECT Template:Date table sorting
  • IPv6 NAT functionality introduced
  • ARM virtualization enabled on macOS hosts supporting Linux and BSD virtual machines
  • Clipboard sharing activated for Wayland protocol environments


Licensing

Beginning with version 4, released in December 2010, the main VirtualBox package is distributed as free software under the GNU General Public License version 2 (GPLv2). Alongside this, Oracle offers a proprietary add-on known as the "VirtualBox Oracle VM VirtualBox extension pack," which provides functionality for USB 2.0/3.0 devices, Remote Desktop Protocol (RDP), disk encryption, NVMe, and PXE. This extension pack contains closed-source elements and is governed by the Personal Use and Evaluation License (PUEL), permitting cost-free usage for personal, educational, and evaluation scenarios. Since version 5.1.30, Oracle has imposed restrictions on commercial use of the extension pack, defining personal use as installation on a single non-commercial machine.

Prior to version 4, VirtualBox was available in two editions: a comprehensive PUEL-licensed version with commercial licensing options from Oracle, and an Open Source Edition (OSE) distributed under GPLv2 that excluded proprietary features.

From version 4.2 onward, compiling VirtualBox’s BIOS necessitates the use of the Open Watcom compiler, which is licensed under the Sybase Open Watcom Public License. Although the Open Source Initiative recognizes this license as "Open Source," it does not meet the criteria for free software according to the Free Software Foundation or Debian standards.

VirtualBox offers experimental capabilities to run macOS guests; however, Apple's end user license agreement restricts macOS usage exclusively to Apple hardware. This limitation is enforced through Apple's System Management Controller (SMC), embedded in all Apple devices.

Virtualization

VirtualBox allows multiple guest operating systems to operate concurrently on a single host OS, with each guest running independently within its own virtual machine (VM). Users can tailor each VM's configuration and select between software virtualization or hardware-assisted virtualization, provided the host hardware supports it. Communication between host and guest OSs is facilitated through shared clipboards and virtual networks, while guest VMs can interact directly when appropriately configured.

Hardware-assisted

Support for hardware-assisted virtualization includes Intel's VT-x and AMD's AMD-V, enabling each VM to execute in isolated address spaces with guest OS ring 0 code running at ring 0 within VMX non-root mode.

Since version 6.1, VirtualBox mandates hardware-assisted virtualization exclusively. Earlier versions required this feature for certain guests such as 64-bit systems, SMP configurations, or proprietary operating systems.

Devices and peripherals

VirtualBox emulates virtual hard drives using its native VDI format alongside compatibility with VMware's VMDK and Microsoft's VHD, facilitating interoperability with various hypervisors. It supports connections to iSCSI targets and raw host partitions as virtual disks. Available controller types include IDE, SCSI, SATA, and SAS.

Since release 2.2.0, VirtualBox has incorporated support for the Open Virtualization Format (OVF).

Both virtual CD/DVD drives can mount either ISO image files or physical optical devices from the host system, enabling operation from live media environments.

Graphics are handled by a custom virtual graphics adapter compatible with VBE or UEFI GOP. The Guest Additions package enhances graphical performance and features such as dynamic resolution resizing and desktop composition via virtualized WDDM drivers.

VirtualBox emulates multiple Ethernet network adapters:

  • AMD PCnet PCI II (Am79C970A)
  • AMD PCnet-Fast III (Am79C973)
  • Intel Pro/1000 MT Desktop (82540EM)
  • Intel Pro/1000 MT Server (82545EM)
  • Intel Pro/1000 T Server (82543GC)
  • Paravirtualized network adapter (virtio-net)

These virtual adapters enable most guest operating systems to function without additional networking drivers. The paravirtualized adapter boosts network throughput but requires driver support within the guest OS; this is typically included in Linux distributions. By default, networking uses NAT suitable for applications like web browsers and SSH; bridged and internal networking modes are also available. Up to 36 network adapters can be attached per VM, with four configurable through the graphical interface.

For audio functionality, VirtualBox simulates Intel HD Audio, Intel ICH AC'97, and SoundBlaster 16 sound cards.

USB passthrough is handled via an emulated USB 1.1 controller allowing devices from the host to be accessed by the guest. The proprietary extension pack extends this capability to USB 2.0/3.0 devices and permits USB device usage over RDP when VirtualBox operates as an RDP server—subject to client support for this specific VirtualBox extension.

Virtualization without hardware support

Before the release of version 6.1, VirtualBox (up to 6.0.24) provided virtualization purely through software, without relying on hardware virtualization features. This approach permitted 32-bit guest operating systems to operate within Intel rings 0 and 3.

  • Typically, guest OS kernel code executes in ring 0; however, VirtualBox relocated this code to ring 1 on the host system. Since many privileged instructions are not permitted in ring 1, VirtualBox utilized a Code Scanning and Analysis Manager (CSAM) to detect such instructions, and a Patch Manager (PATM) to replace them with secure alternatives stored in the hypervisor's memory.
  • Guest user-level processes ran directly on the host’s ring 3.

Both CSAM and PATM dynamically monitored and modified instructions during execution to handle faults. Moreover, VirtualBox integrated a dynamic recompiler derived from QEMU to fully recompile BIOS routines, DOS guests, or operating system initialization code.

This software-only virtualization strategy enabled VirtualBox to deliver performance levels comparable to VMware's subsequent releases.

Starting with version 6.1, VirtualBox discontinued support for software-based virtualization.

Capabilities

  • Snapshots capturing RAM and storage states for easy rollback
  • Ability to capture screenshots and record screen video
  • "Host key" function to release keyboard and mouse control from guest back to host; default keys are right Ctrl on Windows/Linux and left Command on Mac
  • Mouse pointer integration allowing smooth cursor movement across host and guest environments
  • Seamless mode facilitating execution of virtual applications alongside native desktop programs
  • Shared clipboard and folder functionality via "guest additions"
  • Specialized drivers and utilities enhancing host-guest interaction
  • Adjustable allocations for shared RAM, video memory, and CPU usage limits
  • Support for multiple virtual monitors
  • Both graphical user interface and command-line management tools
  • Public APIs available in Java, Python, SOAP, and XPCOM for VM configuration and management
  • Nested paging support compatible with AMD-V and Intel VT processors featuring Second Level Address Translation (SLAT)
  • Limited 3D acceleration supporting OpenGL up to version 2.x and Direct3D 9.0c through Wine or DXVK layers
  • Symmetric multiprocessing with support for up to 32 virtual CPUs since version 3.0
  • Live migration capabilities known as teleportation
  • Accelerated 2D video output introduced in version 3.1
  • EFI firmware support starting from version 3.1 (note: Windows 7 guests are not supported under EFI)

Storage virtualization

  • Capability to mount virtual hard disk drives and disk image files, including virtual optical disc images for booting or file sharing without requiring network access.
  • Support for NCQ across SATA, SCSI, and SAS raw disks as well as partitions.
  • Hotplugging (hot swapping) of SATA disks along with pass-through modes for solid-state drives and CD/DVD/BD drives, enabling use cases such as audio CD playback, optical disc burning, and encrypted DVD viewing.
  • Options available to disable the host OS’s I/O cache and restrict IO bandwidth.
  • Compatibility with multiple controller types including PATA, SATA, SCSI, SAS, iSCSI, and floppy disk controllers.
  • Encryption of virtual machine disk images using AES128 or AES256 standards.

Supported storage formats encompass:

  • Direct raw access to physical partitions on hard drives.
  • VMware's Virtual Machine Disk (VMDK) format for cross-platform compatibility.
  • Microsoft’s VHD format support.
  • QEMU disk formats such as qed and qcow.
  • Parallels HDD disk format (limited to version 2).

Limitations

  • Support for 3D graphics acceleration in Windows guests prior to Windows 7 was discontinued starting with version 6.1, affecting users of Windows XP and Vista.
  • USB 2.0 devices experience limited data transfer speeds; enabling USB 3.0 pass-through on older guest systems such as Windows XP and Vista demands experimental controller support and manual configuration adjustments.
  • Integration features are restricted for macOS guests due to the absence of Guest Additions.
  • Native Guest Additions do not exist for Windows 9x versions (95/98/ME), leading to subpar graphics performance; however, third-party tools can enhance color depth and improve performance.
  • EFI support remains partial, with certain guests like Windows 7 lacking EFI boot capability.
  • Only legacy versions of DirectX and OpenGL are supported through 3D Acceleration options.
  • Video RAM is limited to a maximum of 128 MiB (increasing to 256 MiB when 2D acceleration is enabled) due to technical restrictions; attempts at manual overrides frequently result in errors.
  • Due to outdated code, Windows 9x systems fail to install or operate reliably on modern CPUs equipped with hardware virtualization; an open-source patch exists to resolve these CPU compatibility challenges.
  • Running unmodified Windows 11 guests requires VirtualBox version 7.0 or newer, with comprehensive support starting from version 7.0.14.

Host OS

The following operating systems are supported as hosts:[1][2]

  • Windows 10 (64-bit) and later versions. VirtualBox introduced support for 64-bit Windows beginning with version 1.5; support for 32-bit Windows was discontinued in version 6.0.
    • Support for Windows 2000 concluded with version 1.6.
    • Windows XP support was dropped as of version 5.0.
    • Support for Windows Vista ended in version 5.2.
    • Windows 7 (64-bit) support ceased with version 6.1.
    • Support for Windows 8 (64-bit) ended in version 7.0.
    • Windows 8.1 (64-bit) support was discontinued starting with version 7.1.
  • Windows Server editions:
    • Support for Windows Server 2003 was removed in version 5.0.
    • Windows Server 2008 support ended in version 6.0.
    • Support for Windows Server 2008 R2 was dropped as of version 7.0.
    • Windows Server 2012 and 2016 were supported until version 7.1.
  • Various Linux distributions
  • macOS versions from Big Sur (11) through Sonoma (14), compatible with both ARM and Intel processors:
    • Beta support for Mac OS X commenced with VirtualBox version 1.4; full compatibility achieved by version 1.6.
    • Versions earlier than Mac OS X Tiger (10.4) lost support starting with version 3.1.
    • Mac OS X Leopard (10.5) support ended in version 4.2.
    • Snow Leopard (10.6) and Lion (10.7) were supported until version 5.0.
    • Mountain Lion (10.8) support ceased with version 5.1.
    • Mavericks (10.9) lost support starting from version 5.2.
    • Yosemite (10.10) and El Capitan (10.11) were supported until version 6.0.
    • Sierra (10.12) was officially dropped in version 6.1, though some functionality remained until version 6.1.16.
    • High Sierra (10.13) and Mojave (10.14) support ended at version 7.0.
    • Catalina (10.15) lost support beginning with version 7.1.
  • Oracle Solaris

Guest additions

Installation of the proprietary "VirtualBox Extension Pack" is necessary to access certain enhanced capabilities:

  • Virtual USB controllers supporting USB 2.0/3.0 standards (EHCI/xHCI), which have been integrated into the GPL edition since VirtualBox version 7.0
  • Remote Desktop Protocol (RDP) functionality compatible with Microsoft's proprietary remote connection standard
  • PXE boot support specifically for Intel network adapters
  • Encryption of virtual machine disk images
  • Webcam device integration

Although VirtualBox itself is open source and free, the Extension Pack is distributed under the VirtualBox Personal Use and Evaluation License (PUEL). This license permits free use for personal purposes but mandates a commercial license for business deployments.

Guest Additions must be installed inside each guest operating system, whereas the Extension Pack is installed on the host machine running VirtualBox.

See also

External links

  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named hKp2Y
  2. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Oracle VM VirtualBox User Manual 6.1