3.3. Emulated Hardware

Oracle VM VirtualBox virtualizes nearly all hardware of the host. Depending on a VM's configuration, the guest will see the following virtual hardware:

  • Input devices. By default, Oracle VM VirtualBox emulates a standard PS/2 keyboard and mouse. These devices are supported by almost all past and present OSes.

    In addition, Oracle VM VirtualBox can provide virtual USB input devices to avoid having to capture mouse and keyboard, as described in Section 1.9.2, “Capturing and Releasing Keyboard and Mouse”.

  • Graphics. The Oracle VM VirtualBox graphics device, sometimes referred to as a VGA device, is not based on any physical counterpart. This is unlike nearly all other emulated devices. It is a simple, synthetic device which provides compatibility with standard VGA and several extended registers used by the VESA BIOS Extensions (VBE).

  • Storage. Oracle VM VirtualBox currently emulates the standard ATA interface found on Intel PIIX3/PIIX4 chips, the SATA (AHCI) interface, and two SCSI adapters (LSI Logic and BusLogic). See Section 5.1, “Hard Disk Controllers: IDE, SATA (AHCI), SCSI, SAS, USB MSD, NVMe” for details. Whereas providing one of these would be enough for Oracle VM VirtualBox by itself, this multitude of storage adapters is required for compatibility with other hypervisors. Windows is particularly picky about its boot devices, and migrating VMs between hypervisors is very difficult or impossible if the storage controllers are different.

  • Networking. See Section 6.1, “Virtual Networking Hardware”.

  • USB. Oracle VM VirtualBox emulates three USB host controllers: xHCI, EHCI, and OHCI. While xHCI handles all USB transfer speeds, only guest OSes released approximately after 2011 support xHCI. Note that for Windows 7 guests, 3rd party drivers must be installed for xHCI support.

    Older OSes typically support OHCI and EHCI. The two controllers are needed because OHCI only handles USB low-speed and full-speed devices (both USB 1.x and 2.0), while EHCI only handles high-speed devices (USB 2.0 only).

    The emulated USB controllers do not communicate directly with devices on the host but rather with a virtual USB layer which abstracts the USB protocol and enables the use of remote USB devices.

  • Audio. See Section 3.8, “Audio Settings”.