3.3. Emulated hardware

Oracle VM VirtualBox

3.3. Emulated hardware

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, VirtualBox emulates a standard PS/2 keyboard and mouse. These devices are supported by almost all past and present operating systems.

    In addition, VirtualBox can provide virtual USB input devices to avoid having to capture mouse and keyboard, as described in Section 1.8.2, “Capturing and releasing keyboard and mouse”.

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

  • Storage. 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 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. VirtualBox emulates three USB host controllers: xHCI, EHCI, and OHCI. While xHCI handles all USB transfer speeds, only guest operating systems released approximately after 2011 support xHCI. Note that for Windows 7 guests, 3rd party drivers must be installed for xHCI support.

    Older operating systems typically support OHCI and EHCI. The two controllers are needed because OHCI only handles USB low- 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 allows the use of remote USB devices.

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