# VirtualBox

VirtualBox is een vrij computerprogramma om besturingssystemen te draaien binnen een (ander) besturingssysteem. Dit gebeurt op basis van virtualisatie. VirtualBox is beschikbaar in verschillende talen voor Windows, macOS, Linux, OS/2, Solaris en Unix.

## Beschrijving

VirtualBox is een x86- en x64-virtualisatiesoftwarepakket dat oorspronkelijk door het Duitse softwarebedrijf Innotek werd ontwikkeld. Sinds 2010 wordt het programma ontwikkeld door Oracle (door de overname van Sun Microsystems). Het wordt geïnstalleerd op bestaande besturingssystemen en maakt het mogelijk om binnen een virtuele omgeving een ander besturingssysteem te installeren. De zogeheten "gastbesturingssystemen" draaien ieder in een eigen virtuele omgeving.
Ondersteunde host-besturingssystemen zijn Linux, macOS, OS/2, Windows (vanaf Windows XP) en Solaris. Ondersteunde gastbesturingssystemen zijn DragonFlyBSD, FreeBSD, OpenBSD, Linux, OS/2 Warp, Windows, NetWare, QNX, MS-DOS en Solaris.

## Geschiedenis

Sinds versie 2.0 is er volledige ondersteuning voor 64 bits-gastsystemen. In versie 2.2 is 3D (OpenGL)-ondersteuning van cliënten toegevoegd. Versie 3.0 ondersteunt DirectX, OpenGL 2.0 en meerdere processors (SMP). Sinds versie 3.1 is er de mogelijkheid om van Live Migration (ook wel Teleportatie genoemd) gebruik te maken bij verhuizingen. In versie 4.0 werd de GUI aangepast en kwam er onder andere ondersteuning voor Open Virtualization Format Archive, voor beheer van de hulpmiddelen (zoals CPU) en voor meer gastsystemen.

### Versie 4.2.0

Versie 4.2.0 bèta werd uitgebracht op 3 augustus 2012, gevolgd door RC1 op 13 augustus 2012. Nieuw in deze versie zijn onder meer:
* Expertmodus, voor het sneller aanmaken van hardeschijfimages
* Betere ondersteuning voor Windows 8
* Sommige instellingen kunnen veranderd worden als de virtuele machine is opgestart
* Experimentele ondersteuning voor slepen en neerzetten van het hostsysteem naar een virtuele Linux-machine
* Netwerkverkeer beperken
* Ondersteuning voor maximaal 36 netwerkkaarten

### Versie 4.3.0

Versie 4.3.0 werd uitgebracht op 15 oktober 2013. Deze versie bevat volgende veranderingen:
* Virtuele multitouch-USB-interface om aanraakgeoriënteerde besturingssystemen te ondersteunen
* Video-opname maken van de VM-sessie in WebM-formaat
* Overlaypop-ups om informatie en waarschuwingen te tonen
* Sneltoetsen instellen voor VirtualBox Manager en de virtuele machine
* Een nieuwe virtuele USB-webcam waardoor webcams ook werken in een virtuele machine
* IPv6-ondersteuning
* Herschrijving van de VT-x- en AMD-V-code resulterend in bugfixes en verbeteringen
* Ondersteuning voor Windows 8.1, Windows Server 2012 R2 en Mac OS X 10.9

### Versie 5.0

VirtualBox 5.0 bevat para-virtualisatie voor Windows- en Linux-gastbesturingssystemen om de prestaties te verhogen. Versie 5 brengt ook instructiesetuitbreidingen voor de gast (virtuele machine) zoals een XHCI-controller om USB 3.0 te ondersteunen. Ook bidirectioneel slepen-en-neerzetten, schijfimage-encryptie, GUI-verbeteringen en vele foutoplossingen maken deel uit van versie 5.

## Licentie

