72826

Windows unter Linux betreiben - dank Virtualbox

Virtualbox bietet als unkomplizierte Desktop-Virtualisierungssoftware fortgeschrittene Einsatzmöglichkeiten – etwa unter Linux.

Auf Linux-Systemen bietet der Kernel eigene Virtualisierungsmöglichkeiten für verschiedene Gastsysteme. Trotz der großen Konkurrenz, in der auch die kommerzielle Vmware Workstation mit fortgeschrittener Hardwareunterstützung und 3D-Beschleunigung mitmischt, kann sich Virtualbox behaupten. Denn Virtualbox ist komfortabel in der Bedienung und stellt für Windows-und Linux-Gastsysteme Treiber in Form der Gasterweiterungen bereit. Diese bieten eine bescheidene Hardwarebeschleunigung für die virtuellen Grafiktreiber, damit in der virtuellen Maschine Oberflächen wie beispielsweise Gnome und Unity anständig laufen. Für Linux-Anwender, die gerade von Windows umgestiegen sind, gibt es einen interessanten Aspekt: Windows-Programme, die in Wine nicht richtig funktionieren, bereiten in einer virtuellen Maschine keine Probleme, weil hier ein komplettes Windows läuft.

Virtualbox installieren und neue virtuelle Rechner einrichten

Virtualbox lässt sich etwa über das Software-Center von Ubuntu installieren. Allerdings handelt es sich dabei um eine ältere Version. Wir ziehen es daher vor, die zum Redaktionsschluss aktuelle Version 5.0 manuell aus dem Internet zu laden und danach einzurichten. Öffnen Sie in Firefox die Webseite von Virtualbox unter www.virtualbox.org . Klicken Sie hier links in der Navigation auf „Downloads“ und danach im Abschnitt „VirtualBox binaries“ auf die Zeile „VirtualBox 5.0 for Linux hosts“. Auf der nächsten Seite klicken Sie in der ersten Zeile auf den blau hinterlegten Link „i386“ beziehungsweise „AMD64“, je nachdem, ob Sie ein 32-oder 64-Bit-Ubuntu installiert haben. Im folgenden Fenster speichern Sie das rund 60 MB große Installationspaket auf Festplatte. Ist die Übertragung beendet, gehen Sie in das Download-Verzeichnis. Gehen Sie per Doppelklick auf die heruntergeladene Datei „virtualbox-5.0_5.0.24-108355-Ubuntu-xenial_i386.deb“ beziehungsweise „virtualbox-5.0_5.0.24-108355~Ubuntu~xenial_amd64.deb“. Es öffnet sich nun das Ubuntu-Software-Center. Klicken Sie auf „Installieren“, geben Sie Ihr root-Passwort ein und bestätigen Sie per Klick auf „Legitimieren“. Die Installation startet, zusätzlich benötigte Pakete werden mitinstalliert. Schließen Sie das Software-Center und öffnen Sie die Dash-Startseite. Geben Sie ins Suchfeld virtualbox ein. Das Virtualbox-Symbol wird angezeigt, ein Doppelklick darauf startet das Programm.

Das Einrichten neuer Gastsysteme entspricht der Vorgehensweise unter Windows. Orientieren Sie sich an diesem Workshop. Wie auch unter Windows sollten Sie im virtuellen PC auf dem Linux-Host die Gasterweiterungen installieren. Ohne die Host-Taste zu betätigen, wechseln Sie mit der Maus zwischen dem virtuellen PC und dem Host-Rechner.

Tipp: Die grundlegende Technik der Virtualisierung erklärt

Verschiedene Ansichtsmodi

Virtualbox unterstützt bei der Anzeige von virtuellen PCs neben dem normalen Fenstermodus noch weitere Modi, die ein virtuelles System möglichst eng mit dem Host verzahnen.

Vollbildmodus: Ideal ist die Anzeige, wenn gerade nur der Desktop sowie die Programme des Gastsystems benötigt werden. Am unteren Bildschirmrand gibt es eine Werkzeugleiste mit dem Virtualbox-Menü, das sich beim Darüberfahren mit der Maus einblendet.

Nahtloser Modus: Auf dem Host-System produziert dieser Modus einen Fenster-Mix, weil Programmfenster aus dem virtuellen System direkt auf dem Desktop dargestellt werden. Nützlich ist dies, wenn man mit einer ganz bestimmten Anwendung aus dem virtuellen System arbeiten möchte, jedoch nicht dessen kompletten Desktop braucht. Die Tastenkombination von rechter Strg-Taste mit L schaltet wieder zurück in den Fenstermodus.

