VirtualBox

Virtualisierungssoftware
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Januar 2009 um 22:02 Uhr durch Vanger (Diskussion | Beiträge) ("GNU/Linux" raus, der Konsens in der dt. Wikipedia ist "Linux" und nur "Linux" zu schreiben, siehe Diskussionen auf Diskussion:Linux). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Sun xVM VirtualBox von Sun Microsystems ist eine virtuelle Maschine (VM) für 32-Bit- und 64-Bit-x86-Systeme, die als Wirtsystem Linux, Windows, Mac OS X oder Solaris einsetzt. Als Gastsysteme werden eine Reihe von Betriebssystemen für die x86-Architektur unterstützt.

Sun xVM VirtualBox

Datei:Virtualbox.png
VirtualBox
VirtualBox
Basisdaten

Hauptentwickler Sun Microsystems
Entwickler innotek GmbH
Erscheinungsjahr 15. Januar 2007
Aktuelle Version 2.1.2
(21. Januar 2009)
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 GPL / proprietär
deutschsprachig ja
VirtualBox.org

Überblick

Zwei unterschiedliche Ausgaben (engl. editions) in unterschiedlichen Lizenzen sind verfügbar: Sun xVM VirtualBox mit allen Funktionen unter proprietärer Lizenz (PUEL[3]), welche für persönliche Zwecke sowie zu jeglicher Verwendung in Bildungseinrichtungen kostenfrei genutzt werden darf, und VirtualBox Open Source Edition (OSE), welcher diverse Funktionen fehlen und die unter der GNU General Public License steht. Die proprietäre Lizenz erlaubt zusätzlich das Testen (engl. evaluation) des Produktes für einen „vernünftigen“ Zeitraum, ohne diesen jedoch genauer einzuschränken als „normalerweise ein paar Wochen“. Die Open Source Edition ist von Sun nur in Form eines Quelltext-Tarballs verfügbar.

Das Unternehmen innotek arbeitete zusammen mit Connectix am funktionsähnlichen Produkt Virtual PC, das 2003 von Microsoft gekauft wurde. Seitdem widmete sich innotek vornehmlich der Linux-Unterstützung in Virtual PC und Virtual Server.[4] Am 20. Februar 2008 wurde der Erwerb von innotek durch Sun Microsystems vollzogen[5][6]. Sun hat VirtualBox in die eigene xVM-Produktlinie eingegliedert.

Eigenschaften

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

Festplatten werden in sogenannten Containern, von VirtualBox auch als „virtuelle Plattenabbilder“ (engl. “Virtual Disk Images (VDI)”) bezeichnet, emuliert, welche allerdings inkompatibel mit denen anderer virtuellen Maschinen sind. Daneben können auch Festplattendateien von VMware-Virtualisierungsprodukten (mit der Dateiendung „.vmdk“) und das “Virtual Hard Disk”-Format (mit der Dateiendung „.vhd“) von Microsoft Virtual PC eingebunden werden. In der proprietären Version können zusätzlich noch iSCSI-Objekte als virtuelle Festplatten genutzt werden.

VirtualBox emuliert im Gastsystem u. a. folgende Komponenten:

Die Grafikauflösung ist je nach System auf 800×600 oder 1024×768 Pixel beschränkt, lässt sich aber bei vielen Gastbetriebssystemen mithilfe 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 (VBoxManage)
  • ein SDL-Programm (VBoxSDL)
  • einen Remote-Desktop-Protocol-Server, der in der Konsole läuft (VBoxHeadless, vormals VBoxVRDP)

VirtualBox versucht, so viel Code wie möglich nativ auszuführen. In den meisten Fällen läuft Ring-3-Code des Gastsystems nativ auf dem Wirtsystem. Versucht das Gastsystem, Ring-0-Code auszuführen, führt das Wirtsystem 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.

Die Virtualisierungserweiterungen der aktuellen Intel-CPUs mit der Bezeichnung VT-x und dessen AMD-Pendant AMD-V werden zwar unterstützt, in der Standardeinstellung werden die Techniken aber nicht genutzt. Selbst wenn sie vom Benutzer aktiviert wurden, kommen sie wegen geringer Vorteile und geringerer Geschwindigkeit selten zum Einsatz. Momentan besteht der Hauptnutzen darin, Gastsysteme auszuführen, mit denen die Softwarevirtualisierung von VirtualBox nicht oder noch nicht vollständig kompatibel ist.

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 Wirtsysteme (engl. host system) werden von der aktuellen Version unterstützt:

Darüberhinaus gibt es auch eine portable Version[7] von VirtualBox für verschiedene Versionen von Windows, die jedoch nicht von Sun stammt und daher nicht offiziell unterstützt wird.

Auch die unterstützten Gastsysteme (engl. guest system) sind auf die x86-Architektur beschränkt. Neben den unterstützten Wirtsystemen, ausgenommen Mac OS X/Intel, werden zusätzlich folgende Systeme unterstützt:

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 Wirtsystems platziert werden
  • „Gemeinsame Ordner“ – Wirtsystem 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[3]). 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.[8]

Unterschiede zwischen Open-Source- und proprietärer Version

Einige Funktionen, die nur in der proprietären Version erhältlich sind[9]:

  • virtuelle USB-Geräte, die man im Gastsystem benutzen kann, obwohl auf dem Wirtsystem 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
  • iSCSI-Unterstützung für virtuelle Festplatten, ohne dass das Gastsystem iSCSI unterstützen muss
  • Serial ATA-Controller im Gastsystem

