VirtualBox is a versatile, full-featured virtualization platform that enables you to run multiple operating systems on a single physical machine. It supports x86, AMD64/Intel64, and ARM64 architectures, making it suitable for desktops, servers, and development environments.

Designed for both enterprise and personal use, VirtualBox offers a rich set of features, strong performance, and broad hardware compatibility. The base package is freely available as open source software under the GNU GPL version 3, with an optional Extension Pack providing advanced capabilities such as USB 3.0 support, remote desktop integration, and disk encryption.

VirtualBox remains one of the most accessible and full-featured virtualization solutions available, particularly strong for development, testing, demos, and smaller-scale or home use. But, if your workloads are graphics-intensive, you need high performance I/O (USB, GPU passthrough, etc.), or need enterprise features scaled across many systems, there might be better‐suited alternatives (like VMware, Hyper-V, or KVM/QEMU) depending on OS and hardware.

What host operating systems are supported by VirtualBox?

VirtualBox runs on Windows, macOS (Intel), Linux, and Solaris (x86). Different versions may also provide different support (for example Apple Silicon support has changed).

Can I run macOS on a Windows machine?

Yes, with VirtualBox, you can install multiple operating systems on a single PC and seamlessly switch between them, including macOS on Intel hardware. VirtualBox can run multiple x86 OS such as Windows, macOS, Linux distributions, FreeBSD, and OpenBSD on your host machine. The operating systems run within an application, which virtualizes the hardware in a completely isolated environment.

Is VirtualBox free?

Yes, VirtualBox is free to use for most people. The base package is open-source software distributed under the GNU General Public License (GPL) version 3. This means you can download, use, and even modify it without cost for personal, educational, or commercial purposes.

What is the "Extension Pack" and when do I need it?

The Extension Pack provides additional features beyond the base VirtualBox package – things like USB 2.0/3.0 support, remote desktop, and certain other advanced capabilities. You install it after installing the base package. It must match the version of VirtualBox.

Do I need to dual boot or repartition the disk?

No, that's not necessary. VirtualBox uses your computer's file system and creates files that map to a virtual machine's disk drives, so there is no need to create a partition for each operating system. If you already have another OS with dual boot, you can use VirtualBox to run the other operating system in a virtual machine on your host operating system. Instead of dual booting, you can run both operating systems simultaneously and seamlessly switch from one operating system to another with a click of your mouse.

Can I run an x86 virtual machine on Arm hardware?

Running an x86 virtual machine on Arm is possible, but it comes with important limitations. VirtualBox does not currently support running x86 guest operating systems natively on Arm hosts like Apple Silicon (M1, M2, etc.) or Raspberry Pi. Virtualization relies on the host and guest sharing the same CPU architecture, and since Arm and x86 are different, VirtualBox cannot directly virtualize x86 code on ARM.

To run an x86 operating system on an Arm machine, you need emulation, not just virtualization. Tools like UTM, QEMU, or Parallels Desktop (with emulation) can translate x86 instructions into Arm instructions in real time. If you want to use VirtualBox on Arm, you must use an ARM64 guest OS, such as ARM-based Linux distributions or Windows for Arm. These will run much faster because VirtualBox can virtualize them directly, without translation.

What are the system requirements I should check before downloading/installing?

You need a host CPU that supports virtualization (Intel VT-x or AMD-V), sufficient RAM (depending on what you'll run in VMs), enough free disk space, and compatible OS version. Ensuring your BIOS/firmware settings allow virtualization, and that there are no conflicting hypervisors installed, helps avoid installation or runtime errors.

Features

Modularity

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

Virtual machine descriptions in XML

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

Guest Additions for Windows, Linux and Solaris

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

Shared folders

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

VirtualBox is being actively developed with frequent releases and has an ever growing list of features, supported guest operating systems and platforms it runs on. VirtualBox is a community effort backed by a dedicated company: everyone is encouraged to contribute while Oracle ensures the product always meets professional quality criteria.

What's New

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

  • VMM: Fixed issue which caused a Guru Meditation with VERR_IEM_IPE_4 if the guest was trying to execute the wrong hypercall instruction but injected a UD exception instead (github:gh-616)
  • NAT Network: Fixed issue when internal DNS server could not be reached
  • Graphics: Fixed issue when mouse cursor did not change shape by context in Ubuntu 25.10 / Wayland (github:gh-464)
  • Main: Fixed crash on FreeBSD 16.0 shutdown with multiple devices attached to LSI Logic SAS controller (github:gh-538)
  • IPRT: Merged Github pull request 503 (fix: infinite loop in vsscanf whitespace processing). github-merge-author: lachlanharrisdev
  • Unattended: General improvements
  • Linux Host: Added initial support for kernels 6.19 and 7.0 (github:gh-467, github:gh-623)
  • Linux Host: Added support for guest time accounting (github:gh-2)
  • Linux Host and Guest: Introduced additional fixes for RHEL 10.1 and 10.2 kernels (github:gh-455)
  • Linux Host and Guest: Added support for UEK9 kernel on Oracle Linux 9
  • Linux Host and Guest: Added improvements to make 'rcvboxdrv/rcvboxadd setup' and installation process faster
  • Linux Guest Additions: Deprecated vboxvideo kernel module for kernels 7.0 and newer; please consider using VMSVGA graphics or vboxvideo module which comes with Linux kernel or provided by your Linux distribution if guest running kernel 7.0+; vboxvideo will still be available for older kernels
  • Linux Guest Additions: Fixed issue when clipboard sharing was not possible in combination of Wayland guest and Windows host (github:gh-33)
  • Linux Guest Additions: Fixed issue when last character was not pasted into Windows host clipboard when copying from Wayland guest (bug:22339)
  • Windows Guest: Fixed issue when Windows 11 guest experienced BSOD - DRIVER_OVERRAN_STACK_BUFFER (github:gh-590)
  • UEFI: Fixed errors with secure boot certificate updates and Windows 11 guests (github:gh-133)
  • DMI: Fixed issue when 0.0 value was provided for the BIOS release and BIOS firmware version numbers so Windows did not populate the registry keys under HKLM\HARDWARE\System\BIOS which some components rely on (bug:21943)