Skalierter Modus: Diese Darstellung ist für Gastsysteme geeignet, deren Auflösung größer ist als die verfügbare Bildschirmauflösung. Das Virtualbox-Menü ist dabei unsichtbar. Aus diesem Modus geht es dann mit der rechten Strg-Taste und C wieder zurück zum Fenstermodus.

Skalierter Modus ohne Menüleiste: Immer dann nützlich, wenn die Auflösung des virtuellen Systems zu groß ist.
Vergrößern Skalierter Modus ohne Menüleiste: Immer dann nützlich, wenn die Auflösung des virtuellen Systems zu groß ist.

Wo bleiben die USB-Geräte?

Obwohl das Host-System ein angeschlosse-nes USB-Gerät anstandslos erkennt, will es in der Virtualbox manchmal nicht funktionieren. Auch in der Liste unter „Geräte -> USB-Geräte“ taucht es nicht auf. In den allermeisten Fällen liegt ein Berechtigungsproblem vor, das Virtualbox daran hindert, auf das USB-Subsystem des Hosts zuzugreifen. Um das im Einzelfall zu diagnostizieren, geben Sie in einem Terminal-Fenster das Kommando

VBoxManage list usbhost

ein, um die von Virtualbox erkannten USB-Geräte aufzulisten. Ist die Liste leer, dann ist klar, dass der Zugriff generell verwehrt ist. Die Ursache ist nahezu immer eine fehlende Gruppenzugehörigkeit des Benutzers, der Virtualbox ausgeführt hat. Damit das USB-Subsystem in Virtualbox funktioniert, muss der Benutzer nämlich Mitglied der Gruppe „vboxusers“ sein, die bei der Installation von Virtualbox automatisch angelegt wird. Um das Problem zu beheben, führen Sie in einem Terminal-Fenster das folgende Kommando mit root-Rechten oder mit vorangestelltem sudo aus.

/usr/sbin/usermod -a -G virtualbox [Benutzername]

Den Platzhalter „[Benutzername]“ ersetzen Sie durch Ihren Namen auf dem System. Dann ist eine Neuanmeldung am System notwendig.

Virtuelle Festplatten vergrößern

Bei virtuellen Systemen, die über Jahre gepflegt und erweitert werden, kann es vorkommen, dass der Platz der virtuellen Festplatte nicht mehr ausreicht. In diesem Fall ist es möglich, eine zweite virtuelle Platte hinzuzufügen. Im Gastsystem erscheint diese dann als separate Festplatte und muss erst noch in das bestehende Partitionsschema aufgenommen werden. Es gibt noch eine andere Möglichkeit, die mit dem vorhandenen Partitionsschema arbeitet: Das Kommandozeilen-Werkzeug von Virtualbox kann nachträglich eine virtuelle Festplatte ohne eine Neuinstallation des virtuellen Systems vergrößern. Vorausgesetzt, es handelt sich hierbei um virtuelle Festplatten im nativen Format VDI oder um das VHD-Format. Außerdem sollte es sich um Platten von dynamischer Größe handeln. Snapshots müssen deaktiviert sein. Diese beiden Voraussetzungen sind aber kein Hindernis, da Virtualbox auch dynamische Platten und Snapshot-Images in das Standardformat umwandeln kann. So funktioniert es:

1. Falls die zu vergrößernde Festplatte kein dynamisches Festplatten-Image ist, wandeln Sie das Image zunächst mit dem Befehl

VBoxManage clonehd [Dateiname] [Dateiname neu] --format VDI --variant Standard

in einem Terminal-Fenster um. Dabei wird ei-ne Kopie erzeugt, das originale Image bleibt erhalten. Für die Platzhalter „[Dateiname]“ und „[Dateiname neu]“ tragen Sie nun den Pfad zur VDI-oder VHD-Datei ein – etwa /home/user/VDI/winxppro.vdi und /home/user/VDI/winx ppro2.vdi. Den Pfad und den Typ der virtuellen Festplatte verrät eine virtuelle Maschine unter „Ändern -> Massenspeicher“.

2. Auf die VDI-Datei wenden Sie jetzt zum Vergrößern das Kommando

VBoxManage modifyhd [Dateiname] --resize [Megabyte]

an, wobei der „[Dateiname]“ wieder den Pfad zur VDI-Datei angibt und „[Megabyte]“ die neue Größe in MB bezeichnet.

3. Als Nächstes müssen noch die Partitionen des Gastsystems in der virtuellen Maschine auf die neue Festplatte ausgedehnt werden. Wie auch bei physikalisch installierten Systemen hilft der Partitionierer Gparted weiter. Sie können ihn über das bootfähige Live-System Parted Magic starten. Im Programm markieren Sie die gewünschte Partition und gehen auf „Größe ändern/Verschieben“, um die Partition auf die neue Festplattengröße auszudehnen. Bei Windows-Gastsystemen kann auch die Festplattenverwaltung (diskmgmt.msc) Partitionen ausdehnen.