Das Unternehmen innotek hat angekündigt, dass die Funktionen der proprietären Ausgabe schrittweise in die Open-Source-Version übergehen sollen.

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 und freie Version (PUEL sowie GPL).
Ältere Version; nicht mehr unterstützt: 1.3.4 12. Februar 2007 Fehlerbereinigungen sowie ALSA-Unterstützung unter Linux.
Ältere Version; nicht mehr unterstützt: 1.3.6 20. Februar 2007 Fehlerbereinigungen, Grafik-VRAM-Limit auf 128 MB erhöht.
Ältere Version; nicht mehr unterstützt: 1.3.8 14. März 2007 Hauptsächlich Fehlerbereinigungen.
Ältere Version; nicht mehr unterstützt: 1.4.0 6. Juni 2007 Neu sind die Unterstützung für 64-Bit-Linux-Systeme und Mac OS X/Intel als Wirtsystem. Zudem können nun auch, neben dem direkten Zugriff physikalischer Festplatten und Partitionen, die Festplattendateien (mit der Dateiendung „.vmdk“) der VMware-Virtualisierungsprodukte direkt genutzt werden. Neu ist auch die Unterstützung für serielle Schnittstellen. 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.[10] Zusätzlich gibt es zahlreiche Fehlerbereinigungen und Einzelverbesserungen.
Ältere Version; nicht mehr unterstützt: 1.5.0 3. September 2007 Ab dieser Version unterstützt VirtualBox auch 64-Bit-Windows (XP und Vista) als Wirtsystem. 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 Wirtsystem integriert und somit auf dem selben Desktop wie die restlichen Programmfenster des Wirtsystems platziert werden können.
Ältere Version; nicht mehr unterstützt: 1.5.2 18. Oktober 2007 Zahlreiche Fehlerbereinigungen.
Ältere Version; nicht mehr unterstützt: 1.5.4 29. Dezember 2007 Neben Fehlerbereinigungen ist nun Unterstützung für USB 2.0 und die Audio-Ausgabe über PulseAudio hinzugekommen.
Ältere Version; nicht mehr unterstützt: 1.5.6 19. Februar 2008 Nur Fehlerbereinigungen. Letzte von innotek herausgegebene Version.
Ältere Version; nicht mehr unterstützt: 1.6.0 30. April 2008 Neu in diesem „großen“ Update, das bereits als „Sun xVM VirtualBox“ veröffentlich wurde, ist Solaris- und Mac OS X-Wirtsystem-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 nun 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 für Linux- und Solaris-Gastsysteme. Dazu gibt es wieder zahlreiche Fehlerbereinigungen, darunter, dass die “Shared Folders” nun auch in Windows NT 4.0-Gastsystemen funktionieren.
Ältere Version; nicht mehr unterstützt: 1.6.2 6. Juni 2008 Neben vielen Fehlerbereinigungen stellt diese Version zusätzlich eine „Intel PRO/1000 T Server (82543GC)“-Netzwerkkarte zur Verfügung, die beispielsweise von Haus aus von Windows XP unterstützt wird.
Ältere Version; nicht mehr unterstützt: 1.6.4 30. Juli 2008 Nur Fehlerbereinigungen, beispielsweise Verbesserung der Stabilität mit aktivierter Hardware-Virtualisierung VT-x und AMD-V.
Ältere Version; nicht mehr unterstützt: 1.6.6 2. September 2008 Nur Fehlerbereinigungen.
Ältere Version; nicht mehr unterstützt: 2.0.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“).[11] Daneben gibt es zahlreiche Fehlerbereinigungen und Detailverbesserungen.
Ältere Version; nicht mehr unterstützt: 2.0.2 12. September 2008 Hauptsächlich Fehlerbereinigungen.
Ältere Version; nicht mehr unterstützt: 2.0.4 24. Oktober 2008 Nur Fehlerbereinigungen.
Ältere Version; nicht mehr unterstützt: 2.0.6 21. November 2008 Hauptsächlich Fehlerbereinigungen.
Ältere Version; nicht mehr unterstützt: 2.1.0 17. Dezember 2008 Hardware-Virtualisierung auf Mac-OS-X-Wirtssystemen. Experimentelle Unterstützung von 64-Bit-Gast-Betriebssystemen auf 32-Bit-Wirtssystemen. Experimentelle OpenGL-Unterstützung.
Aktuelle Version: 2.1.2 21. Januar 2009 Hauptsächlich Fehlerbereinigungen. Neu ist neben verbesserter Unterstützung für Linux die Aufnahme von Windows 7 in das grafische Frontend.

Siehe auch

Produkte, die in direkter Konkurrenz zu VirtualBox stehen:

Weitere Virtualisierungsprodukte:

Kritiken und Tests

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 VirtualBox Personal Use and Evaluation License (PUEL)
  4. heise open: „VirtualBox – PC-Virtualisierung unter GPL“ vom 15. Januar 2007
  5. innotek.de – ehemalige Internetpräsenz der deutschen innotek GmbH, die mit 20. Februar 2008 von Sun Microsystems gekauft wurde
  6. “Sun Welcomes Innotek” (englisch)
  7. Eine portable Version von VirtualBox, Portable-VirtualBox, erstellt von der deutschen nLite-Community.
  8. Hilfe-Datei, Abschnitt „Linux Guest Additions“
  9. VirtualBox editions (englisch)
  10. heise online: „Virtualisierer VirtualBox aktualisiert“ vom 6. Juni 2007
  11. heise online: „VirtualBox 2.0 mit Unterstützung für 64-Bit-Gäste“ vom 4. September 2008