Recent from talks
Contribute something
Nothing was collected or created yet.
VirtualBox
View on Wikipedia| VirtualBox | |
|---|---|
VirtualBox logo since 2024 | |
VirtualBox running on Ubuntu | |
| Original authors | InnoTek Systemberatung GmbH (2007–2008) Sun Microsystems (2008–2010) |
| Developer | Oracle Corporation |
| Initial release | 15 January 2007 |
| Stable release | 7.2.4[1] |
| Repository | |
| Written in | C, C++, x86 Assembly, Python |
| Operating system | Windows, macOS, Linux and Solaris[2] |
| Platform | x86-64, Apple silicon ARM64 since version 7.1 (version series 5.x and earlier work on IA-32)[3] |
| Type | Hypervisor |
| License |
|
| Website | www |
Oracle VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and InnoTek VirtualBox) is a hosted hypervisor for x86 and ARM virtualization developed by Oracle Corporation. VirtualBox was originally created by InnoTek Systemberatung GmbH, which was acquired by Sun Microsystems in 2008, which was in turn acquired by Oracle in 2010.
VirtualBox may be installed on Microsoft Windows, macOS, Linux, Solaris and OpenSolaris. There are also ports to FreeBSD[5] and Genode.[6] It supports the creation and management of guest virtual machines running Windows, Linux, BSD, OS/2, Solaris, Haiku, and OSx86,[7] as well as limited virtualization of macOS guests on Apple hardware.[8][9] For some guest operating systems, a "Guest Additions" package of device drivers and system applications is available,[10][11] which typically improves performance, especially that of graphics, and allows changing the resolution of the guest OS automatically when the window of the virtual machine on the host OS is resized.
Released under the terms of the GNU General Public License and, optionally, the CDDL for most files of the source distribution, VirtualBox is free and open-source software, though the Extension Pack is proprietary software, free of charge only to personal users. The License to VirtualBox was relicensed to GPLv3 with linking exceptions to the CDDL and other GPL-incompatible licenses.[12]
History
[edit]