Siehe auch: Fertige virtuelle Rechner aus dem Internet

Erweiterungspaket: Mehr Extras für Virtualbox

2004 erschien Virtualbox in zwei Versionen – einmal unter einer kommerziellen Lizenz mit USB-2-Support und RDP-Server sowie als reduzierte Open-Source-Version ohne diese Merkmale. Nachdem Virtualbox bei Oracle gelandet war, wurden beide Versionen in eine einzige zusammengeführt, die unter der GNU General Public License 2 erschien. USB 2.0 und RDP wurden dafür in ein optionales Erweiterungspaket ausgelagert, das als Freeware (kostenlos für private Nutzung) zum nachträglichen Download bereitsteht.

Aus diesem Grund ist es nach der Installation von Virtualbox noch erforderlich, für den kompletten Funktionsumfang das „Virtualbox Extension Pack“ jeweils in der passenden Versionsnummer herunterzuladen und dann in der Virtualbox über „Datei -> Globale Einstellungen -> Zusatzpakete“ zu installieren. Die Installation kann auch auf der Kommandozeile erfolgen, falls Virtualbox auf einem Server ohne grafische Oberfläche läuft:

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-[Version].vbox-extpack

Der Befehl muss als root oder mit vorangestelltem sudo ausgeführt werden. „[Version]“ steht für die tatsächliche Versionsnummer der Datei. Diese muss stets zur eingesetzten Version von Virtualbox passen. Falls es sich um ein Update auf eine neuere Version handelt, fügen Sie dem Kommando hinter „install“ bitte nur den Parameter –replace hinzu.

Virtuelle Maschinen im Netzwerk

Wenn das Virtualbox Extension Pack installiert ist, steht ein Gastsystem als Remote-Desktop auch über das Netzwerk zur Verfügung. Das ist nützlich, wenn ein zentraler PC mehrere Virtualbox-Maschinen für schwächere Clients anbieten soll. Sie aktivieren RDP und einen Netzwerkport in den Einstellungen einer virtuellen Maschine unter „Ändern -> Anzeige -> Fernsteuerung“. Aktivieren Sie dort die Option „Server aktivieren“ und stellen Sie einen „Serverport“ zwischen 1024 und 65535 ein. Das benutzte Protokoll ist Microsoft Rdesktop, als „Remote-Desktopverbindung“ unter Windows bekannt, für das es auch unter Linux zahlreiche Clients wie „Remmina“ gibt. Es findet sich in den Paketquellen von Ubuntu beispielsweise mit den Paketnamen „remmina“ und „remmina-plug in-rdp“. Für die Kommandozeile gibt es das Tool rdesktop, das mittels

rdesktop [IP-Adresse/Server-Name]:[Port]

eine Verbindung zu Virtualbox aufbaut.

Mehr Platz für virtuelle Maschinen: Das Kommandozeilentool Vboxmanage kann virtuelle Festplatten auch im Nachhinein vergrößern. Dabei muss es sich aber um Festplatten mit dynamischer Größe handeln.
Vergrößern Mehr Platz für virtuelle Maschinen: Das Kommandozeilentool Vboxmanage kann virtuelle Festplatten auch im Nachhinein vergrößern. Dabei muss es sich aber um Festplatten mit dynamischer Größe handeln.

Virtualbox über das Netz steuern

RDP ist nützlich, um sich zu einer laufenden VM zu verbinden. Aber wie lässt sich Virtualbox selbst über das Netzwerk steuern, um Maschinen zu starten und anzuhalten? Virtualbox unterstützt für diesen Zweck eine API, die mittels Soap (Simple Object Access Protocol) mit Clients spricht. Dazu muss auf dem Host-System nur mit dem Kommando

vboxwebsrv -b [Host/IP-Adresse]

der API-Server gestartet werden, der im normalen Benutzerkontext läuft und dann auf die VMs dieses Benutzers zugreifen darf. Der Parameter „[Host/IP-Adresse]“ gibt die Netzwerkadresse des Servers an, ansonsten läuft der Dienst lediglich auf dem Local Host für lokale Zugriffe. Alternative Oberflächen können dann vom Client aus die Virtualbox steuern. Zwei Open-Source-Projekte haben sich hier in der Praxis besonders bewährt:

