Zum Inhalt springen

VirtualBox

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Juni 2011 um 21:44 Uhr durch Ballapete (Diskussion | Beiträge) (Funktionen). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Oracle VM VirtualBox

VirtualBox
VirtualBox 2.0.4 unter Ubuntu 8.10
Basisdaten

Hauptentwickler Oracle
Entwickler innotek GmbH
Erscheinungsjahr 15. Januar 2007
Aktuelle Version 4.0.8
(16. Mai 2011)
Betriebssystem Linux, Mac OS X, Solaris, Windows, OS/2 und andere
Programmier­sprache C[1], C++[2], Python[2], Assemblersprache[2]
Kategorie Virtualisierung, Emulation
Lizenz GNU GPL
deutschsprachig ja
VirtualBox.org

Oracle VM VirtualBox (auch kurz VB genannt) von Oracle ist eine Virtualisierungssoftware für Linux, Windows, Mac OS X, FreeBSD[3] oder Solaris als Wirtssystem und 32-Bit- oder 64-Bit-x86-Systeme als virtuelle Maschinen. Als Gastsysteme werden sowohl x64 als auch x86-Betriebssysteme unterstützt, welche bei der Einrichtung einer neuen virtuellen Maschine zur Auswahl stehen.

Überblick

Früher waren zwei unterschiedliche Ausgaben (engl. editions) mit unterschiedlichen Lizenzen verfügbar: Oracle VirtualBox mit allen Funktionen unter proprietärer Lizenz (PUEL[4]), welche für persönliche Zwecke sowie zu jeglicher Verwendung in Bildungseinrichtungen kostenfrei genutzt werden durfte, und VirtualBox Open Source Edition (OSE), welcher diverse Funktionen fehlten und die unter der GNU General Public License stand. Mittlerweile hat sich Oracle dafür entschieden, nur noch eine Ausgabe zu betreuen, welche unter der GNU General Public License steht und derzeit den Funktionsumfang der VirtualBox Open Source Edition (OSE) enthält. Weitere Funktionen sind über Module verfügbar. Die Funktionen, welche früher der proprietären Version vorbehalten waren, wurden jetzt in ein Modul ausgelagert, welches selbst unter der PUEL[4] steht. Somit muss für den Wechsel der beiden Versionen nun nicht mehr das komplette Programm neuinstalliert werden.

VirtualBox wurde von dem Unternehmen innotek entwickelt, das in Weinstadt ansässig ist.[5] Zunächst hatte innotek dem Hypervisor Virtual PC von Connectix zur Unterstützung des Betriebssystems OS/2 verholfen.[6] Nachdem Connectix von Microsoft aufgekauft worden war, begann innotek im Jahr 2004 mit der Entwicklung von VirtualBox und gewann unter anderem Behörden als Anwender.[7] Im Januar 2007 stellte innotek VirtualBox erstmals als freie Software zur Verfügung.[8] Im Februar 2008 wurde innotek von Sun Microsystems übernommen.[9] Sun Microsystems wiederum wurde im Januar 2010 von Oracle aufgekauft.[10] Seit dieser Übernahme wird VirtualBox von Oracle vertrieben.[8]

Funktionen

Festplatten werden in Containerdateien, von VirtualBox auch als „virtuelle Plattenabbilder“ (engl.Virtual Disk Images (VDI)“) bezeichnet, emuliert. Für diese Abbilder hat VirtualBox zwar dieses eigene Dateiformat, arbeitet aber auch mit Festplattendateien von VMware-Virtualisierungsprodukten (mit der Dateiendung „.vmdk“) und auch mit dem „Virtual Hard Disk“-Format (mit der Dateiendung „.vhd“) von Microsoft Virtual PC sowie mit HDD-Dateien von Parallels. Zudem können noch iSCSI-Objekte als virtuelle Festplatten genutzt werden, wobei der hierfür benötigte iSCSI-Initiator bereits in VirtualBox enthalten ist. Mit dem zu VirtualBox gehörenden Kommandozeilen-Werkzeug VBoxManager kann man diese fremden Formate auch konvertieren.