VirtualBox bestond voor versie 4 in twee soorten. De complete versie viel onder de VirtualBox Personal Use and Evaluation License, die persoonlijk gebruik, gebruik in onderwijs en gebruik voor evaluatie gratis toelaat. Licenties voor commerciële uitreiking van de volle VirtualBox pakket kunnen bij Oracle gekocht worden, maar commercieel gebruik door individuen in een bedrijf is gratis toegelaten.
Sinds VirtualBox 4 zijn de twee edities samengevoegd tot één opensource-editie, uitgegeven onder de voorwaarden van de GPL. Deze beschikt standaard niet over closedsource-features zoals:
* De ingebouwde Remote Desktop Protocol (RDP)-server
* USB-ondersteuning (2.0) en de combinatie van RDP- en remote-USB-devices (USB 1.0 wordt standaard ondersteund).
* PXE-ondersteuning
* ROM met E1000-ondersteuning
Ondersteuning voor deze functies kan geïnstalleerd worden met een uitbreidingspakket dat onder de VirtualBox Personal Use and Evaluation License valt.

## Functies

Met VirtualBox kunnen virtuele machines worden aangemaakt. De hiervoor ondersteunde bestandsformaten zijn VDI, VMDK, VHD, HDD, QED en QCOW. Sinds versie 4.2 is het mogelijk om een virtuele harde schijf aan te maken in één stap. VirtualBox emuleert typische computerhardware en beschikt daarnaast over gastuitbreidingen om de integratie met het hostsysteem te verbeteren (zoals gedeeld klembord tussen host- en gastsysteem).

### Hardware-emulatie

Hardware-emulatie is het virtualiseren van verschillende fysieke onderdelen van een computer.

#### Virtuele harde schijven

VirtualBox ondersteunt de VT-x-hardware-virtualisator van Intel en ook de AMD-V van AMD maar gebruikt geen van beide als standaard. Harde schijven worden in een speciaal formaat geëmuleerd, namelijk in Virtual Disk Images, die incompatibel zijn met de andere formaten die andere virtualisatieprogramma's gebruiken. Deze bestanden worden opgeslagen op het hostbesturingssysteem als een .vdi-bestand. VirtualBox kan ook een alternatieve manier gebruiken om harde schijven te emuleren. Het maakt gebruik van een zijn unieke eigenschappen die het laat verbinden met iSCSI-doelen en ze gebruiken als virtuele schijven. VirtualBox kan schijfimages ook lezen en schrijven in VMware Virtual Machine Disk Format (VMDK). Het heeft ook een feature die Microsoft VirtualPC-schijven converteren. De instellingen hiervoor kunnen gewijzigd worden door ofwel naar File Preferences (CTRL + G) te gaan ofwel voor Machine Settings (CTRL + S) te kiezen.

#### Virtuele cd/dvd-stations

ISO-images kunnen gemount worden als een cd- of dvd-drive. Dit blijkt enorm nuttig te zijn bij de installatie van opensourceprogramma's zonder een cd. Bijvoorbeeld de dvd-image van een Linux-besturingssysteem kan gedownload worden en geïnstalleerd worden door VirtualBox zonder een dvd te moeten branden. Het is ook mogelijk echte cd/dvd-drives te mounten op de virtuele machine.

#### Virtuele netwerkkaart/netwerkadapter

Voor een Ethernetnetwerkadapter worden de volgende netwerkkaarten gevirtualiseerd: AMD PCnet PCI II (Am79C970A), AMD PCnet-Fast III (Am79C973), Intel Pro/1000 MT Desktop (82540EM) en Intel Pro/1000 T Server (82543GC). Door hun brede keuze aan netwerkadapters kunnen veel verschillende besturingssystemen geïnstalleerd worden zonder op zoek te moeten gaan naar passende besturingselementen. Standaard wordt het netwerk ingesteld met NAT waardoor programma's zoals Firefox en ssh kunnen werken. Voor niet-Vista-hostbesturingssystemen bestaan er andere oplossingen zoals virtuele netwerken tussen guests. Tot vier netwerkadapters kunnen tegelijkertijd ingesteld zijn.

#### Virtuele geluidskaart

Voor een geluidskaart virtualiseert VirtualBox een Intel ICH AC'97- of een Soundblaster 16-kaart.