VirtualBox
| Company type | Software |
|---|---|
| Industry | Virtualization software |
| Predecessor | InnoTek VirtualBox, Sun VirtualBox |
| Founded | 2007 |
| Founder | InnoTek Systemberatung GmbH |
| Fate | Acquired by Sun Microsystems in 2008, then Oracle Corporation in 2010 |
| Headquarters | Weinstadt , Germany (original developer) |
Area served | Worldwide |
Key people | Oracle Corporation (current owner) |
| Products | VirtualBox virtualization software |
| Owner | Oracle Corporation |
| Website | www |
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 |
|
| ||
| 4.0 |
|
| ||
| 4.1 |
|
| ||
| 4.2 |
|
| ||
| 4.3 |
|
| ||
| 5.0 |
|
| ||
| 6.0 |
|
| ||
| 6.1 |
|
| ||
| 7.0 |
|
| ||
| 7.1 |
|
|
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
- Comparison of platform virtualization software
- VMware Workstation
- OS-level virtualization
- x86 virtualization
External links
- Articles with short description
- Redirects from moves
- Redirects from modifications
- Articles containing video clips
- Cross-platform free software
- Free emulation software
- Free software programmed in C++
- Free virtualization software
- Platform virtualization software
- Icon software
- Software derived from or incorporating Wine
- Software that uses Qt
- Sun Microsystems software
- Virtualization software for Linux
- Cloud infrastructure
- Oracle Cloud Services
- 2007 software
- Pages with reference errors