VirtualBox emuliert im Gastsystem u. a. folgende Komponenten:

Das „About VirtualBox“-Fenster der Open Source Edition zeigt die Maskottchen einiger unterstützter Gast-Betriebssysteme.

Die Grafikauflösung ist je nach System auf 800×600 oder 1024×768 Pixel beschränkt, lässt sich aber bei vielen Gastbetriebssystemen mit Hilfe entsprechender Treiber aus den Gasterweiterungen nachträglich erhöhen.

Die VMs lassen sich wahlweise über mehrere Frontends bedienen:

  • eine grafische Benutzeroberfläche (GUI), die die Grafikbibliothek Qt nutzt, in der aber noch nicht alle Optionen des Konsolenprogramms implementiert sind (VirtualBox)
  • ein Konsolenprogramm (VBoxManager)
  • ein SDL-Programm (VBoxSDL)
  • einen Remote-Desktop-Protocol-Server, der in der Konsole läuft (VBoxHeadless, vormals VBoxVRDP)

Die Virtualisierungserweiterungen der aktuellen Intel-CPUs mit der Bezeichnung VT-x und dessen AMD-Pendant AMD-V werden, sofern vorhanden, genutzt. Hierbei werden auch neuere Funktionen dieser Befehlssatzerweiterungen wie Nested Paging/Rapid Virtualization Indexing unterstützt.

Für Systeme ohne VT-x/AMD-V oder bei manueller Abwahl dieser Funktionen besitzt VirtualBox einen weiteren Modus, der "Raw Mode" genannt wird. Hierbei versucht VirtualBox, so viel Code wie möglich nativ auszuführen. In den meisten Fällen läuft Ring-3-Code des Gastsystems nativ auf dem Wirtssystem. Versucht das Gastsystem, Ring-0-Code auszuführen, führt das Wirtssystem diesen stattdessen im Ring-1 aus (der normalerweise nicht genutzt wird). Wenn es nicht möglich sein sollte, Code nativ auszuführen, muss dieser von einem Emulator ausgeführt werden, der auf dem Quellcode von QEMU basiert. Da die Ausführung von Ring-0-Code im Ring-1 zu sehr vielen Ausnahmen führt (privilegierte Instruktionen dürfen nur im Ring-0 ausgeführt werden), besitzt VirtualBox eine Technik namens "Patch Manager". Hierbei wird der Gastcode zur Laufzeit analysiert und gepatcht mit dem Ziel, die Anzahl der Ausnahmen zu reduzieren und damit die Ausführungsgeschwindigkeit zu steigern. In vielen Fällen ist der klassische Ansatz mit Patch Manager effizienter als VT-x/AMD-V, es gibt jedoch Einschränkungen in der Kompatibilität mit weniger verbreiteten Gastsystemen.

Unterstützte Betriebssysteme

Da VirtualBox einen x86-Prozessor in der virtuellen Umgebung simuliert, werden auch nur für diese Prozessor-Architektur geschriebene Betriebssysteme, sowohl als Gast- als auch als Wirt-Betriebssystem, unterstützt. Die Simulation beschränkt sich so auf das Erstellen einer VM, deren Prozessor dem tatsächlich im System verbauten Prozessor entspricht. Der Systemprozessor wird also, anders als bei QEMU, nicht vollständig simuliert.

Folgende Wirtssysteme (engl. host system) werden von der aktuellen Version unterstützt:

Darüber hinaus gibt es auch eine portable Version[11] von VirtualBox für verschiedene Versionen von Windows, die jedoch nicht von Oracle stammt und daher nicht offiziell unterstützt wird. Außerdem gibt es eine derzeit noch inoffizielle Version für FreeBSD, die von ehemaligen Sun-Entwicklern in deren Freizeit entwickelt wurde.[3]