VirtualBox was first offered by InnoTek Systemberatung GmbH, a German company based in Weinstadt, under a proprietary software license, making one version of the product available at no cost for personal or evaluation use, subject to the VirtualBox Personal Use and Evaluation License (PUEL).[13] In January 2007, based on counsel by LiSoG, InnoTek released VirtualBox Open Source Edition (OSE) as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2.[14]
InnoTek also contributed to the development of OS/2 and Linux support in virtualization[15] and OS/2 ports[16] of products from Connectix which were later acquired by Microsoft. Specifically, InnoTek developed the "additions" code in both Windows Virtual PC and Microsoft Virtual Server, which enables various host–guest OS interactions like shared clipboards or dynamic viewport resizing.
Sun Microsystems acquired InnoTek in February 2008.[17][18][19]
Following the acquisition of Sun Microsystems by Oracle Corporation in January 2010, the product was re-branded as "Oracle VM VirtualBox".[20][21][22]
In December 2019, VirtualBox removed support for software-based virtualization and exclusively performs hardware-assisted virtualization.[23][2]
In August 2025, VirtualBox started fully supporting ARM virtualization.[24]
Release history
[edit]This section contains a list of miscellaneous information. (November 2021) |
| Version | Release date | Notable changes |
|---|---|---|
| 3.2 | May 19, 2010 |
|
| 4.0 | Dec 22, 2010 |
|
| 4.1 | Jul 19, 2011 |
|
| 4.2 | Sep 13, 2012 |
|
| 4.3 | Oct 15, 2013 |
|
| 5.0 | Jul 9, 2015 |
|
| 6.0 | Dec 18, 2018 |
|
| 6.1 | Dec 10, 2019 |
|
| 7.0 | Oct 10, 2022 |
|
| 7.1 | Sep 9, 2024 | |
| 7.2 | Aug 14, 2025 |
Licensing
[edit]The core package, since version 4 in December 2010, is free software under GNU General Public License version 2 (GPLv2). A supplementary package, under a proprietary license, adds support for USB 2.0 and 3.0 devices, Remote Desktop Protocol (RDP), disk encryption, NVMe, and Preboot Execution Environment (PXE). This package is called "VirtualBox Oracle VM VirtualBox extension pack". It includes closed-source components, so it is not source-available.[28] The license is called Personal Use and Evaluation License (PUEL). It allows gratis access for personal use, educational use, and evaluation.[29] Since VirtualBox version 5.1.30,[30] Oracle defines personal use as installation on a single computer for non-commercial purposes.[31]
Prior to version 4, there were two different packages of the VirtualBox software. The full package was offered gratis under the PUEL, with licenses for other commercial deployment purchasable from Oracle. A second package called the VirtualBox Open Source Edition (OSE) was released under GPLv2. This removed the same proprietary components not available under GPLv2.[31][28]
Since September 9, 2011,[32] building the BIOS for VirtualBox requires the Open Watcom compiler,[33] which is released under the Sybase Open Watcom Public License. The Open Source Initiative has approved this as "Open Source"[34] but the Free Software Foundation and the Debian Free Software Guidelines do not consider it "free".[33][35]
VirtualBox has experimental support for macOS guests. However, macOS's end user license agreement does not permit running on non-Apple hardware. The operating system enforces this by calling the Apple System Management Controller (SMC), to verify the hardware's authenticity. All Apple machines have an SMC.[36]
Virtualization
[edit]Users of VirtualBox can load multiple guest OSes under a single host operating-system (host OS). Each guest can be started, paused and stopped independently within its own virtual machine (VM). The user can independently configure each VM and run it under a choice of software-based virtualization or hardware assisted virtualization if the underlying host hardware supports this. The host OS and guest OSs and applications can communicate with each other through a number of mechanisms including a common clipboard and a virtualized network facility. Guest VMs can also directly communicate with each other if configured to do so.[37]
Hardware-assisted
[edit]VirtualBox supports both Intel's VT-x and AMD's AMD-V hardware-assisted virtualization. Making use of these facilities, VirtualBox can run each guest VM in its own separate address-space; the guest OS ring 0 code runs on the host at ring 0 in VMX non-root mode rather than in ring 1. [citation needed]
Starting with version 6.1, VirtualBox only supports this method.[23][2] Until then, VirtualBox specifically supported some guests (including 64-bit guests, SMP guests and certain proprietary OSs) only on hosts with hardware-assisted virtualization. [citation needed]
Devices and peripherals
[edit]
VirtualBox emulates hard disks in three formats: the native VDI (Virtual Disk Image),[38] VMware's VMDK, and Microsoft's VHD. It thus supports disks created by other hypervisor software. VirtualBox can also connect to iSCSI targets and to raw partitions on the host, using either as virtual hard disks. VirtualBox emulates IDE (PIIX4 and ICH6 controllers), SCSI, SATA (ICH8M controller), and SAS controllers, to which hard drives can be attached.
VirtualBox has supported Open Virtualization Format (OVF) since version 2.2.0 (April 2009).[39]
Both ISO images and physical devices connected to the host can be mounted as CD or DVD drives. VirtualBox supports running operating systems from live CDs and DVDs.
By default, VirtualBox provides graphics support through a custom virtual graphics-card that is VBE or UEFI GOP compatible. The Guest Additions for Windows, Linux, Solaris, OpenSolaris, and OS/2 guests include a special video-driver that increases video performance and includes additional features, such as automatically adjusting the guest resolution when resizing the VM window[40] and desktop composition via virtualized WDDM drivers.
For an Ethernet network adapter, VirtualBox virtualizes these Network Interface Cards:[41]
- 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)
The emulated network cards allow most guest OSs to run without the need to find and install drivers for networking hardware as they are shipped as part of the guest OS. A special paravirtualized network adapter is also available, which improves network performance by eliminating the need to match a specific hardware interface, but requires special driver support in the guest. (Many distributions of Linux ship with this driver included.) By default, VirtualBox uses NAT through which Internet software for end-users such as Firefox or ssh can operate. Bridged networking via a host network adapter or virtual networks between guests can also be configured. Up to 36 network adapters can be attached simultaneously, but only four are configurable through the graphical interface.
For a sound card, VirtualBox virtualizes Intel HD Audio, Intel ICH AC'97, and SoundBlaster 16 devices.[42]
A USB 1.1 controller is emulated, so that any USB devices attached to the host can be seen in the guest. The proprietary extension pack adds a USB 2.0 or USB 3.0 controller and, if VirtualBox acts as an RDP server, it can also use USB devices on the remote RDP client, as if they were connected to the host, although only if the client supports this VirtualBox-specific extension (Oracle provides clients for Solaris, Linux, and Sun Ray thin clients that can do this, and has promised support for other platforms in future versions).[43]
Software-based
[edit]In the absence of hardware-assisted virtualization, versions 6.0.24 and earlier of VirtualBox made use of a standard software-based virtualization approach. This mode supports 32-bit guest operating systems which run in rings 0 and 3 of the Intel ring architecture.
- The system reconfigures the guest OS code, which would normally run in ring 0, to execute in ring 1 on the host hardware. Because this code contains many privileged instructions which cannot run natively in ring 1, VirtualBox employs a Code Scanning and Analysis Manager (CSAM) to scan the ring 0 code recursively before its first execution to identify problematic instructions and then calls the Patch Manager (PATM) to perform in-situ patching. This replaces the instruction with a jump to a VM-safe equivalent compiled code fragment in hypervisor memory.
- The guest user-mode code, running in ring 3, generally runs directly on the host hardware in ring 3.
In both cases, VirtualBox uses CSAM and PATM to inspect and patch the offending instructions whenever a fault occurs. VirtualBox also contains a dynamic recompiler, based on QEMU to recompile any real mode or protected mode code entirely (e.g. BIOS code, a DOS guest, or any operating system startup).[44]
Using these techniques, VirtualBox could achieve performance comparable to that of VMware in its later versions.[45][46]
The feature was dropped starting with VirtualBox 6.1.[23][2]
Features
[edit]- Snapshots of the RAM and storage that allow reverting to a prior state.
- Screenshots and screen video capture
- "Host key" for releasing the keyboard and mouse cursor to the host system if captured (coupled) to the guest system, and for keyboard shortcuts to features such as configuration, restarting, and screenshot. By default, it is the right-side Ctrl key, or on Mac, the left ⌘ Command key.[47][48]
- Mouse pointer integration, meaning automatic coupling and uncoupling of mouse cursor when moved inside and outside the virtual screen, if supported by guest operating system.
- Seamless mode – the ability to run virtualized applications side by side with normal desktop applications
- Shared clipboard
- Shared folders through "guest additions" software[49]
- Special drivers and utilities to facilitate switching between systems
- Ability to specify amount of shared RAM, video memory, and CPU execution cap
- Ability to emulate multiple screens[50]
- Command line interaction (in addition to the GUI)
- Public API (Java, Python, SOAP, XPCOM) to control VM configuration and execution[51]
- Nested paging for AMD-V and Intel VT (only for processors supporting SLAT and with SLAT enabled)
- Limited support for 3D graphics acceleration (including OpenGL up to (but not including) 3.0 and Direct3D 9.0c via Wine's Direct3D to OpenGL translation in versions prior to 7.0 or DXVK in later releases)
- SMP support (up to 32 virtual CPUs per virtual machine), since version 3.0
- Teleportation (aka Live Migration)
- 2D video output acceleration (not to be mistaken with video decoding acceleration), since version 3.1
- EFI has been supported since version 3.1 (Windows 7[52][53] guests are not supported)[54]
Storage emulation
[edit]- Ability to mount virtual hard disk drives and disk images. Virtual optical disc images can be used for booting and sharing files to guest systems lacking networking support.
- NCQ support for SATA, SCSI and SAS raw disks and partitions
- SATA disk hotplugging
- Pass-through mode for solid-state drives
- Pass-through mode for CD/DVD/BD drives – allows users to play audio CDs, burn optical disks, and play encrypted DVD discs
- Can disable host OS I/O cache
- Allows limitation of IO bandwidth
- PATA, SATA, NVMe, SCSI, SAS, iSCSI, floppy disk controllers
- VM disk image encryption using AES128/AES256
Storage support includes:
- Raw hard disk access – allows physical hard disk partitions on the host system to appear in the guest system
- VMware Virtual Machine Disk (VMDK) format support – allows exchange of disk images with VMware
- Microsoft VHD support
- QEMU qed and qcow disks
- HDD format disks (only version 2; versions 3 and 4 are not supported) used by Parallels virtualization products
Limitations
[edit]- 3D graphics acceleration for Windows guests earlier than Windows Vista[55] was removed in version 6.1.[56]
- VirtualBox has a very low transfer rate to and from USB2 devices.[57][58]
- For USB3 equipment, device pass-through does not work in older guest OSes, such as Windows Vista and Windows XP, which lack appropriate drivers. However, since version 5.0, VirtualBox has added an experimental USB3 controller (the Renesas uPD720201 xHCI), which enables USB3 in these operating systems. This requires editing some configuration files.[59][60]
- Guest Additions for macOS are unavailable at this time.[61]
- Native Guest Additions for Windows 9x (Windows 95, 98 and ME) are not available. This results in poor performance due to the lack of graphics acceleration with the default limited color depth. External third-party software is available[62][63][64] to enable support for 32-bit color mode, resulting in better performance.[65][66][67]
- EFI support is incomplete, e.g. EFI boot for a Windows 7 guest is not supported.[61][54]
- Only older versions of DirectX and OpenGL pass-through are supported (the feature can be enabled using the 3D Acceleration option for each VM individually).[68]
- Video RAM is limited to 128 MiB (256 MiB with 2D Video Acceleration enabled) due to technical difficulties[69] (merely changing the GUI to allow the user to allocate more video RAM to a VM or manually editing the configuration file of a VM won't work and will result in a fatal error[69]).
- Windows 95/98/98SE/ME cannot be installed or work unreliably with modern CPUs (AMD Zen and newer; Intel Tiger Lake and newer) and hardware assisted virtualization (VirtualBox 6.1 and higher). This is due to these OSes not being coded correctly.[70][71][72] An open source patch has been developed to fix the issue which also addresses Windows 95/98/98SE bug which makes the system crash when running on new fast CPUs.[73]
- VirtualBox 7.0 [74] and later is required to run a pristine Windows 11 guest.[75] Full compatibility with Windows 11 is achieved in VirtualBox version 7.0.14 and higher.
- The provided NVMe controller doesn't support Windows guests.[76]
Host OS
[edit]The supported operating systems include:[77]
- Windows 10 64-bit and higher. Support for 64-bit Windows was added with VirtualBox 1.5. Support for 32-bit Windows was removed in 6.0.
- Support for Windows 2000 was removed in version 1.6.[78][79]
- Support for Windows XP was removed in version 5.0.[80][81]
- Support for Windows Vista was removed in version 5.2.
- Support for Windows 7 (64-bit) was removed in version 6.1.
- Support for Windows 8 (64-bit) was removed in version 7.0.[82][83]
- Support for Windows 8.1 (64-bit) was removed in version 7.1.[84]
- Windows Server 2019 and higher.
- Linux distributions
- macOS from version 11 (Big Sur) to 14 (Sonoma) both ARM and Intel versions:
- Preliminary Mac OS X support (beta stage) was added with VirtualBox 1.4, full support with 1.6.
- Support for Mac OS X 10.4 (Tiger) and earlier was removed with VirtualBox 3.1.[85][86]
- Support for Mac OS X 10.5 (Leopard) was removed with VirtualBox 4.2.[87][88]
- Support for Mac OS X 10.6 (Snow Leopard) and 10.7 (Lion) was removed with VirtualBox 5.0.[80][81]
- Support for Mac OS X 10.8 (Mountain Lion) was removed with VirtualBox 5.1.[89][90]
- Support for Mac OS X 10.9 (Mavericks) was removed with VirtualBox 5.2.[91]
- Support for Mac OS X 10.10 (Yosemite) and OS X 10.11 (El Capitan) was removed with VirtualBox 6.0.
- Support for macOS 10.12 (Sierra) was officially removed with VirtualBox 6.1 (as of 6.1.16 it will still install and run, however).[77]
- Support for macOS 10.13 (High Sierra) and macOS 10.14 (Mojave) was officially removed with VirtualBox 7.0.[82][83]
- Support for macOS 10.15 (Catalina) was officially removed with VirtualBox 7.1.[84]
- Oracle Solaris
Guest additions
[edit]Some features require the installation of the closed-source "VirtualBox Extension Pack":[2]
- Support for a virtual USB 2.0/3.0 controller (EHCI/xHCI) (Starting with VirtualBox 7.0, this functionality was integrated into the GPL version instead.[74])
- VirtualBox RDP: support for the proprietary remote connection protocol developed by Microsoft and Citrix Systems.
- PXE boot for Intel cards.
- VM disk image encryption
- Webcam support[92]
While VirtualBox itself is free to use and is distributed under an open source license the VirtualBox Extension Pack is licensed under the VirtualBox Personal Use and Evaluation License (PUEL). Personal use of the extension pack is free but commercial users need to purchase a license.[93]
Guest Additions are installed within each guest virtual machine which supports them; the Extension Pack is installed on the host running VirtualBox.
See also
[edit]References
[edit]- ^ "VirtualBox 7.2.4 (released October 21 2025)". 21 October 2025. Retrieved 22 October 2025.
- ^ a b c d e "Downloads". Archived from the original on 2022-09-25. Retrieved 2012-02-02.
- ^ "Download VirtualBox". VirtualBox.org. Oracle. Archived from the original on 2022-09-25. Retrieved 2012-02-02.
- ^ "COPYING in vbox/trunk – Oracle VM VirtualBox". www.virtualbox.org. Archived from the original on 2023-01-11. Retrieved 2022-07-11.
- ^ "VirtualBox". Wiki.FreeBSD.org. 2009-06-16. Archived from the original on 2009-07-08. Retrieved 2009-07-04.
- ^ "Release Notes for the Genode OS Framework 14.02". Genode.org. Genode Labs. 28 February 2014. Archived from the original on 8 March 2014. Retrieved 19 March 2014.
- ^ "Guest_OSes". VirtualBox.org. 2009-06-12. Archived from the original on 2022-05-05. Retrieved 2009-07-04.
- ^ "How to Install Mac OS X Snow Leopard in VirtualBox on Windows 7". 10 July 2010. Archived from the original on 9 May 2012. Retrieved 8 May 2012.
- ^ Purdy, Kevin (4 May 2010). "VirtualBox 3.2 Beta Virtualizes Mac OS X (On Macs)". Lifehacker. Archived from the original on 7 May 2010. Retrieved 12 May 2010.
- ^ "Chapter 4: Guest Additions". VirtualBox. Archived from the original on 2018-06-26. Retrieved 2014-09-02.
- ^ "Oracle VM VirtualBox 4.3 Now Available" (Press release). Oracle Corporation. 2013-10-15. Archived from the original on 2014-10-12. Retrieved 2014-10-15.
- ^ "COPYING in vbox/trunk – Oracle VM VirtualBox". 2022-09-17. Archived from the original on 2022-09-17. Retrieved 2022-09-17.
- ^ "VirtualBox_PUEL". VirtualBox. 2008-09-10. Archived from the original on 2011-07-18. Retrieved 2009-07-04.
- ^ "GPL". VirtualBox. Archived from the original on 2018-06-21. Retrieved 2009-07-04.
- ^ Ong, Ronny. "Additions Version History". Newsgroup: microsoft.public.virtualpc. Archived from the original on 2012-11-10. Retrieved 2009-07-04.
- ^ "Connectix Announces First Virtual Computing Solution for OS/2 Users; Virtual PC Lets Enterprises Run OS/2 and Windows Concurrently on a Single PC | Business Wire | Find Articles at BNET". Findarticles.com. 2002-07-01. Archived from the original on 2012-07-11. Retrieved 2009-07-04.
- ^ "Sun Microsystems Announces Agreement to Acquire Innotek, Expanding Sun xVM Reach to the Developer Desktop" (Press release). Sun Microsystems. 12 February 2008. Archived from the original on 2008-02-13. Retrieved 2008-02-12.
- ^ "E-Commerce News: Business: Sun Gets Desktop Virtualization Chops With Innotek Buy". Ecommercetimes.com. Archived from the original on 2018-06-21. Retrieved 2009-07-04.
- ^ "Sun Welcomes Innotek". Sun Microsystems, Inc. Archived from the original on 2008-03-02. Retrieved 2008-02-26.
On February 20 Sun completed the acquisition of Innotek
- ^ "Oracle and Virtualization". Oracle Corporation. Archived from the original on 2011-07-24. Retrieved 2010-01-30.
- ^ "VirtualBox Joins Oracle's Enterprise Virtualization Portfolio". systemnews. 25 February 2010. Retrieved 6 March 2010.[dead link]
- ^ Hawley, Adam (26 February 2010). "The Oracle VM Product Line Welcomes Sun!". Oracle Virtualization Blog. Oracle Corporation. Archived from the original on 2010-04-07. Retrieved 6 March 2011.
- ^ a b c "Changelog-6.1". www.virtualbox.org. Archived from the original on 2023-01-11. Retrieved 2019-12-12.
- ^ a b "Changelog-7.2 – Oracle VirtualBox". www.virtualbox.org. Retrieved 2025-08-14.
- ^ "USB 3.0 Driver: Intel USB 3.0 eXtensible Host Controller Driver for Intel 7 Series/C216 Chipset Family". Archived from the original on 2023-01-11. Retrieved 2015-05-05.
- ^ "New separate GUI / VMM mode". Archived from the original on 2023-01-11. Retrieved 2015-04-02.
- ^ a b c d Proven, Liam (11 October 2022). "Oracle VirtualBox 7.0 released". The Register. Archived from the original on 2022-10-22. Retrieved 2022-10-22.
- ^ a b "Editions". VirtualBox. Archived from the original on 2009-06-27. Retrieved 2009-07-04.
- ^ "VirtualBox_PUEL". VirtualBox. 2010-04-19. Archived from the original on 2011-07-18. Retrieved 2011-04-20.
- ^ "PUEL no longer allowing commercial use with VB extension pack 5.1.30". forums.virtualbox.org. Archived from the original on 2018-06-20. Retrieved 2019-01-18.
- ^ a b "Licensing: Frequently Asked Questions". VirtualBox. Archived from the original on 2013-09-27. Retrieved 2017-11-28.
- ^ VirtualBox. "Converted system BIOS to Watcom C. · VirtualBox/virtualbox@9bf63cd". GitHub. Retrieved 2025-08-30.
- ^ a b "Copyright file of Virtualbox". Debian. 2016-01-26. Archived from the original on 2016-03-04. Retrieved 2016-07-24.
- ^ "Open Source Licenses by Category". Palo Alto, California: Open Source Initiative. 19 September 2006. Non-reusable licenses. Archived from the original on 2016-07-21. Retrieved 2016-07-24.
- ^ "Various Licenses and Comments about Them". Boston, Massachusetts: Free Software Foundation. Nonfree Software Licenses. Archived from the original on 2010-07-24. Retrieved 2016-07-24.
- ^ "Interview with Andy Hall, Product Manager for Oracle VM VirtualBox". Archived from the original on 2010-08-15. Retrieved 2010-08-12.
- ^ "Internal Networking". VirtualBox. Archived from the original on 2013-07-27. Retrieved 2013-07-31.
- ^ "Oracle® VM VirtualBox®". Archived from the original on 2013-08-13. Retrieved 2013-04-04.
- ^ "VirtualBox changelog". Archived from the original on 2010-02-05. Retrieved 2010-02-18.
- ^ "Chapter 4. Guest Additions". VirtualBox. Archived from the original on 2018-06-26. Retrieved 2011-01-17.
- ^ "Chapter 6. Virtual networking". VirtualBox. Archived from the original on 2013-07-27. Retrieved 2011-01-17.
- ^ "Chapter 3. Configuring Virtual Machines". VirtualBox. Archived from the original on 2010-12-30. Retrieved 2011-01-17.
- ^ "Chapter 7 Remote Virtual Machines". VirtualBox 4.1.4 Manual. Oracle. 2011-10-03. Archived from the original on 2011-11-20. Retrieved 2011-11-19.
- ^ "VirtualBox Manual, Section 10.4 Details about software virtualization". VirtualBox. Archived from the original on 2011-04-11. Retrieved 2011-04-25.
- ^ Dr. Diedrich, Oliver (2007-01-15). "VirtualBox". Heise.de. Archived from the original on 2007-12-10. Retrieved 2009-07-04.
- ^ Perlow, Jason (2010-05-21). "Virtualization Smackdown 2: Oracle VM VirtualBox 3.2 vs. VMware Workstation 7.1". ZDNET. Archived from the original on 2010-05-24. Retrieved 2010-05-24.
- ^ "Oracle VM VirtualBox User Manual". docs.oracle.com. Archived from the original on 2021-09-26. Retrieved 2021-10-31.
- ^ "Chapter 1. First Steps". www.virtualbox.org. Archived from the original on 2018-12-17. Retrieved 2021-10-31.
- ^ "Chapter 4. Guest Additions". www.virtualbox.org. Archived from the original on 2 December 2010. Retrieved 31 October 2021.
- ^ "Oracle VM VirtualBox User Manual". docs.oracle.com. Archived from the original on 2021-10-31. Retrieved 2021-10-31.
- ^ "Python API to the VirtualBox VM". Sun Microsystems. 2008-09-05. Archived from the original on 2008-09-10. Retrieved 2008-09-06.
- ^ "#7702 (UEFI support for Windows guests)". www.virtualbox.org. Archived from the original on 2019-01-11. Retrieved 2019-01-11.
- ^ "Chapter 3. Configuring Virtual Machines". www.virtualbox.org. Archived from the original on 2010-12-30. Retrieved 2019-01-11.
- ^ a b "Chapter 3. Configuring virtual machines". www.virtualbox.org. Archived from the original on 2010-12-30. Retrieved 2016-04-14.
- ^ "Chapter 3. Configuring Virtual Machines: Display Settings". Archived from the original on 2010-12-30. Retrieved 2020-07-27.
- ^ "Changelog for VirtualBox 6.1". Archived from the original on 2023-01-11. Retrieved 2019-12-12.
- ^ "#2973 (USB extremely slow with USB-2.0 (very similar to #464))". Oracle. Archived from the original on 6 October 2014. Retrieved 10 October 2014.
- ^ "#4261 (Slow transfer speeds from USB disk)". Oracle. Archived from the original on 6 October 2014. Retrieved 10 October 2014.
- ^ "USB 3.0 support in XP guests". forums.virtualbox.org. Archived from the original on 2019-07-12. Retrieved 2020-01-25.
- ^ "USB 3.0 support in XP guests". forums.virtualbox.org. Archived from the original on 2020-09-19. Retrieved 2020-01-25.
- ^ a b "Chapter 14. Known limitations". www.virtualbox.org. Archived from the original on 2017-03-29. Retrieved 2017-03-28.
- ^ "Unofficial Windows 98 Second Edition Service Pack". www.majorgeeks.com. Archived from the original on 2023-01-11. Retrieved 2017-03-28.
- ^ "98SE Option Pack". www.majorgeeks.com. Archived from the original on 2017-03-29. Retrieved 2017-03-28.
- ^ "Windows 9x Power Pack". www.majorgeeks.com. Archived from the original on 2023-01-11. Retrieved 2017-03-28.
- ^ "Tutorial: Windows 95/98 guest OSes". forums.virtualbox.org. Archived from the original on 2023-01-11. Retrieved 2017-03-28.
- ^ "Win98SE with ACPI — Success At Last!". forums.virtualbox.org. Archived from the original on 2023-01-11. Retrieved 2017-03-28.
- ^ "Windows 98SE step by step". forums.virtualbox.org. Archived from the original on 2017-03-29. Retrieved 2017-03-28.
- ^ "Chapter 4. Guest Additions". www.virtualbox.org. Archived from the original on 2018-06-26. Retrieved 2017-03-28.
- ^ a b "Reason behind the 256MB vram limit". forums.virtualbox.org. Archived from the original on 2018-01-30. Retrieved 2018-01-29.
- ^ "#19275 (Windows 98SE is not installable in VirtualBox 6.1.2 with a Ryzen 3000 CPU)". www.virtualbox.org. Archived from the original on 2020-10-22. Retrieved 2020-02-14.
- ^ Wong, Henry (2015-08-10). "TLB and Pagewalk Coherence in x86 Processors". Archived from the original on 2020-06-04. Retrieved 2020-06-04.
- ^ "Windows 9x TLB Invalidation Bug". 2015-08-10. Archived from the original on 2020-06-04. Retrieved 2020-06-04.
- ^ JHRobotics (2022-07-18), Patch for Windows 95/98/98 SE/Me to fix CPU issues, archived from the original on 2022-07-23, retrieved 2022-07-23
- ^ a b "Changelog-7.0". www.virtualbox.org. Archived from the original on 2022-11-06. Retrieved 2022-10-11.
- ^ "Windows 11 compatibility is being worked on". forums.virtualbox.org. Archived from the original on 2021-10-23. Retrieved 2021-10-23.
- ^ VirtualBox. "[Bug]: NVMe controller is still broken for Windows 10/11 guests · Issue #126 · VirtualBox/virtualbox". GitHub. Retrieved 2025-08-14.
- ^ a b "VirtualBox Manual: Chapter 1. First Steps". www.virtualbox.org. Archived from the original on 2018-12-17. Retrieved 2020-09-03. * "Oracle® VM VirtualBox User Manual for Release 6.1: Chapter 1. First Steps". www.virtualbox.org. Archived from the original on 2021-08-18. Retrieved 2020-11-13.
- ^ "Oracle VirtualBox User Manual Version 1.5.6" (PDF). Archived from the original (PDF) on 2008-04-13. Retrieved 2024-09-15.
- ^ "Oracle VirtualBox User Manual Version 1.6.0" (PDF). Archived from the original (PDF) on 2008-05-17. Retrieved 2024-09-15.
- ^ a b c "Oracle VirtualBox User Manual Version 4.3.40" (PDF). Retrieved 2023-11-10.
- ^ a b c "Oracle VirtualBox User Manual Version 5.0.0" (PDF). Retrieved 2023-11-10.
- ^ a b c "Oracle VirtualBox User Manual Version 6.1.44" (PDF). Retrieved 2023-06-28.
- ^ a b c "Oracle VirtualBox User Manual Version 7.0.0" (PDF). Retrieved 2023-06-28.
- ^ a b c "Oracle VirtualBox: User Guide for Release 7.1" (PDF). 2024-09-09. Retrieved 2024-09-14.
- ^ "Sun VirtualBox User Manual Version 3.0.2 (Archived)" (PDF). Archived from the original (PDF) on 2015-05-15.
- ^ "Sun VirtualBox User Manual Version 3.1.0 (Archived)" (PDF). Archived from the original (PDF) on 2015-05-15.
- ^ "Oracle VirtualBox User Manual Version 4.1.44" (PDF). Retrieved 2023-11-10.
- ^ "Oracle VirtualBox User Manual Version 4.2.0" (PDF). Retrieved 2023-11-10.
- ^ "Oracle VirtualBox User Manual Version 5.0.40" (PDF). Retrieved 2023-11-10.
- ^ "Oracle VirtualBox User Manual Version 5.1.0" (PDF). Retrieved 2023-11-10.
- ^ "VirtualBox Manual (Archived)". Archived from the original on 2018-12-17.
- ^ "Enabling Webcam in VirtualBox Guest OS on Windows Host". 23 January 2018. Archived from the original on 2021-06-24. Retrieved 2021-06-18.
- ^ "Licensing FAQ". Archived from the original on 2023-10-14. Retrieved 2024-02-27.
External links
[edit]- Official website

- Official website (innotek.de) at the Wayback Machine (archived 2006-02-07)
- virtualbox on GitHub
VirtualBox
View on GrokipediaHistory
Origins and Development
VirtualBox originated from the efforts of innotek Systemberatung GmbH, a German software company founded in 1992 and based in Weinstadt, which had prior experience in virtualization through porting Connectix Virtual PC to OS/2 in 2002. Building on this expertise, innotek initiated VirtualBox as an internal research project around the mid-2000s to develop a native x86 virtualization solution, aiming to create a robust, cross-platform hypervisor independent of existing proprietary ports. The project emphasized full virtualization techniques to enable seamless execution of guest operating systems on x86 hardware without requiring hardware-assisted features initially.[12][13] The early development was driven by the motivation to provide a cost-free, open-source alternative to commercial hypervisors such as VMware Workstation, targeting both individual developers and enterprise users seeking flexible desktop and server virtualization. Key contributors included the innotek engineering team, with chief developer Achim Hasenmüller leading the effort to achieve core technical goals like multi-host support for Windows, Linux, and later Mac OS X and Solaris, while prioritizing stability, extensibility through APIs, and compatibility with a wide range of guest OSes. After several years of intensive internal work, VirtualBox was publicly released as the open-source VirtualBox Open Source Edition (OSE) on January 15, 2007, under the GNU GPL version 2, quickly garnering over four million downloads and fostering community contributions.[14][15][16] In February 2008, Sun Microsystems acquired innotek for an undisclosed sum, rebranding the software as Sun xVM VirtualBox and integrating it into Sun's broader virtualization strategy, including rapid porting to OpenSolaris hosts to enhance developer tools within the Solaris ecosystem. This move aligned VirtualBox with Sun's xVM server platform, expanding its reach to Solaris-based environments and emphasizing open-source collaboration. Following Oracle Corporation's completion of its acquisition of Sun Microsystems on January 27, 2010, VirtualBox transitioned to Oracle stewardship, where development shifted toward strengthening its role in enterprise development pipelines, improving integration with Oracle's ecosystem, and prioritizing security and management features for professional testing and deployment scenarios.[16][17]Release History
VirtualBox's release history began with version 1.0, publicly released on January 15, 2007, marking the debut of the open-source virtualization software developed by Innotek Systemberatung GmbH.[5] This early version focused on basic x86 virtualization capabilities for Windows and Linux hosts, laying the foundation for subsequent developments under the GNU General Public License. Version 2.0 was released on September 4, 2008, introducing major enhancements including support for 64-bit guest virtual machines, built-in iSCSI initiator, and multicast support for bridged networking, significantly expanding its functionality for enterprise and advanced users.[18] Following Sun Microsystems' acquisition of Innotek in 2008, version 3.0 arrived on June 30, 2009, with key additions such as symmetrical multiprocessing (SMP) for up to 32 virtual CPUs per VM and improved 3D acceleration via OpenGL support, enhancing performance for multi-threaded applications and graphics-intensive workloads.[5] Oracle's takeover of Sun in 2010 preceded version 4.0, released on December 22, 2010, which featured a complete rewrite of the graphical user interface to Qt, support for Teleportation (live VM migration), and an extensible architecture via official Extension Packs for USB 2.0 and other features.[5] Version 5.0, launched on July 9, 2015, brought substantial API and kernel module updates, including native support for Hyper-V on Windows hosts without requiring disabling it, improved Paravirtualization Providers for better guest performance, and enhanced multi-monitor setups for guests.[19] The 6.0 series debuted on December 18, 2018, emphasizing security and usability with features like encrypted VM storage using AES-XTS, multi-monitor support for up to 256 screens in guests, and integration with cloud platforms such as Oracle Cloud Infrastructure for VM export and import. Support for the 6.0 branch ended in 2020, with version 6.0.24 as the final maintenance release on July 14, 2020.[20][21] Version 7.0 was introduced on October 10, 2022, as a major update supporting Windows 11 guests through UEFI Secure Boot and TPM 2.0 emulation, along with Intel and AMD IOMMU virtualization for improved device passthrough and Wayland display server compatibility on Linux hosts. The 7.0 series received maintenance updates until April 15, 2025, with version 7.0.26 as the last, after which support was discontinued.[22][21] In 2024, version 7.1.0 was released on September 9, incorporating enhanced disk encryption options, preliminary ARM64 host support for macOS, and a modernized Qt-based GUI with improved accessibility and theming. Maintenance continued through 2025, culminating in version 7.1.14 on October 21, 2025.[23] The latest major release, 7.2.0, arrived on August 14, 2025, adding AI-assisted VM configuration tools, expanded ARM guest preview capabilities, and optimizations for high-resolution displays with better scaling. As of October 21, 2025, the current stable version is 7.2.4, a maintenance release addressing stability issues in the VM Manager and VMM components.[7][21]Licensing and Distribution
License Models
VirtualBox's core functionality is provided through its open-source base package, licensed under the GNU General Public License (GPL). Originally developed by innotek GmbH, VirtualBox was first released as open-source software in 2007 under GPL version 2, marking a shift from its initial proprietary distribution model.[14] Following innotek's acquisition by Sun Microsystems in February 2008 and subsequent acquisition by Oracle Corporation in 2010, the licensing remained under GPL version 2 until version 7.0 in 2022, when it transitioned to GPL version 3 to maintain compatibility with the Qt framework used in its graphical interface.[24][25] This licensing under the GPL ensures that the source code for the base package is freely available, modifiable, and distributable, subject to the license's copyleft provisions that require derivative works to also be open-sourced.[26] The GPL licensing applies specifically to the core source code and platform binaries of VirtualBox, making it suitable for personal, educational, and commercial use without additional fees, as long as users comply with the license terms such as providing source code access for modifications.[10] Oracle provides the complete source code via its official repositories, allowing developers to build, inspect, and contribute to the software while adhering to GPL requirements for transparency and community involvement.[26] This open-source foundation has enabled widespread adoption and third-party extensions, though it imposes obligations like reciprocal sharing of changes in distributed binaries.[27] Complementing the base package, the VirtualBox Extension Pack—a proprietary binary add-on—is governed by the Personal Use and Educational License (PUEL), which introduces distinct restrictions. The PUEL permits free download and use of the Extension Pack for personal and educational purposes but prohibits its deployment in commercial environments without purchasing a separate perpetual license; the 30-day evaluation period under PUEL was discontinued in 2025, with commercial evaluation available separately for 30 days via Oracle's Software Delivery Cloud. As of 2025, commercial licenses must be acquired in minimum quantities of 100 Named Workstation User Perpetual licenses per region.[28][9] This model ensures that advanced capabilities enabled by the Extension Pack, such as USB 2.0 and 3.0 support, are accessible under controlled terms, balancing open-source accessibility with Oracle's commercial interests.[9] Users must accept the PUEL during installation for personal and educational scenarios, while commercial entities face compliance requirements including license procurement to avoid unauthorized use.[29]Editions and Availability
VirtualBox is distributed in two primary variants: the open-source base package, which includes the full source code under the GNU General Public License version 3 (GPLv3), and Oracle VM VirtualBox, which provides pre-compiled binary builds of the base package along with the option to add the proprietary Extension Pack for enhanced functionality.[26][30] The base package encompasses core virtualization features and is freely available for modification and redistribution, while the Extension Pack is licensed separately under the Personal Use and Educational License (PUEL) for personal and educational purposes.[26] Binary builds of Oracle VM VirtualBox are provided for multiple host platforms, including Windows (64-bit), macOS (both Intel and ARM architectures), Linux distributions, and Solaris (x86).[30] These platform-specific packages ensure compatibility with the respective host operating systems, with installers tailored to each environment's package management system.[26] Downloads for both the base package and source code are hosted on the official VirtualBox community website at virtualbox.org, as well as Oracle's virtualization portal.[26][30] The complete source code repository is maintained on GitHub, allowing developers to access, build, and contribute to the project directly.[31] For Linux users, third-party repositories are available through Oracle's official channels for distributions such as Debian, Ubuntu, Oracle Linux, Fedora, and openSUSE, enabling seamless integration via native package managers like apt or yum.[32] The Extension Pack is offered as a distinct downloadable binary component, compatible with the latest base package version, and includes advanced features such as USB 2.0/3.0 support, virtual machine encryption, and remote desktop protocol (RDP) capabilities.[26] It must be installed separately after the base package and is available at no cost for personal and educational use under the PUEL, with enterprise licensing options for commercial deployment.[26] Updates to VirtualBox are managed through manual downloads of new release packages from the official websites or, for Linux installations via third-party repositories, through the host distribution's package update tools.[30][32] The application includes a check-for-updates feature in its graphical user interface that notifies users of newer versions, though automatic downloading and installation are not enabled by default. Source code users can build updated versions manually from the GitHub repository following release announcements.[31]Technical Foundations
Virtualization Methods
VirtualBox operates as a type 2 hypervisor, also known as a hosted hypervisor, which functions as a user-space application running atop an existing host operating system. This architecture allows VirtualBox to utilize the host OS kernel for accessing underlying hardware resources, such as processors, memory, and peripherals, rather than directly interfacing with the hardware itself. By layering virtualization on top of the host OS, VirtualBox enables the simultaneous execution of multiple guest operating systems on a single physical machine, making it particularly suitable for desktop and development environments where ease of deployment is prioritized over raw server performance.[33] In scenarios where hardware-assisted virtualization extensions like Intel VT-x or AMD-V are unavailable or disabled, VirtualBox falls back to software-based virtualization techniques to execute guest code securely. It employs the Code Scanning and Analysis Manager (CSAM) to disassemble and inspect guest instructions in real-time, identifying sensitive operations that could compromise the host, such as direct memory access or privileged instructions. These are then handled through the Patching Architecture for Time-sharing Machines (PATM), which dynamically patches the guest code to insert traps, effectively implementing a form of binary translation without requiring full just-in-time (JIT) recompilation of entire code blocks. This method ensures isolation while minimizing overhead compared to pure interpretation.[34] To enhance efficiency, VirtualBox incorporates paravirtualization techniques that make guest operating systems aware of their virtualized environment, allowing them to cooperate with the hypervisor. Through configurable paravirtualization providers—such as Minimal (for basic awareness), KVM (optimized for Linux guests), and Hyper-V (for Windows guests)—the guest can issue hypercalls to request optimized services like precise time synchronization, APIC frequency reporting, or reduced I/O emulation. These hypercalls bypass some emulation layers, improving performance by enabling the guest to defer complex operations to the host without full hardware simulation.[8] Compared to type 1 hypervisors, which run directly on bare-metal hardware for direct resource control and higher efficiency in enterprise settings, VirtualBox's type 2 design introduces an additional layer via the host OS, potentially incurring slight overhead but offering greater portability and simpler management across diverse host platforms.[33] The overall virtualization process in VirtualBox begins with VM creation, typically via the graphical VirtualBox Manager interface or the VBoxManage command-line tool, where users define the guest OS type, allocate resources like virtual CPU cores and RAM (drawn from host availability), and set up virtual storage and networking. During execution, the hypervisor manages state transitions—such as starting, suspending, or saving the VM—to physical files, while dynamically allocating and deallocating host resources to maintain isolation and responsiveness across active guests. Snapshots further support state management by capturing configurable points in time for rollback or branching.[8][35]Hardware and Software Emulation
VirtualBox leverages hardware-assisted virtualization to enhance performance by utilizing processor extensions such as Intel VT-x and AMD-V, which allow the hypervisor to run guest code more efficiently without excessive overhead from software trapping sensitive instructions. These technologies enable the guest operating system to execute in a near-native environment, with the VirtualBox hypervisor intercepting only necessary operations for isolation and management. Support for these features is contingent on the host CPU's capabilities, and VirtualBox automatically detects and enables them when available.[36] A key aspect of hardware-assisted virtualization in VirtualBox is nested paging, which optimizes memory management. For Intel processors, this is implemented via Extended Page Tables (EPT), while AMD uses Nested Page Tables (NPT) or Rapid Virtualization Indexing (RVI). Nested paging reduces the number of VM exits caused by page table walks, allowing the guest to handle its own paging directly on hardware, resulting in significant performance improvements for memory-intensive workloads. When the host CPU supports these features, users can enable nested paging in the virtual machine settings under the System tab's Acceleration section, leading to faster execution compared to traditional shadow paging methods.[8] To enable hardware-assisted virtualization, the host system's BIOS or UEFI firmware must first activate VT-x or AMD-V, typically found in the CPU or advanced settings menu during boot. Once enabled at the hardware level, VirtualBox configuration involves selecting the "Enable VT-x/AMD-V" option in the virtual machine's System settings under the Processor tab. For advanced scenarios like running virtual machines inside virtual machines (nested virtualization), the "Enable Nested VT-x/AMD-V" checkbox must also be selected, which passes through the hardware virtualization extensions to the guest. Alternatively, these settings can be applied programmatically using the VBoxManage command-line tool with flags such as--hardwarevirt on or --nested-hw-virt on.[8]
In environments lacking hardware virtualization support, VirtualBox falls back to software-based emulation to maintain compatibility, particularly for 32-bit guests or legacy operating systems. This mode relies on VirtualBox's internal Virtual Machine Monitor (VMM) to interpret and execute guest instructions dynamically, though it incurs substantial performance penalties due to the overhead of emulating privileged operations in software. For specific low-level tasks, such as real-mode code execution, VirtualBox integrates components from QEMU to handle emulation efficiently. 64-bit guest support strictly requires hardware virtualization, limiting software emulation to 32-bit or legacy configurations.[37][8]
Device passthrough in VirtualBox allows guests to access host hardware directly, bypassing emulation for better performance in scenarios like graphics acceleration. Through PCI passthrough, supported in versions up to 6.0 on Linux hosts, users could assign physical PCI devices—such as GPUs or network cards—to a virtual machine, enabling the guest to interact with the hardware as if it were native. This feature required IOMMU support (like Intel VT-d or AMD-Vi) on the host and was configured via VBoxManage commands like pci attach. Although removed in VirtualBox 6.1 and later due to compatibility issues with PCIe devices and limited adoption, it provided a mechanism for direct hardware access in supported setups.[38][39]
For legacy or incompatible guests, VirtualBox offers fallback mechanisms through configurable emulated CPU modes, ensuring broader compatibility without relying on modern hardware features. Users can select from emulated processor types like 486 or Pentium in the virtual machine settings to match the requirements of vintage operating systems, such as DOS or early Windows versions, which receive limited support. Additionally, on Windows hosts where Hyper-V conflicts with VT-x availability, VirtualBox employs the Native Execution Manager (NEM) as a software fallback, allowing VMs to run in a compatibility mode that emulates hardware virtualization through Windows APIs. These options prioritize functionality for older software while acknowledging reduced performance.[8][40]
Supported Platforms
Host Operating Systems
VirtualBox supports a range of 64-bit host operating systems, enabling users to run the hypervisor on modern desktop and server environments. Primary supported hosts include Windows 10, Windows 11, and Windows Server editions such as 2019, 2022, and 2025; macOS versions including Big Sur (11), Monterey (12), Ventura (13), Sonoma (14), and Sequoia (15) on Intel hardware, with full ARM64 support introduced in version 7.2, including experimental support for Windows 11 on ARM64 and native on macOS Apple Silicon and Linux ARM64; various Linux distributions such as Ubuntu 22.04 LTS, 24.04 LTS, and 24.10, Fedora 40 and later, Oracle Linux 8, 9, and 10, Red Hat Enterprise Linux 8, 9, and 10, Debian 12 and 13, and openSUSE Leap 15.5; and Oracle Solaris 11.3. As of October 2025, the latest version is 7.2.4, adding support for Linux kernel 6.18.[41][42] Hardware requirements for host systems include a 64-bit processor with virtualization extensions enabled (Intel VT-x with EPT or AMD-V with RVI), at least 4 GB of RAM (though 8 GB or more is recommended for smooth operation with multiple virtual machines), and sufficient storage for the installation and virtual machine files, typically starting at 2 GB free space.[43][41] Support for 32-bit host operating systems was discontinued starting with VirtualBox 6.0, requiring all hosts to be 64-bit architectures thereafter.[33] Installation on host systems involves platform-specific processes, such as executable installers for Windows and macOS, package managers for Linux (e.g., .deb for Debian-based or .rpm for Red Hat-based distributions), and IPS packages for Solaris. A key component is the loading of kernel modules, particularly the VBoxDrv module on Linux and Solaris hosts, which provides core virtualization functionality; this module must be compiled and loaded during installation using commands like /sbin/vboxconfig, and it may require Secure Boot key signing on systems with EFI Secure Boot enabled.[43] Potential conflicts can arise with other hypervisors, such as KVM on Linux, necessitating the unloading of competing modules (e.g., kvm.ko) before starting VirtualBox services.[43] On Windows, installation via MSI packages handles driver loading automatically, but administrator privileges are required. To ensure cross-platform consistency, VirtualBox employs a unified graphical user interface built with the Qt framework, providing a similar look and feel across all supported hosts while adapting to native windowing systems like Win32 on Windows, Cocoa on macOS, and X11/Wayland on Linux. This design allows users to manage virtual machines seamlessly regardless of the underlying host OS.[41]Guest Operating Systems
VirtualBox provides broad compatibility for guest operating systems, enabling users to run a variety of x86 and AMD64-based systems within virtual machines on supported hosts. Primary support focuses on unmodified installations of Windows, Linux, macOS, BSD variants, and Solaris, with experimental extensions for ARM architectures introduced in recent versions.[8][44] For Windows guests, VirtualBox supports versions from Windows NT 4.0 through Windows 11, including both client and server editions such as Windows Server 2025. All listed versions operate fully with Guest Additions available for enhanced integration, though older releases like Windows 98, ME, and NT may exhibit performance limitations without them. Architecture support includes 32-bit and 64-bit x86/AMD64, with 64-bit guests requiring hardware virtualization enabled on the host. In VirtualBox 7.0 and later, support for Windows 11 includes emulated TPM 2.0 and Secure Boot to meet Microsoft's hardware requirements.[44][22][45] Linux guests are extensively supported across major distributions, with kernels from 2.4 onward generally compatible and optimal performance achieved with 2.6.13 or later versions up to the current 6.x series, including kernel 6.18 as of VirtualBox 7.2.4. This includes Ubuntu, Fedora, Debian, Red Hat Enterprise Linux (up to 10), and others, all functioning with Guest Additions for kernel modules that resolve issues like graphics acceleration and shared folders. Both 32-bit and 64-bit x86/AMD64 architectures are covered, with no major limitations reported for recent kernels.[44][42] macOS guests up to macOS Sequoia (15) are supported experimentally on x86/AMD64 hosts, adhering to Apple's End User License Agreement restrictions that limit use to Apple hardware or authorized virtualization. Installation requires specific configuration, and performance may vary due to the experimental nature. VirtualBox 7.2 extends this to ARM-based guests, such as macOS on Apple Silicon hosts, with initial 3D acceleration via DirectX Metal Translation (DXMT). Guest Additions are not available for macOS.[8][46][42] BSD variants like FreeBSD (up to 14.x), OpenBSD (up to 7.x), and NetBSD (up to 10.x) run with full functionality on x86/AMD64, though some networking and storage drivers may require manual tweaks; Guest Additions provide limited support for improved mouse integration and display resizing. Solaris guests, including OpenSolaris and Oracle Solaris 10/11, operate reliably with Guest Additions for better graphics and USB support.[44] Installation of guest operating systems typically involves booting from an ISO image attached to a virtual optical drive, followed by configuration of virtual hardware such as emulated BIOS or UEFI firmware, CPU cores, RAM allocation, and virtual hard disks. Compatibility issues, such as suboptimal video drivers or input lag in certain guests, are often resolved through Guest Additions installation post-OS setup. ARM guest support remains experimental in VirtualBox 7.x, allowing Windows 11 on ARM via emulation on x86 hosts or native on ARM hosts.[8][33][46]Core Features
General Virtualization Capabilities
VirtualBox provides comprehensive tools for managing the lifecycle of virtual machines (VMs), enabling users to create, configure, start, suspend, resume, shut down, and snapshot them efficiently. VM creation begins through the graphical interface or command line, where users specify parameters such as the VM name, operating system type, and initial hardware settings; for instance, theVBoxManage createvm command generates a new VM configuration file in XML format. Configuration occurs via detailed settings panels or CLI options, allowing adjustments to boot order, enablement of features like I/O APIC for better performance, and selection of hardware virtualization extensions such as VT-x or AMD-V. Starting a VM involves selecting it in the manager and clicking "Start," which boots the guest OS from the designated media; alternatively, VBoxManage startvm initiates the process headlessly. To run a VM in headless mode, first ensure the VM is shut down; then, from a command line interface such as Command Prompt or PowerShell on a Windows host, use VBoxManage startvm "YourVMName" --type headless (the VM name can be found using VBoxManage list vms); this eliminates the GUI and can help avoid graphics-related crashes. Suspend and resume functionalities save the current machine state to disk—effectively pausing execution—and restore it later, preserving the guest OS session without data loss; this is accessed via the Machine menu's "Close" dialog or VBoxManage controlvm with savestate and resume subcommands. Shutdown can be graceful using ACPI signals to trigger the guest OS's normal power-off sequence, or abrupt via power off, with snapshots capturing a point-in-time state (including memory and disk) for reversion or branching configurations, managed through the Snapshot pane or VBoxManage snapshot commands.[8][45][35]
Resource allocation in VirtualBox is flexible and constrained by host capabilities, supporting up to 32 virtual CPUs per VM, with options for enabling multi-core processing and PAE/NX for accessing more than 4 GB of RAM on 32-bit guests. RAM assignment is fixed per VM at startup but dynamically adjustable when powered off, with recommendations to allocate no more than 50-75% of host RAM to avoid host instability; for example, a host with 16 GB can safely assign 8 GB to a single VM. VirtualBox also supports VRDP (VirtualBox Remote Desktop Protocol), an RDP extension for remote VM access over networks, allowing control from standard RDP clients without requiring guest OS RDP setup, provided the Extension Pack is installed.[8][47]
The primary graphical user interface, Oracle VM VirtualBox Manager, is built using the Qt framework for cross-platform compatibility, offering an intuitive dashboard to organize, launch, and monitor multiple VMs with features like a snapshot tree viewer and settings wizards. Complementing this, the VBoxManage command-line tool provides scripting capabilities for automated VM management, including creation, control, and configuration queries, making it suitable for server environments or batch operations. VirtualBox supports running multiple VMs simultaneously on the host, sharing resources like CPU and RAM according to allocation, which enables scenarios such as testing diverse OS environments concurrently without rebooting the host.[43][35][33]
Security in VirtualBox emphasizes VM isolation through its type-2 hypervisor architecture, where each VM executes as a separate user-mode process on the host OS, preventing direct inter-VM or VM-host interference via the Virtual Machine Monitor that mediates hardware access. Starting with version 6.1 and requiring the Extension Pack, VirtualBox introduced encryption for VM configuration files and disk images using AES in XTS mode, protecting sensitive data at rest from unauthorized access on the host filesystem.[48]
Storage and Networking Support
VirtualBox provides robust storage support for virtual machines through emulation of common hard disk controllers, including IDE, SATA (AHCI), SCSI, SAS, USB-based, and NVMe interfaces, allowing compatibility with a wide range of guest operating systems.[49] It supports several disk image formats, such as VDI (VirtualBox's native format), VMDK (compatible with VMware products), VHD (used by Microsoft Hyper-V and Virtual PC), and HDD (from Parallels), enabling seamless integration with other virtualization platforms.[49] Disk images can be configured as dynamically allocated, which grow in size as data is written to optimize host storage usage, or as fixed-size for potentially better performance by pre-allocating space.[49] Shared folders facilitate bidirectional file exchange between host and guest without requiring network setup, by mounting host directories as read-only or read-write within the guest file system. Snapshots in VirtualBox preserve the complete state of virtual disks at a given point, creating differencing disk images that branch from the original to capture changes without altering the base image, thus enabling non-destructive testing and rollback.[50] This branching mechanism forms a tree structure, where multiple snapshots can diverge from a common ancestor, allowing users to explore alternative configurations while maintaining the integrity of prior states.[50] For networking, VirtualBox offers six primary modes to suit various connectivity needs: NAT, which provides outbound internet access via the host's connection without exposing the guest; Bridged Adapter, integrating the guest directly into the host's physical network as a peer device; Internal Network, isolating guests for private communication; Host-Only Adapter, enabling guest-to-host and inter-guest networking without external access; NAT Network, an extension of NAT for multiple guests sharing a subnet; and Generic Driver modes like UDP Tunnel for linking guests across hosts over UDP.[51] Each virtual machine can attach up to 36 network interface cards (NICs), supporting advanced topologies with emulated Intel PRO/1000, AMD PCnet, or paravirtualized VirtIO adapters.[51] Advanced storage features include iSCSI initiation, where VirtualBox treats remote iSCSI targets as local virtual disks for high-performance networked storage access.[49] USB storage devices can be passed through to guests for direct access, requiring the Oracle VM VirtualBox Extension Pack to enable full USB 2.0 and 3.0 support via EHCI or xHCI controllers.[52] To enhance I/O efficiency, VirtualBox employs paravirtualized drivers, such as VirtIO-SCSI for storage controllers and VirtIO-Net for networking, which reduce overhead by allowing guests to communicate directly with the hypervisor, significantly improving throughput and latency compared to fully emulated hardware.[49][51]Extensions and Enhancements
Guest Additions
Guest Additions is an optional software package developed by Oracle for VirtualBox that enhances the integration and performance between the host operating system and the guest operating system running in a virtual machine (VM).[45] It consists of device drivers and system applications designed to replace the emulated hardware with paravirtualized drivers, thereby improving efficiency in areas such as graphics acceleration, mouse integration, and resource sharing.[45] By installing Guest Additions, users can achieve a more seamless experience, reducing the overhead of full emulation and enabling features that make the guest OS feel more like a native application on the host.[53] The core components of Guest Additions vary by guest operating system but generally include kernel-mode drivers for optimized hardware access and user-mode applications for additional functionality. For Windows and Linux guests, key elements are the VBoxGuest driver, which handles mouse integration and display resizing; the VBoxSF driver, which enables shared folder access between host and guest; and VBoxVideo for enhanced graphics performance.[45] Additional components include services for shared clipboard and drag-and-drop support, as well as enhancements to the VirtualBox Remote Desktop Protocol (VRDP) for better remote display handling.[45] These paravirtualized elements communicate directly with the VirtualBox hypervisor to bypass slower emulated devices, resulting in lower latency and higher throughput for I/O operations. Installation of Guest Additions occurs after the guest OS is set up in the VM and involves mounting a provided ISO image file named VBoxGuestAdditions.iso, which contains installers for all supported platforms.[45] Users can insert this ISO via the VirtualBox menu (Devices > Insert Guest Additions CD image) or manually attach it to the guest's virtual CD/DVD drive. For Windows guests, the process is automated by running the VBoxWindowsAdditions.exe executable from the mounted ISO, followed by a system reboot.[45] Particularly for Windows 11 installations that bypass hardware requirements such as TPM and Secure Boot, installing Guest Additions is essential to resolve common issues like black screens or slow performance by providing optimized graphics drivers and better integration.[54] On Linux guests, installation typically requires mounting the ISO, extracting the contents, and running the installer script (VBoxLinuxAdditions.run) as root, often necessitating the installation of kernel headers and build tools beforehand; some distributions provide pre-built packages via their repositories for easier setup.[45] For Parrot OS guests, which is Debian-based and follows procedures similar to other Debian derivatives, a repository-based installation method is recommended to avoid conflicts with the CD image and provide stable drivers for features such as clipboard sharing and screen resizing. This involves running the following commands in the terminal:sudo apt update; sudo apt install virtualbox-guest-utils virtualbox-guest-x11; sudo reboot.[55] Maintenance involves updating the Additions to match the VirtualBox version on the host, as mismatches can lead to suboptimal performance or feature loss.[45] For bypassed Windows 11 installations, the guest OS generally receives security updates, though feature updates may require additional workarounds, with good stability reported in VirtualBox environments.[56]
Guest Additions are supported on a wide range of guest operating systems, including all modern Windows versions from NT 4.0 to Windows 11 (32-bit and 64-bit where applicable, exclusively 64-bit for Windows 11), most Linux distributions with kernels version 2.6.13 or later, Oracle Solaris from version 10 onward, and select others such as OS/2 Warp and FreeBSD.[44][57] For macOS guests, support is experimental and limited primarily to shared folders, due to Apple's licensing restrictions; features like display resizing are not available.[45] Older or niche OSes, such as DOS or certain legacy Unix variants, have partial or no support, relying on basic emulation without the full benefits of Additions.[45]
The primary benefits of Guest Additions include seamless mouse pointer integration, which eliminates the need to capture and release the mouse manually between host and guest; bidirectional shared clipboard and drag-and-drop functionality for text and files (introduced in VirtualBox 6.0); and automatic resizing of the guest display to match the VM window size.[45] Graphics performance is significantly improved through 3D acceleration and higher resolution support, while shared folders allow easy file access without networking setup.[45] Other enhancements encompass precise time synchronization between host and guest, optimized audio and USB support (though USB passthrough is handled separately), and reduced CPU overhead for disk I/O, making resource-intensive applications run more efficiently in the VM. These features, available as of VirtualBox 7.2 (October 2025), collectively bridge the gap between virtualized and physical environments, enhancing productivity for development, testing, and daily use cases.[53][7]
USB and Peripheral Handling
VirtualBox provides built-in support for USB 1.1 devices through an emulated OHCI controller, allowing virtual machines to access compatible host USB peripherals without additional software.[52] Since VirtualBox 7.0, support for USB 2.0 (via EHCI controller) and USB 3.x (via xHCI controller) is included in the base package, providing enhanced compatibility and speeds without requiring the Extension Pack. The Extension Pack is still necessary for advanced features such as remote USB access over RDP and dedicated webcam passthrough.[52][7] Configuration of USB support occurs in the virtual machine settings under the USB tab, where users enable the USB controller and select the appropriate type—OHCI, EHCI, or xHCI—based on the desired USB version and guest OS requirements.[52] Once enabled, host USB devices can be passed through to the guest by selecting them from the devices menu while the VM is running, temporarily detaching them from the host.[52] For automated attachment, USB device filters can be created, specifying criteria such as vendor ID, product ID, serial number, or port location to capture specific devices upon VM startup or host connection.[52] A common issue with USB device filters is the error VERR_PDM_USB_NAME_CLASH, which occurs when two or more filters share the same name, preventing the virtual machine from starting or attaching USB devices properly. This issue is not specific to any guest operating system, including Windows 7, and frequently arises after cloning virtual machines, importing OVF/OVA files, or adding multiple similar filters. To resolve, open the VM Settings > USB tab, ensure the USB Controller is enabled if needed, review the USB Device Filters list for duplicate names, and edit the filter names to make them unique or remove duplicates. Beyond USB, VirtualBox emulates various other peripherals to provide comprehensive hardware simulation for guests. Serial ports are supported up to four per VM, emulating standard 16550A UART devices with configurable modes including host device passthrough (e.g., COM1), named pipes, raw file output for logging, or TCP connections for networked access.[58] Parallel ports are similarly emulated, allowing connection to host LPT ports or file redirection, though primarily for legacy applications.[8] Audio output and input are handled via emulated controllers such as Intel HD Audio (for modern guests), Intel AC'97, or legacy SoundBlaster 16, with host driver integration for low-latency audio routing.[8] Graphics peripherals are emulated using VBoxVGA for basic VGA compatibility or VMSVGA for VMware SVGA emulation, which offers better performance for Linux guests and supports 3D acceleration when Guest Additions are installed.[8] A notable limitation in VirtualBox's peripheral handling is the absence of direct GPU passthrough, as PCI device passthrough support remains incomplete and is not recommended for graphics cards without third-party extensions or alternative hypervisors.[59] Enhancements include dedicated webcam passthrough, which allows a host webcam to be presented as a virtual USB video device to the guest without full device detachment, limited to 640x480 resolution at 20 FPS on some platforms. This feature requires the Extension Pack.[60] Printer redirection is supported for USB printers through standard passthrough, enabling guests to access host-attached printers as local devices, with optimizations available via Guest Additions for seamless integration.[52]Limitations and Considerations
Performance Constraints
As a Type 2 hypervisor, VirtualBox runs as an application on top of the host operating system, introducing inherent performance overhead due to the mediation required for all guest operations through the host kernel.[61] This architecture results in some CPU performance penalty for compute-intensive workloads compared to running directly on the host hardware, as shown in older benchmarks.[62] The overhead can increase significantly when relying on software emulation for virtualization extensions, rather than hardware-assisted modes.[63] Resource contention arises from VirtualBox's shared access to host resources, particularly in scenarios involving multiple virtual machines (VMs) or I/O-bound operations, leading to bottlenecks in CPU scheduling, disk access, and network throughput.[64] For instance, running several VMs concurrently on consumer hardware can cause noticeable slowdowns in build processes or data transfers, as the host OS must arbitrate between guest demands and its own processes, exacerbating latency in shared storage or memory pools.[64] This contention is more pronounced on systems with limited physical resources, where overcommitment of CPU or RAM to guests reduces overall efficiency. VirtualBox imposes scaling limits on individual VMs to maintain stability, supporting a maximum of 32 virtual CPUs per VM, though practical assignments are often lower—typically 4-8 cores on consumer hardware—to avoid diminishing returns from emulation overhead.[65] Similarly, VMs support up to a maximum of 2 TB of RAM, though practically limited by the host's available memory and typically much lower (e.g., 16-64 GB) on consumer desktops due to host OS reservations and performance degradation from excessive ballooning or swapping.[66][35] In comparisons to Type 1 hypervisors like KVM, VirtualBox generally exhibits lower performance for server-grade workloads, with KVM achieving closer to native speeds thanks to its direct hardware access, making it preferable for high-throughput environments.[62][67] These constraints can be partially mitigated by enabling hardware virtualization extensions (such as Intel VT-x or AMD-V) in the VM settings, which offloads emulation tasks to the CPU and reduces overhead to near-minimal levels for supported guests.[63] Additionally, installing Guest Additions within the guest OS enhances performance by optimizing shared folders, graphics acceleration, and seamless mouse integration, potentially improving I/O and display responsiveness by 10-20% in everyday use.[45]Compatibility Challenges
One significant hardware incompatibility in VirtualBox arises from conflicts with antivirus software on host systems, particularly on Windows, where security tools may block or interfere with the loading of VirtualBox kernel modules like vboxdrv due to perceived malware-like behavior in driver operations.[68] This issue often manifests as failure to start virtual machines, with error messages indicating kernel driver installation problems, and can be exacerbated by features like Kernel DMA Protection or Hypervisor-protected Code Integrity (HVCI).[69] On Linux hosts with Secure Boot enabled, unsigned kernel modules may prevent proper loading, requiring manual signing or Secure Boot disablement for resolution.[70] An experimental KVM backend has been integrated into the VirtualBox source code, allowing fallback to the host's KVM hypervisor when native VirtualBox kernel modules cannot be loaded due to such restrictions. This development enables VM operation in environments where kernel module loading is blocked (e.g., by Secure Boot or kernel hardening policies) and is currently available in development builds, with contributor confirmation that it is in a workable state for modern guest operating systems.[71] Nested virtualization in VirtualBox, which allows running a hypervisor inside a guest VM, is supported on AMD and Intel CPUs through hardware virtualization passthrough but encounters limits such as reduced performance compared to native hypervisors like KVM.[72][73] These limitations stem from the overhead of multiple virtualization layers, potentially restricting deep nesting (e.g., beyond two levels) and requiring explicit enablement via VM settings.[74] Guest operating system issues include limited support for advanced security features in older VirtualBox versions; for instance, prior to version 7.0, Secure Boot emulation was unavailable or unreliable for UEFI-based guests like Windows 10, leading to boot failures or inability to enable the feature in VM settings.[75] Additionally, macOS guests face significant technical and licensing restrictions under Apple's End User License Agreement (EULA), which permits macOS only on Apple-branded hardware, rendering installations on non-Apple hosts legally non-compliant despite technical feasibility in VirtualBox. Apple does not provide official pre-made ISO images for recent versions such as macOS Ventura (13), Sonoma (14), or Sequoia (15) specifically for VirtualBox use. Installation requires downloading the full macOS installer application from the Mac App Store (on a Mac) or trusted direct links from Apple's servers and manually creating a bootable ISO image using command-line tools such as hdiutil. The VM configuration typically requires additional VBoxManage setextradata commands to spoof Apple hardware identifiers (such as DMI system information and SMC keys) in order to bypass macOS's hardware verification checks. Oracle's VirtualBox documentation describes macOS guest support as experimental and unsupported, noting hardware restrictions and that VirtualBox does not circumvent Apple's technical enforcement mechanisms; stability issues are common, particularly with newer versions. Guest Additions have limited or no availability for macOS guests, restricting performance optimizations.[76][8] Recent challenges have centered on emulating requirements for modern guests like Windows 11, where quirks in TPM 2.0 and Secure Boot support in pre-7.0 versions prevented clean installations or upgrades, often resulting in compatibility checks failing during setup; these were resolved in VirtualBox 7.0 with native emulation of TPM 2.0 and EFI Secure Boot, allowing full compliance without host hardware possession of these features. For Windows 11 guests using bypassed hardware requirements, the setups maintain good stability, receive security updates, though feature updates may be restricted or require additional steps.[77][78][79][80] ARM guest support, introduced experimentally in VirtualBox 7.0 and expanded in 7.2 for ARM-on-ARM virtualization, has shown instability, including high CPU usage in idle states and crashes with 3D acceleration, particularly for Linux and Windows ARM guests, though fixes in the 7.2 series (up to 7.2.4 as of October 2025) improved stability for idle VMs on ARM hosts.[81][82][7] Security vulnerabilities have historically impacted compatibility, with notable examples in the 6.x series including CVE-2021-2310, a heap-based buffer overflow in the NAT networking component that could allow privilege escalation from guest to host, affecting versions prior to 6.1.26 and patched in subsequent updates.[83] Other CVEs in 6.x, such as those involving memory corruption in 3D acceleration, further highlighted risks of guest escapes or denial-of-service, all addressed through regular security patches recommended by Oracle.[84] Workarounds for these compatibility issues often involve command-line tools via VBoxManage, such as manually signing kernel modules on Linux hosts with Secure Boot (sudo /sbin/vboxconfig) or cleaning and reinstalling the Extension Pack (VBoxManage extpack cleanup followed by installation) to enable advanced features like USB 2.0/3.0 support and resolve licensing prompts.[85][86] The VirtualBox Extension Pack is essential for enhanced compatibility, providing encrypted host connections and webcam passthrough, though it requires a separate PUEL license for commercial use and must match the core version to avoid conflicts.[87]