Remotebox: Das Linux-Programm nutzt Perl, um die Virtualbox-API über das Netzwerk anzusprechen, und bietet hierfür auf dem Client eine grafische englischsprachige Oberfläche, die sich an der gewohnten GUI von Virtualbox orientiert. Den Quellcode (700 KB) sowie Links zu fertigen Paketen für Ubuntu, Fedora sowie Red Hat gibt es auf der englischsprachigen Webseite http://remotebox.knobgoblin.org.uk .

Tastatur-Scancodes in Virtualbox

Kombination

Scancode (Hex)

Strg-Alt-F1

1D 38 3B 9D B8 CB

Strg-Alt-F2

1D 38 3C 9D B8 CB

Strg-Alt-F3

1D 38 3D 9D B8 CB

Strg-Alt-F4

1D 38 3E 9D B8 CB

Strg-Alt-F5

1D 38 3F 9D B8 CB

Strg-Alt-F6

1D 38 40 9D B8 CB

Strg-Alt-F7

1D 38 41 9D B8 CB

Strg-Alt-Entf

1D 38 53 9D B8 CB

Phpvirtualbox: Einen anderen Weg geht das PHP-Tool Phpvirtualbox, das über einen Webserver auf dem Host-System eine Weboberfläche für Clients bereitstellt. Die Einrichtung ist anspruchsvoller, da sie auf dem Virtualbox-Host einen installierten Webserver wie Apache und ein einsatzbereites PHP voraussetzt. Der Vorteil ist, dass andere PCs für den Zugriff nur einen Browser und RDP-Client benötigen. Archive mit den PHP-Dateien und eine englischsprachige Anleitung finden Sie unter http://sourceforge.net/projects/phpvirtualbox .

Ein virtuelles System auf die gesamte Platte ausdehnen: Nach dem Vergrößern des Festplatten-Images ist es noch erforderlich, mit Gparted die vorhandenen Festplattenpartitionen entsprechend zu vergrößern.
Vergrößern Ein virtuelles System auf die gesamte Platte ausdehnen: Nach dem Vergrößern des Festplatten-Images ist es noch erforderlich, mit Gparted die vorhandenen Festplattenpartitionen entsprechend zu vergrößern.

Einen Tastendruck einfach per Befehlszeile simulieren

In Linux-Gastsystemen ist es nicht einfach möglich, wie auf einem physikalisch installierten Linux-System mit den Tastenkürzeln Alt-Strg-F1 bis Alt-Strg-F7 in Textkonsolen zu wechseln. Denn dabei reagiert das Host-System auf diese Tasten. Genauso verhält sich Strg-Alt-Löschen, das auch unter Windows hin und wieder benötigt wird. Virtualbox löst das Dilemma, indem diese Eingaben für das Gastsystem über eine alternative Tastenkombination erfolgen, in der die übliche linke Strg-Taste durch die rechte Strg-Taste ersetzt wird. In einem Ubuntu-Gast wechselt etwa Strg (rechts)-Alt-F1 auf die erste Konsole (tty1) und Strg (rechts)-Alt-F7 zurück zum Desktop. Oft hängen diese Kombinationen und funktionieren auch beim RDP-Zugriff über das Netzwerk nicht. Hier hilft der Trick, eine Tastenkombination per Kommandozeile zu simulieren:

VBoxManage list runningvms

in der Kommandozeile des Virtualbox-Hosts macht den Namen der VM ausfindig, und mit

VBoxManage controlvm [VM] key boardputscancode 1d 38 3b

können Sie dann mittels Tastencode eine beliebige Tastenkombination an die in „[VM]“ angegebene Maschine schicken, in diesem Beispiel etwa Alt-Strg-F1. Die Tastaturcodes weiterer Kombinationen entnehmen Sie bitte der Tabelle links unten auf dieser Seite.

Abkürzung: VM direkt starten

Der Weg, eine virtuelle Maschine zu starten, führt üblicherweise über die Oberfläche von Virtualbox. Wer aber oft dasselbe System startet, kann dies auch direkt über einen Terminal-Befehl oder im Ausführen-Dialog erledigen:

VBoxManage startvm „[VM-Name]“

In Desktop-Umgebungen wie etwa KDE und XFCE, die es weiterhin erlauben, eigene Programmstarter im Panel unterzubringen, lässt sich dieser Befehl dort auch als Symbol ablegen. Der Platzhalter „[VM-Name]“ ist stets die Bezeichnung der virtuellen Maschine, wie sie auch in der grafischen Oberfläche von Virtualbox angezeigt wird. Der Terminal-Befehl

VBoxManage list vms

sorgt dafür, dass diese Liste darüber hinaus in einem Terminal-Fenster angezeigt wird.

0 Kommentare zu diesem Artikel
72826