Die unterstützten Gastsysteme (engl. guest system) waren bis Version 2.0 auf die x86-Architektur beschränkt, seit dieser Version werden auch x86_64-Architekturen unterstützt. Außer den unterstützten Wirtssystemen können noch zusätzlich folgende Systeme virtualisiert werden:

Mac OS X kann seit Version 3.2 in der Emulation ausgeführt werden, das ist aus lizenzrechtlichen Gründen jedoch nur mit Apple-Hardware möglich. Das heißt jedoch auch, dass ein Windows-Host (Boot Camp) auf Apple-Hardware ein OS X virtualisieren kann.

Es ist durchaus möglich, dass VirtualBox noch mit weiteren Gast-Betriebssystemen funktionsfähig ist. Das Aktivieren der Virtualisierungserweiterung moderner x86-Prozessoren (bei Intel VT-x, AMD-V bei AMD) kann dabei helfen, ein sonst nicht unterstütztes Betriebssystem in der virtuellen Umgebung von VirtualBox laufen zu lassen.

Gasterweiterungen

Die nur in englischer Sprache verfügbaren Gasterweiterungen (engl.Guest Additions“) von VirtualBox erweitern die Integration zwischen Wirt- und Gastsystem. Diese liegen für Windows (ab Windows NT4 SP6a) und OS/2 Warp als Binärdaten (als eine Art Treiber-CD) und für Linux als Quellcode vor und werden im virtuellen CD-Laufwerk innerhalb der VM bereitgestellt.

Die folgenden Komponenten werden dabei erweitert:

  • Grafikkarten-Treiber
    • der Mauszeiger kann das Fenster der VM verlassen, ohne die „Host-Taste“ benutzen zu müssen
    • die Grafikauflösung wird auf maximal 64000×64000 Pixel in 32-Bit-Farbtiefe erweitert; dadurch wird Mehrschirmbetrieb ermöglicht
    • die Grafikauflösung wird sofort an die Fenstergröße im Wirt angepasst
    • „nahtloser Fenstermodus“ (engl.seamless windows“) – die Programmfenster des Gastsystems können frei auf der Arbeitsfläche des Wirtssystems platziert werden
    • OpenGL-Unterstützung (derzeit nur für die 32-Bit-Versionen von Windows XP und Windows Vista sowie FreeBSD, Linux und Solaris, die offizielle Unterstützung für Linux umfasst nur neuere Kernel und verbreitete Distributionen)
    • Experimentelle Direct3D-8- und -9-Unterstützung für Windows 2000-, Windows-XP-, Vista- und Windows-7-Gastsysteme
  • „Gemeinsame Ordner“ – Wirtssystem und Gastsystem können Ordner gegenseitig freigeben bzw. synchronisieren (mono- und bidirektionaler Datentransfer)
  • exakte Zeit-Synchronisation zwischen Wirt- und Gastsystem
  • automatisierte Windows-Anmeldungen mittels VBoxGINA

Die Gasterweiterungen stehen unter der proprietären Lizenz (PUEL[4]), sind jedoch über eine Ausnahme in der Lizenz frei verteilbar. Für Windows-Versionen der 9x-Linie und andere Betriebssysteme gibt es die Gasterweiterungen nicht, ferner wird nur eine begrenzte Anzahl von Linux-Distributionen (Fedora/Red Hat, Ubuntu, openSUSE) offiziell unterstützt.[12] Ab Version 4 wird auch die neue, auf Compiz basierende Benutzeroberfläche Unity der Linux-Distribution Ubuntu unterstützt.

Funktionen des proprietären Modules

Einige Funktionen, die nur im proprietären Modul enthalten sind:

  • virtuelle USB-Geräte, die man im Gastsystem benutzen kann, obwohl auf dem Wirtssystem keine entsprechenden Treiber vorliegen
  • das Remote Desktop Protocol (RDP) wird vollständig unterstützt und erlaubt einer VM, einen RDP-Server zu betreiben
  • USB über RDP, das einem RDP-Server in einer VM erlaubt, USB-Geräte von Thin-Clients zu benutzen

Versionsgeschichte

Legende: Alte Version Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version
Version Veröffentlichung Beschreibung / Änderungen
Ältere Version; nicht mehr unterstützt: 1.3.2 15. Januar 2007 Erste veröffentlichte Version. Verfügbare Lizenzen waren von Beginn an die PUEL sowie, in einer abgespeckten Variante von VirtualBox, die GPL.
Ältere Version; nicht mehr unterstützt: 1.3.8 14. März 2007 Fehlerbereinigungen; ALSA-Unterstützung unter Linux (Version 1.3.4); Grafik-VRAM-Limit auf 128 MB erhöht (Version 1.3.6); zuvor erschienen die Aktualisierungen 1.3.4 und 1.3.6.
Ältere Version; nicht mehr unterstützt: 1.4 6. Juni 2007 Mit Version 1.4 kamen die Unterstützung für 64-Bit-Linux-Systeme und Mac OS X/Intel als Wirtssystem hinzu. Zudem können seit dieser Version die Festplattendateien (mit der Dateiendung „.vmdk“) der VMware-Virtualisierungsprodukte direkt genutzt werden. Auch die Unterstützung für serielle Schnittstellen kam hinzu und USB-Geräte können nun dynamisch einer virtuellen Maschine zugewiesen und auch wieder an das Wirtssystem zurückgegeben werden. Der Zugriff auf die Gastsysteme in den virtuellen Maschinen ist nun über den integrierten RDP-Server dank Session-Shadowing von mehreren RDP-Clients aus gleichzeitig möglich.[13] Zusätzlich gibt es zahlreiche Fehlerbereinigungen und Einzelverbesserungen.
Ältere Version; nicht mehr unterstützt: 1.5 3. September 2007 Ab dieser Version unterstützt VirtualBox auch 64-Bit-Windows (XP und Vista) als Wirtssystem. Neben weiteren Fehlerbereinigungen und Detailverbesserungen sind virtuelle serielle Schnittstellen, Intel-PXE-2.1-Netzwerk-Boot-Fähigkeit, die Gasterweiterungen für OS/2 Warp und der nahtlose Fenstermodus (engl. seamless windows) hinzugekommen, mit dessen Hilfe Fenster des emulierten Windows-Gastsystems in das Wirtssystem integriert und somit auf demselben Desktop wie die restlichen Programmfenster des Wirtssystems platziert werden können.
Ältere Version; nicht mehr unterstützt: 1.5.6 19. Februar 2008 Fehlerbereinigung; Unterstützung für USB 2.0 und Audio-Ausgabe über PulseAudio (Version 1.5.4); Version 1.5.6 ist die letzte noch von der innotek GmbH herausgegebene Version; zuvor erschienen die Aktualisierungen 1.5.2 und 1.5.4.
Ältere Version; nicht mehr unterstützt: 1.6 30. April 2008 Neu in dieser bereits als „Sun xVM VirtualBox“ veröffentlichen Version ist Solaris- und Mac OS X-Wirtssystem-Unterstützung, ein Webservice-API, virtualisierter Serial-ATA-AHCI-Controller für Gastsystem-Festplatten sowie experimentelle Unterstützung für Physical Address Extension (PAE). Die Emulation beinhaltet seither neben AC97-Audio auch einen Sound Blaster 16. Die Gasterweiterungen sind jetzt auch für Solaris verfügbar und der nahtlose Fenstermodus (engl. seamless windows) funktioniert auch in Linux- und Solaris-Gastsystemen.
Ältere Version; nicht mehr unterstützt: 1.6.6 2. September 2008 Fehlerbereinigung; „Intel PRO/1000 T Server (82543GC)“-Netzwerkkarte hinzugefügt, die von Windows XP von Haus aus unterstützt wird (Version 1.6.2); zuvor erschienen die Aktualisierungen 1.6.2 und 1.6.4.
Ältere Version; nicht mehr unterstützt: 2.0 4. September 2008 In dieser „großen“ Version (engl. major update) wurde das grafische Frontend grundlegend überarbeitet. So wurde neben dem Umstieg von Qt Version 3 auf Version 4 ein natives grafisches Frontend für Mac OS X 10.5 „Leopard“ erstellt. Neu ist auch die Unterstützung von 64-Bit-Gastsystemen in einer 64-Bit-Wirtsumgebung, sowie die Unterstützung von Virtual-PC-Festplattendateien (“Virtual Hard Disk”, Dateiendung „.vhd“).[14] Daneben gibt es zahlreiche Fehlerbereinigungen und Detailverbesserungen.
Ältere Version; nicht mehr unterstützt: 2.0.6 21. November 2008 Fehlerbereinigung; zuvor erschienen die Aktualisierungen 2.0.2 und 2.0.4.
Ältere Version; nicht mehr unterstützt: 2.1 17. Dezember 2008 Unterstützung für Hardware-Virtualisierung wird mit dieser Version auf Mac-OS-X-Wirtssysteme erweitert und experimentelle Unterstützung gibt es für 64-Bit-Gast-Betriebssysteme auf 32-Bit-Wirtssystemen sowie für OpenGL (nur die 32-Bit-Versionen von Windows XP und Windows Vista).
Ältere Version; nicht mehr unterstützt: 2.1.4 16. Februar 2009 Fehlerbereinigung; Zuvor erschien die Version 2.1.2 mit Unterstützung für die erste Beta-Version von Windows 7
Ältere Version; nicht mehr unterstützt: 2.2 8. April 2009 OpenGL ist jetzt auch auf Linux- und Solaris-Gastsystemen möglich, ebenso Gemeinsame Ordner auf Solaris- und OpenSolaris-Gästen und USB-Unterstützung auf OpenSolaris-Wirtssystemen (experimentell). Neu ist u. a. auch ein Host-only-Netzwerkmodus, die Unterstützung des Open Virtualization Formats sowie die Erhöhung des Speicherlimits auf 16 GB von Gästen auf 64-Bit-Wirtssystemen. VT-x/AMD-V und USB (OHCI & EHCI, nur bei Qt-GUI) sind jetzt bei neuen Gästen standardmäßig aktiviert. Ansonsten wurden Fehlerbereinigungen und Detailverbesserungen vorgenommen.
Ältere Version; nicht mehr unterstützt: 2.2.4 29. Mai 2009 Fehlerbereinigung; Zuvor erschien die Version 2.2.2 mit erstmaliger Unterstützung von Mac OS X v10.6 als Wirtssystem.
Ältere Version; nicht mehr unterstützt: 3.0 30. Juni 2009 Neuerungen: Unterstützung von Symmetric Multi-Processing (SMP) für Gast-Betriebssysteme mit bis zu 32 virtuellen CPUs, Unterstützung für OpenGL 2.0 und die als experimentell eingestufte Unterstützung von Direct3D 8 und 9 für Windows-Gastsysteme.[15]
Ältere Version; nicht mehr unterstützt: 3.0.14 18. März 2010 Fehlerbereinigungen mit kleineren Neuerungen; zuvor erschienen die Versionen 3.0.2, 3.0.4, 3.0.6, 3.0.8, 3.0.10 und 3.0.12.
Ältere Version; nicht mehr unterstützt: 3.1 30. November 2009 Neuerungen: Teleportation ermöglicht aktuell laufende virtuelle Maschinen (VM) auf einen anderen Host zu übertragen. VMs können zu einem beliebigen Snapshot zurückkehren anstatt nur zum letzten Snapshot, 2D-Grafikbeschleunigung von Windows-Gastbetriebsystemen, Änderungen an den Netzwerkeinstellungen lassen sich während des Betriebs der VM vornehmen.
Ältere Version; nicht mehr unterstützt: 3.1.8 10. Mai 2010 Fehlerbereinigungen mit kleineren Neuerungen; zuvor erschienen die Versionen 3.1.2, 3.1.4 und 3.1.6.
Ältere Version; nicht mehr unterstützt: 3.2 18. Mai 2010 Neuerungen: Umbenennung in Oracle VM VirtualBox aufgrund der Übernahme von Sun durch Oracle. Mac OS X als Gast auf Apple Hardware. Verbesserte Speicherverwaltung, CPU hot-plugging, Unterstützung für mehrere Monitore, Snapshots können während des Betriebs gelöscht werden, Emulation eines LsiLogic SAS Controllers, RDP Video Beschleunigung, konfigurierbare NAT
Ältere Version; nicht mehr unterstützt: 3.2.12 30. November 2010 Fehlerbereinigungen mit kleineren Neuerungen; zuvor erschienen die Versionen 3.2.2, 3.2.4, 3.2.6, 3.2.8 und 3.2.10.
Aktuelle Version: 4.0 22. Dezember 2010 Neuerungen: überarbeitete Benutzeroberfläche, Dateien können direkt in das Dateisystem des Gastsystems kopiert werden; es werden Disk-Images im VMDK-, VHD- und Parallels-Format unterstützt; VDI- sowie VHD-Images lassen sich vergrößern und verkleinern, die Kernkomponenten der Version 4.0 stehen unter GPLv2 Lizenz, die Erweiterungen (extpack) unter PUEL Lizenz (Oracles Personal Use and Evaluation License)

Siehe auch

Produkte, die in direkter Konkurrenz zu VirtualBox stehen:

Weitere Virtualisierungsprodukte:

Einzelnachweise

  1. The virtualbox Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
  2. a b c Language Breakdown. (englisch, abgerufen am 26. Juli 2018).
  3. a b Alexander Eichner: [vbox-dev] VirtualBox on FreeBSD. 29. April 2009, abgerufen am 20. Oktober 2010.
  4. a b c VirtualBox Personal Use and Evaluation License (PUEL). Oracle, 19. April 2010, abgerufen am 20. Oktober 2010 (englisch, License version 8).
  5. innotek GmbH. Oracle, abgerufen am 20. Oktober 2010 (englisch).
  6. Timothy Sipples: Innotek/Connectix Virtual PC. In: Bityard Magazine. 4. März 2002, abgerufen am 20. Oktober 2010.
  7. Oliver Diedrich: VirtualBox: PC-Virtualisierung unter GPL. In: heise Open Source. 15. Januar 2007, abgerufen am 20. Oktober 2010.
  8. a b News. January 15, 2007. In: virtualbox.org. Oracle, 15. Januar 2007, abgerufen am 20. Oktober 2010 (englisch).
  9. Oliver Diedrich: Sun übernimmt VirtualBox-Hersteller Innotek. In: heise Open Source. 12. Februar 2008, abgerufen am 20. Oktober 2010.
  10. Stephen Shankland, Florian Kalenda: Oracle schließt Sun-Übernahme ab. In: ZDNet.de. 27. Januar 2010, abgerufen am 20. Oktober 2010.
  11. Portable-VirtualBox. Abgerufen am 20. Oktober 2010 (Erstellt von der deutschen nLite-Community, siehe Portable Virtual Box - Win-Lite Forum).
  12. Hilfe-Datei, Abschnitt „Linux Guest Additions“
  13. Andreas Beier: Virtualisierer VirtualBox aktualisiert [Update]. In: heise online. 6. Juni 2007, abgerufen am 20. Oktober 2010.
  14. Oliver Diedrich: VirtualBox 2.0 mit Unterstützung für 64-Bit-Gäste [Update]. In: heise online. 4. September 2008, abgerufen am 20. Oktober 2010.
  15. Alexandra Kleijn: VirtualBox 3.0 als Beta verfügbar. In: heise online. 17. Juni 2009, abgerufen am 20. Oktober 2010.
Commons: VirtualBox – Sammlung von Bildern, Videos und Audiodateien

Literatur