VirtualBox: Unterschied zwischen den Versionen

Aus m-wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 2: Zeile 2:
=== Allgemein ===
=== Allgemein ===
Vieles aus folgendem Buch übernommen:
Vieles aus folgendem Buch übernommen:
* Titel: VirtualBox Installation, Anwendung, Praxis
 
* Autor: Dirk Becker
{| class="wikitable"
* Verlag: Galileo Computing
|-
* ISBN: 978-3-8362-1778-1
! Schlagwort !! Info
* Webseite zum Buch: http://www.galileocomputing.de/
|-
| Titel || VirtualBox Installation, Anwendung, Praxis
|-
| Author || Dirk Becker
|-
| Verlag || Galileo Computing
|-
| ISBN || 978-3-8362-1778-1
|-
| Webseite zum Buch || http://www.galileocomputing.de/
|}


Läuft unter Windows, Linux, MacOS X und OpenSolaris. Ist Freeware. Das "Virtual Box Extension Pack" ist allerdings lizenzpflichtig und darf von Firmen nur getestet werden. Danach muss laut Lizenz ein Support-Vertrag ausgehandelt werden.
Läuft unter Windows, Linux, MacOS X und OpenSolaris. Ist Freeware. Das "Virtual Box Extension Pack" ist allerdings lizenzpflichtig und darf von Firmen nur getestet werden. Danach muss laut Lizenz ein Support-Vertrag ausgehandelt werden.
Zeile 15: Zeile 25:
! Begriff !! Erklärung
! Begriff !! Erklärung
|-
|-
| Intel VT || Virtualisierungstechnologie im Prozessor, welche sicherstellt, dass etwa Arbeitsspeicher nicht überschrieben wird und betsimmte I/O sauber durchgeschlauft wird\
| Intel VT || Virtualisierungstechnologie im Prozessor, welche sicherstellt, dass etwa Arbeitsspeicher nicht überschrieben wird und betsimmte I/O sauber durchgeschlauft wird
|-\
|-
| AMD-V || Wie Intel VT\
| AMD-V || Wie Intel VT
|-\
|-
| Hypervisor || Programm zur Virtualisierung (Virtual Machine Monitor), welches auf obige Instruktionen angewiesen ist wie XEN, VMWare ESX oder halt VirtualBox\
| Hypervisor || Programm zur Virtualisierung (Virtual Machine Monitor), welches auf obige Instruktionen angewiesen ist wie XEN, VMWare ESX oder halt VirtualBox
|-\
|-
| SMP || Symmetrisches Multiprozessorsystem -> braucht Intel VT oder AMD-V, um als Host zu funktionieren\
| SMP || Symmetrisches Multiprozessorsystem -> braucht Intel VT oder AMD-V, um als Host zu funktionieren
|-\
|-
| Emulator || Täuscht die Hard- oder Software möglichst echt vor\
| Emulator || Täuscht die Hard- oder Software möglichst echt vor
|-\
|-
| Virtualisierung || Emuliert nur gewisse Teile des Systems. So können daher nur Betriebssysteme emuliert werden, welche für den gleichen Prozessortyp geschrieben wurden.\
| Virtualisierung || Emuliert nur gewisse Teile des Systems. So können daher nur Betriebssysteme emuliert werden, welche für den gleichen Prozessortyp geschrieben wurden.
|}\
|}


== Installation ==
== Installation ==
Zeile 32: Zeile 42:
* msi entpacken: ...\\virtualbox.exe -extract -> extrahiert ins Temp-Verzeichnis -> wird am Schluss angezeigt
* msi entpacken: ...\\virtualbox.exe -extract -> extrahiert ins Temp-Verzeichnis -> wird am Schluss angezeigt
* msi-Paket zur entsprechenden Hardware wählen (x86 oder x64)
* msi-Paket zur entsprechenden Hardware wählen (x86 oder x64)
* msi installieren für den aktuellen Benutzer: msiexec /i ...\\virtualbox.msi ALLUSERS=2 -> Wenn Pfad mit Leerzeichen, dann mit "" umschliessen\
* msi installieren für den aktuellen Benutzer: msiexec /i ...\\virtualbox.msi ALLUSERS=2 -> Wenn Pfad mit Leerzeichen, dann mit "" umschliessen


== Globale Einstellungen ==
== Globale Einstellungen ==
Zeile 38: Zeile 48:
=== Eingabe ===
=== Eingabe ===
Host-Taste ist meist Ctrl (rechts). Wichtige Kombinationen damit:
Host-Taste ist meist Ctrl (rechts). Wichtige Kombinationen damit:
Host alleine -> Maus und Tastatur "befreien"\
Host alleine -> Maus und Tastatur "befreien"
*F: Wechsel Vollbild / Fenster\
*F: Wechsel Vollbild / Fenster
*H: ACPI Power Button\
*H: ACPI Power Button
*N: Sicherungspunkt (Snapshot) im Hintergrund erstellen\
*N: Sicherungspunkt (Snapshot) im Hintergrund erstellen
*P: Pause/Weiter (Machine anhalten / Weiter)\
*P: Pause/Weiter (Machine anhalten / Weiter)
*Q: Power Off\
*Q: Power Off
*R: Reset\
*R: Reset
*S: Ruhezustand (Zustand speichern und Maschine beenden)\
*S: Ruhezustand (Zustand speichern und Maschine beenden)
*Entf: Sendet Ctrl-Alt-Entf\
*Entf: Sendet Ctrl-Alt-Entf
*F1-F12: Ctrl-Alt-Fx\
*F1-F12: Ctrl-Alt-Fx
\
 
=== 3D-Beschleunigung ===\
=== 3D-Beschleunigung ===
OpenGL 2.0 steht für alle zur Verfügung. Direct3D 8 und 9 nur für Windows. Fürs nutzen braucht man natürlich ein Hostsystem mit einer\
OpenGL 2.0 steht für alle zur Verfügung. Direct3D 8 und 9 nur für Windows. Fürs nutzen braucht man natürlich ein Hostsystem mit einer
entsprechenden Karte und dazu müssen auch die Gasterweiterungen installiert werden.\
entsprechenden Karte und dazu müssen auch die Gasterweiterungen installiert werden.
\
 
VBoxManage modivyvm "Name" --accelerate3d on\
VBoxManage modivyvm "Name" --accelerate3d on
\
 
Damit dies funktioniert, braucht es entsprechend Grafikspeicher, der zur Verfügung steht -> Kontrolle in den Einstellungen.\
Damit dies funktioniert, braucht es entsprechend Grafikspeicher, der zur Verfügung steht -> Kontrolle in den Einstellungen.
\
 
=== 2D-Beschleunigung ===\
=== 2D-Beschleunigung ===
Vor allem für die Video Wiedergabe notwendig, damit diese direkt durchgereicht wird. \
Vor allem für die Video Wiedergabe notwendig, damit diese direkt durchgereicht wird.  
Ist aber noch in Entwicklung und erst ab Win XP und neuer verfügbar. <br />\
Ist aber noch in Entwicklung und erst ab Win XP und neuer verfügbar. <br />
VBoxManage modivyvm "Name" --accelerate2dvideo on\
VBoxManage modivyvm "Name" --accelerate2dvideo on
\
 
=== Netzwerk ===\
=== Netzwerk ===
Man kann pro Maschine bis 4 Netzwerkadapter (mit VBoxManage sogar 8) einrichten. Welchen man verwendet hängt vom Gast ab. Je nachdem kennt dieser halt nur ältere Adapter. Das Paravirtualisierte Netzwerk braucht noch Zusatztreiber im Gast (http://www.linux-kvm.com).\
Man kann pro Maschine bis 4 Netzwerkadapter (mit VBoxManage sogar 8) einrichten. Welchen man verwendet hängt vom Gast ab. Je nachdem kennt dieser halt nur ältere Adapter. Das Paravirtualisierte Netzwerk braucht noch Zusatztreiber im Gast (http://www.linux-kvm.com).
* Meist genügt als Anschlussart NAT. Hier fingiert Virtualbox als DHCP-Server (vboxmanage dhcpserver) und Gateway. Nach aussen verwendet er die IP des Hosts. Von aussen kommt man dadurch aber nicht direkt ans Gastsystem heran, da die entsprechende Adresse nicht geroutet wird. Das bedeutet, dass man zwar auf andere Geräte kommt, doch diese nicht mit dem Gast kommunizieren können. Die virtuelle Maschine kann also nicht als Server arbeiten.\
* Meist genügt als Anschlussart NAT. Hier fingiert Virtualbox als DHCP-Server (vboxmanage dhcpserver) und Gateway. Nach aussen verwendet er die IP des Hosts. Von aussen kommt man dadurch aber nicht direkt ans Gastsystem heran, da die entsprechende Adresse nicht geroutet wird. Das bedeutet, dass man zwar auf andere Geräte kommt, doch diese nicht mit dem Gast kommunizieren können. Die virtuelle Maschine kann also nicht als Server arbeiten.
* Wählt man stattdessen Netzwerbrücke (bridged), so muss der physikalische Adapter des Hosts zugewiesen werden. Danach setzt man eine eigene IP. Nun verhält sich der Gast so, als hätte er eine eigene Netzwerkschnittstelle (wichtig für Dienste-Server).\
* Wählt man stattdessen Netzwerbrücke (bridged), so muss der physikalische Adapter des Hosts zugewiesen werden. Danach setzt man eine eigene IP. Nun verhält sich der Gast so, als hätte er eine eigene Netzwerkschnittstelle (wichtig für Dienste-Server).
* Wählt man internes Netzwerk, so muss man einen Namen dazu vergeben. Alle Gäste auf dem Rechner können dann untereinender kommunizieren, doch nicht nach aussen und auch von aussen erhält man keinen Zugriff auf das Netzwerk. \
* Wählt man internes Netzwerk, so muss man einen Namen dazu vergeben. Alle Gäste auf dem Rechner können dann untereinender kommunizieren, doch nicht nach aussen und auch von aussen erhält man keinen Zugriff auf das Netzwerk.  
* Das Host-only Netzwerk verhält sich ähnlich wie das interne, doch hier kann man auch mit dem Host kommunizieren. Man braucht dafür einen Bereich für die virtuellen Maschinen, den virtuellen DHCP-Server und die Adresse der virtuellen Netzwerkkarte.\
* Das Host-only Netzwerk verhält sich ähnlich wie das interne, doch hier kann man auch mit dem Host kommunizieren. Man braucht dafür einen Bereich für die virtuellen Maschinen, den virtuellen DHCP-Server und die Adresse der virtuellen Netzwerkkarte.
\
 
=== Zusatzpakete ===\
=== Zusatzpakete ===
Hier kann man Zusatzpakete wie das "Oracle VM VirtualBox Extension Pack" installieren\
Hier kann man Zusatzpakete wie das "Oracle VM VirtualBox Extension Pack" installieren
\
 
=== Gasterweiterungen ===\
=== Gasterweiterungen ===
Werden nicht für alle Gäste zur Verfügung gestellt. Dienen neben bessernen Treibern, \
Werden nicht für alle Gäste zur Verfügung gestellt. Dienen neben bessernen Treibern,  
dem Datenaustausch über gemeinsame Ordner oder die Zwischenablage.\
dem Datenaustausch über gemeinsame Ordner oder die Zwischenablage.
Kann meist als iso eingebunden und danach ausgeführt werden. Entweder die exe oder unter Unix: sudo ./VBoxLinuxAdditions.run\
Kann meist als iso eingebunden und danach ausgeführt werden. Entweder die exe oder unter Unix: sudo ./VBoxLinuxAdditions.run
Bei Problemen steht alles unter /var/log/vboxadd-install.log\
Bei Problemen steht alles unter /var/log/vboxadd-install.log
\
 
=== Snapshots ===\
=== Snapshots ===
Werden im Unterverzeichnis Snapshots gespeichert.\
Werden im Unterverzeichnis Snapshots gespeichert.
\
 
=== Audio ===\
=== Audio ===
Es braucht folgende Angaben:\
Es braucht folgende Angaben:
* Audio aktivieren\
* Audio aktivieren
* Welcher Audiotreiber des Hosts verwendet werden soll (Null (pseudo), dsound(DirectSound, pulse, alsa)\
* Welcher Audiotreiber des Hosts verwendet werden soll (Null (pseudo), dsound(DirectSound, pulse, alsa)
* Welchen Audio-Controller soll das System emulieren (Intel-HD, ICH AC97, SoundBlaster16)\
* Welchen Audio-Controller soll das System emulieren (Intel-HD, ICH AC97, SoundBlaster16)
\
 
==== Audiotreiber ====\
==== Audiotreiber ====
Mit dem Null-Treiber erfolgt keine Ausgabe, man kann damit aber Programme laufen lassen, die einen Soundtreiber voraussetzen: <br />\
Mit dem Null-Treiber erfolgt keine Ausgabe, man kann damit aber Programme laufen lassen, die einen Soundtreiber voraussetzen: <br />
VBoxManage modivyvm "Name" --audio null\
VBoxManage modivyvm "Name" --audio null
\
 
Windows: <br />\
Windows: <br />
VBoxManage modivyvm "Name" --audio dsound\
VBoxManage modivyvm "Name" --audio dsound
\
 
Linux <br />\
Linux <br />
VBoxManage modivyvm "Name" --audio pulse|alsa\
VBoxManage modivyvm "Name" --audio pulse|alsa
\
 
==== Audio-Controller ====\
==== Audio-Controller ====
VBoxManage modivyvm "Name" --audiocontroller hda|ac97|sb16\
VBoxManage modivyvm "Name" --audiocontroller hda|ac97|sb16
\
 
=== Gemeinsame Ordner (Netzlaufwerk) ===\
=== Gemeinsame Ordner (Netzlaufwerk) ===
VirtualBox mappt für den Dateiaustausch mit dem Host einen Ordner:\
VirtualBox mappt für den Dateiaustausch mit dem Host einen Ordner:
* Im Konfigurationsmenü der VM auf den Punkt "gemeinsame Ordner" gehen\
* Im Konfigurationsmenü der VM auf den Punkt "gemeinsame Ordner" gehen
* Beim Ordnerpfad wird eingegeben, wo die Daten auf dem Hostsystem abgelegt werden, damit sie beim Gast sichtbar sind (z.B.: c:/transfer | /media/vm)\
* Beim Ordnerpfad wird eingegeben, wo die Daten auf dem Hostsystem abgelegt werden, damit sie beim Gast sichtbar sind (z.B.: c:/transfer | /media/vm)
* Nun den Ordner, der beim Gastsystem gemappt werden soll\
* Nun den Ordner, der beim Gastsystem gemappt werden soll
* Setzt man "nur lesbar", dann kann das Gastsystem nichts schreiben\
* Setzt man "nur lesbar", dann kann das Gastsystem nichts schreiben
* Beim "automatisch einbinden" wird ein Netzlaufwerk eingerichtet\
* Beim "automatisch einbinden" wird ein Netzlaufwerk eingerichtet
VBoxManage sharedfolder add "Name" --name transfer\\ --hostpath /media/transfer|c:\\transfer\
VBoxManage sharedfolder add "Name" --name transfer\\ --hostpath /media/transfer|c:\\transfer
\
 
Unter Linux wird das Laufwerk als eigenes Dateisystem gemounted: <code>mount -F vboxfs [-o OPTIONS] sharename mountpoint</code>\
Unter Linux wird das Laufwerk als eigenes Dateisystem gemounted: <code>mount -F vboxfs [-o OPTIONS] sharename mountpoint</code>
\
 
Will man es ab Start integriert haben, so fügt man folgende Zeile in die /etc/fstab ein: <code>sharename  mountpoint  vboxsf  defaults  0  0</code>\
Will man es ab Start integriert haben, so fügt man folgende Zeile in die /etc/fstab ein: <code>sharename  mountpoint  vboxsf  defaults  0  0</code>
\
 
=== Medienmanager (virtuelle Medien) ===\
=== Medienmanager (virtuelle Medien) ===
Man kann Festplatten, CD/DVD-Abbilder und Diskettenimages verwalten. Gewisse Funktionen sind aber nur über die Konsole erreichbar.\
Man kann Festplatten, CD/DVD-Abbilder und Diskettenimages verwalten. Gewisse Funktionen sind aber nur über die Konsole erreichbar.
\
 
==== Festplatten ====\
==== Festplatten ====
Hier kann man Images entfernen oder freigeben. Neue erstellen oder vorhandene registrieren geht nur über die Konsole.\
Hier kann man Images entfernen oder freigeben. Neue erstellen oder vorhandene registrieren geht nur über die Konsole.
\
 
== Konfigurationsdateien ==\
== Konfigurationsdateien ==
\
 
=== Globale Konfiguration ===\
=== Globale Konfiguration ===
Globale Einstellungen werden im Benutzerverzeichnis unter .VirtualBox abgelegt. \
Globale Einstellungen werden im Benutzerverzeichnis unter .VirtualBox abgelegt.  
Die Datei heisst VirtualBox.xml. Es befinden sich neben den globalen Einstellungen\
Die Datei heisst VirtualBox.xml. Es befinden sich neben den globalen Einstellungen
auch alle registrierten VMs und Festplatten und CD-Images darin.\
auch alle registrierten VMs und Festplatten und CD-Images darin.
Die Datei sollte vor einer Neuinstallation gesichert werden. Bei schwerwiegenden \
Die Datei sollte vor einer Neuinstallation gesichert werden. Bei schwerwiegenden  
Problemen kann man diese Datei auch umbenennen. Dabei gehen aber alle registrierungen \
Problemen kann man diese Datei auch umbenennen. Dabei gehen aber alle registrierungen  
verloren und man muss diese wieder integrieren.\
verloren und man muss diese wieder integrieren.
\
 
=== Konfigurationsdatei einer VM ===\
=== Konfigurationsdatei einer VM ===
Ist ähnlich aufgebaut wie die globale Konfigurationsdatei. Endet auf .vbox. Kann nicht auf eine andere Platform übertragen\
Ist ähnlich aufgebaut wie die globale Konfigurationsdatei. Endet auf .vbox. Kann nicht auf eine andere Platform übertragen
werden, da spezifisch. Die Datei kann aber angepasst werden, wenn man die Kenntnisse dazu hat (Pfade usw.).\
werden, da spezifisch. Die Datei kann aber angepasst werden, wenn man die Kenntnisse dazu hat (Pfade usw.).
Bei Problemen wie Abstürzen kann man durch anpassen der Datei evtl. etwas verbessern, falls man in den Logdateien Hinweise dazu findet.\
Bei Problemen wie Abstürzen kann man durch anpassen der Datei evtl. etwas verbessern, falls man in den Logdateien Hinweise dazu findet.
\
 
=== Logdateien ===\
=== Logdateien ===
Im Verzeichnis der VM wird das Unterverzeichnis Logs erstellt. Darin wird alles relevante in Vbox.log protokolliert.\
Im Verzeichnis der VM wird das Unterverzeichnis Logs erstellt. Darin wird alles relevante in Vbox.log protokolliert.
\
 
=== UUID ===\
=== UUID ===
Jede Festplatte usw. besitzt eine ziemlich eindeutige UUID. VMs werden entweder mit\
Jede Festplatte usw. besitzt eine ziemlich eindeutige UUID. VMs werden entweder mit
ihrem Namen oder dieser ID angesprochen.\
ihrem Namen oder dieser ID angesprochen.
\
 
== Kommandozeilentools ==\
== Kommandozeilentools ==
Um die Tools suaber nutzen zu können, muss der Pfad in der Path-Variable integriert werden,\
Um die Tools suaber nutzen zu können, muss der Pfad in der Path-Variable integriert werden,
da man sonst immer ins bin Verzeichnis der Virtualbox wechseln muss.\
da man sonst immer ins bin Verzeichnis der Virtualbox wechseln muss.
Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen\
Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen
Den Pfad mit einem Strichpunkt und anschliessend dem Virtualbox-Pfad erweitern. Dann die Konsole neu öffnen.\
Den Pfad mit einem Strichpunkt und anschliessend dem Virtualbox-Pfad erweitern. Dann die Konsole neu öffnen.
Unter Linux sollte die Datei automatisch erreichbar sein, wenn die Tools korrekt unter /usr/bin abgelegt wurden.\
Unter Linux sollte die Datei automatisch erreichbar sein, wenn die Tools korrekt unter /usr/bin abgelegt wurden.
\
 
=== VBoxManage ===\
=== VBoxManage ===
Damit kann man neue Maschinen erstellen oder alle Optionen bearbeiten.\
Damit kann man neue Maschinen erstellen oder alle Optionen bearbeiten.
{| class="wikitable"\
{| class="wikitable"
|-\
|-
! Befehl !! Bedeutung !! Bemerkungen\
! Befehl !! Bedeutung !! Bemerkungen
|-\
|-
| VBoxManage BEFEHL PARAMETER || Führt den Befehl mit den angegebenen Parametern aus ||\
| VBoxManage BEFEHL PARAMETER || Führt den Befehl mit den angegebenen Parametern aus ||
|-\
|-
| VBoxManage list vms || Listet alle VMs auf || Es gibt noch folgende wichtige Argumente für list: runningvms, hdds, dvds, ostypes (unterstützte Gastsysteme), systemproperties\
| VBoxManage list vms || Listet alle VMs auf || Es gibt noch folgende wichtige Argumente für list: runningvms, hdds, dvds, ostypes (unterstützte Gastsysteme), systemproperties
|-\
|-
| VBoxManage showvminfo UUID oder Name || Listet Info zur VM auf || \
| VBoxManage showvminfo UUID oder Name || Listet Info zur VM auf ||  
|-\
|-
| VBoxManage storageattach LiveCD --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium host:/dev/sr0 || CD im Laufwerk verfügbar machen. bei Windows host:x: / port 0 ist primärer -, 1 ist sekundärer Anschluss / device 0 ist Master, 1 ist Slave || Kennt das System die UUID schon, kann man ein Gerät/ISO-Abbild auch darüber einbinden\
| VBoxManage storageattach LiveCD --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium host:/dev/sr0 || CD im Laufwerk verfügbar machen. bei Windows host:x: / port 0 ist primärer -, 1 ist sekundärer Anschluss / device 0 ist Master, 1 ist Slave || Kennt das System die UUID schon, kann man ein Gerät/ISO-Abbild auch darüber einbinden
|-\
|-
| VBoxManage storageattach "CD Image" --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium "/media/cd/image.iso" || Beschreibung siehe oben || \
| VBoxManage storageattach "CD Image" --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium "/media/cd/image.iso" || Beschreibung siehe oben ||  
|-\
|-
| VBoxManage startvm NAME || startet die entsprechende VM || \
| VBoxManage startvm NAME || startet die entsprechende VM ||  
|-\
|-
| VBoxManage controlvm NAME acpipowerbutton | poweroff | savestate || Maschine herunterfahren || bei acpi wird ein Signal gesendet, poweroff zieht den Stecker und savestate macht Ruhemodus\
| VBoxManage controlvm NAME acpipowerbutton | poweroff | savestate || Maschine herunterfahren || bei acpi wird ein Signal gesendet, poweroff zieht den Stecker und savestate macht Ruhemodus
|-\
|-
| VBoxManage modifyvm NAME --vrde on --vrdeport 3400 || RDP in der VM einschalten || --vrde off beendet den RDP\
| VBoxManage modifyvm NAME --vrde on --vrdeport 3400 || RDP in der VM einschalten || --vrde off beendet den RDP
|-\
|-
| VBoxManage internalcommands sethduuid IMAGE.vhd || Setzt für diese vhd eine neue UUID.  || Wichtig beim kopieren von VMs, sonst kommt die Meldung, dass die UUID schon verwendet wird.\
| VBoxManage internalcommands sethduuid IMAGE.vhd || Setzt für diese vhd eine neue UUID.  || Wichtig beim kopieren von VMs, sonst kommt die Meldung, dass die UUID schon verwendet wird.
|-\
|-
| VBoxManage modifyvm "Name" --nic1 bridged --bridgeadapter1 eth0 oder "Ethernetadapter der AMC-PCNET-Familie" || Setzt das Netzwerk auf bridged. eth0,1,2 für Linux oder der Name bei Windows || Unbedingt das Interface korrekt schreiben, da es auch falsche Namen ohne zu murren akzeptiert und es dann einfach nicht funktioniert. Danach muss bei der VM eine eigene IP gesetzt werden oder er bekommt vom DHCP-Server eine eigene IP. So kann die VM auch von aussen erreicht werden.\
| VBoxManage modifyvm "Name" --nic1 bridged --bridgeadapter1 eth0 oder "Ethernetadapter der AMC-PCNET-Familie" || Setzt das Netzwerk auf bridged. eth0,1,2 für Linux oder der Name bei Windows || Unbedingt das Interface korrekt schreiben, da es auch falsche Namen ohne zu murren akzeptiert und es dann einfach nicht funktioniert. Danach muss bei der VM eine eigene IP gesetzt werden oder er bekommt vom DHCP-Server eine eigene IP. So kann die VM auch von aussen erreicht werden.
|-\
|-
| VBoxManage snapshot "Name" take "Sicherungspunkt 1"  --desc "Beschreibung" || Sicherungspunkt erstellen || Beschreibung nicht vergessen, da man sonst im nachhinein nicht mehr weiss, wieso man den SP gesetzt hat.\
| VBoxManage snapshot "Name" take "Sicherungspunkt 1"  --desc "Beschreibung" || Sicherungspunkt erstellen || Beschreibung nicht vergessen, da man sonst im nachhinein nicht mehr weiss, wieso man den SP gesetzt hat.
|-\
|-
| VBoxManage snapshot "Name" delete "Sicherungspunkt 1" || Das System entfernt den SP || Nachher arbeitet das System dort weiter, wo man jetzt ist. Es gibt keine Möglichkeit mehr, zurückzukehren.\
| VBoxManage snapshot "Name" delete "Sicherungspunkt 1" || Das System entfernt den SP || Nachher arbeitet das System dort weiter, wo man jetzt ist. Es gibt keine Möglichkeit mehr, zurückzukehren.
|-\
|-
| VBoxManage snapshot "Name" restore "Sicherungspunkt 1" || Das System kehrt zum SP zurück || Alle Änderungen bis zum SP werden verworfen und man beginnt wieder beim SP.\
| VBoxManage snapshot "Name" restore "Sicherungspunkt 1" || Das System kehrt zum SP zurück || Alle Änderungen bis zum SP werden verworfen und man beginnt wieder beim SP.
|}\
|}
\
 
=== VBoxSDL ===\
=== VBoxSDL ===
Startet eine VM von der Kommandozeile. Diese hat entsprechend auch keine Menü- und Statusleiste, was auch eine Manipulation verhindert.\
Startet eine VM von der Kommandozeile. Diese hat entsprechend auch keine Menü- und Statusleiste, was auch eine Manipulation verhindert.
Dazu kann man temporäre Argumente als Parameter mitgeben (--memory 2GB -> mehr Speicher, --cdrom DATEI, --fullscreen, \
Dazu kann man temporäre Argumente als Parameter mitgeben (--memory 2GB -> mehr Speicher, --cdrom DATEI, --fullscreen,  
--termacpi -> herunterfahren, wenn Fenster geschlossen wird).\
--termacpi -> herunterfahren, wenn Fenster geschlossen wird).
vboxsdl --startvm VMName\
vboxsdl --startvm VMName
\
 
=== VBoxHeadless ===\
=== VBoxHeadless ===
Öffnet eine VM im Hintergrund, welche nur über RDP erreicht werden kann. <br />\
Öffnet eine VM im Hintergrund, welche nur über RDP erreicht werden kann. <br />
<code>vboxheadless --startvm VMName</code><br />\
<code>vboxheadless --startvm VMName</code><br />
Damit der RDP-Port erreichbar ist, muss man bei mehreren Maschinen den Port entsprechend mitgeben:  <br />\
Damit der RDP-Port erreichbar ist, muss man bei mehreren Maschinen den Port entsprechend mitgeben:  <br />
<code>vboxheadless --startvm VMName --vrde on --vrdeproperty TCP/Ports=3400 </code><br />\
<code>vboxheadless --startvm VMName --vrde on --vrdeproperty TCP/Ports=3400 </code><br />
-> Fenster nicht schliessen, da sonst die Maschine darin abgewürgt wird. Stattdessen im Gastsystem einloggen und beenden oder mittels VBoxManage herunterfahren: <br />\
-> Fenster nicht schliessen, da sonst die Maschine darin abgewürgt wird. Stattdessen im Gastsystem einloggen und beenden oder mittels VBoxManage herunterfahren: <br />
<code>VBoxManage controlvm VMName acpipowerbutton</code>\
<code>VBoxManage controlvm VMName acpipowerbutton</code>
\
 
==== Session aufzeichnen ====\
==== Session aufzeichnen ====
In diesem Modus kann man auch eine Aufzeichnung im Hintergrund starten. Etwa wenn man dies an einer Schuliung oder so zeigen will. Allerdings muss man massig Platz einberechnen: <br />\
In diesem Modus kann man auch eine Aufzeichnung im Hintergrund starten. Etwa wenn man dies an einer Schuliung oder so zeigen will. Allerdings muss man massig Platz einberechnen: <br />
<code>vboxheadless --startvm VMName --capture --width 800 --height 600 --bitrate 500000 --filename d:\\aufnahmen\\test.mpeg</code><br />\
<code>vboxheadless --startvm VMName --capture --width 800 --height 600 --bitrate 500000 --filename d:\\aufnahmen\\test.mpeg</code><br />
Je nach Detailtreue muss man die Fenstergrösse entsprechend anpassen. DIe Bitrate muss zwichen 300k und 1M liegen. Dazu müssen auf dem PC die ffmpeg-Tools installiert sein.\
Je nach Detailtreue muss man die Fenstergrösse entsprechend anpassen. DIe Bitrate muss zwichen 300k und 1M liegen. Dazu müssen auf dem PC die ffmpeg-Tools installiert sein.
\
 
== Remotezugriff ==\
== Remotezugriff ==
Kann in der Konfiguration der VM eingerichtet werden. Dort unter Anzeige die Fernsteuerung aktivieren. \
Kann in der Konfiguration der VM eingerichtet werden. Dort unter Anzeige die Fernsteuerung aktivieren.  
Beim Port kann man 3389 als Standard lassen. Bei mehreren VM muss halt entsprechend angepasst werden. Je nachdem muss für die Firewall\
Beim Port kann man 3389 als Standard lassen. Bei mehreren VM muss halt entsprechend angepasst werden. Je nachdem muss für die Firewall
noch eine Ausnahme definiert werden.\
noch eine Ausnahme definiert werden.
Der Zugriff erfolgt über den Rechnernamen/IP des Hosts gefolgt vom Port nach einem Doppelpunkt (rechnerx:3400). Local gehts auch mit localhost.\
Der Zugriff erfolgt über den Rechnernamen/IP des Hosts gefolgt vom Port nach einem Doppelpunkt (rechnerx:3400). Local gehts auch mit localhost.
\
 
=== rdesktop-vrdp (Linux) ===\
=== rdesktop-vrdp (Linux) ===
Neben tsclient und rdesktop gibt es mit rdesktop-vrdp ein eigenes Programm für VirtualBox.\
Neben tsclient und rdesktop gibt es mit rdesktop-vrdp ein eigenes Programm für VirtualBox.
Kann RDP zu einer VM und dabei auch USB-Geräte weiterreichen.\
Kann RDP zu einer VM und dabei auch USB-Geräte weiterreichen.
rdesktop-vrdp ZIELRECHNER:PORT -> Rechner kann der Name oder auch die IP sein.\
rdesktop-vrdp ZIELRECHNER:PORT -> Rechner kann der Name oder auch die IP sein.
Folgende Parameter sidn nützlich:\
Folgende Parameter sidn nützlich:
-k Tastaturlayout (de, sg, usw.)\
-k Tastaturlayout (de, sg, usw.)
-N Numlock ein\
-N Numlock ein
-u Username\
-u Username
-p Passwort\
-p Passwort
-r sound:local -> Audio an VM weiterleiten\
-r sound:local -> Audio an VM weiterleiten
\
 
== Image kopieren ==\
== Image kopieren ==
Wenn man eine Maschine nicht klont sondern kopiert, so muss man anschliessend folgendes durchführen, damit die Verarbeitung trotzdem sauber funktioniert:\
Wenn man eine Maschine nicht klont sondern kopiert, so muss man anschliessend folgendes durchführen, damit die Verarbeitung trotzdem sauber funktioniert:
* UUID der Festplatte neu generieren mit vboxmanage\
* UUID der Festplatte neu generieren mit vboxmanage
* UUID der Maschine anpassen\
* UUID der Maschine anpassen
* Evtl. weitere Verweise im .vbox an die neuen UUID anpassen\
* Evtl. weitere Verweise im .vbox an die neuen UUID anpassen
\
 
Sonst CloneCDI verwenden oder im VirtualBox Manager "Clone Image" verwenden.\
Sonst CloneCDI verwenden oder im VirtualBox Manager "Clone Image" verwenden.
\
 
[[Kategorie:Computer]] [[Kategorie:Linux]] [[Kategorie:Software]] [[Kategorie:Hardware]] utf-8
395 == Einführung ==\
=== Allgemein ===\
Vieles aus folgendem Buch übernommen:\
* Titel: VirtualBox Installation, Anwendung, Praxis\
* Autor: Dirk Becker\
* Verlag: Galileo Computing\
* ISBN: 978-3-8362-1778-1\
* Webseite zum Buch: http://www.galileocomputing.de/\
\
Läuft unter Windows, Linux, MacOS X und OpenSolaris. Ist Freeware. Das "Virtual Box Extension Pack" ist allerdings lizenzpflichtig und darf von Firmen nur getestet werden. Danach muss laut Lizenz ein Support-Vertrag ausgehandelt werden.\
\
=== Begriffserklärungen ===\
{| class="wikitable"\
|-\
! Begriff !! Erklärung\
|-\
| Intel VT || Virtualisierungstechnologie im Prozessor, welche sicherstellt, dass etwa Arbeitsspeicher nicht überschrieben wird und betsimmte I/O sauber durchgeschlauft wird\
|-\
| AMD-V || Wie Intel VT\
|-\
| Hypervisor || Programm zur Virtualisierung (Virtual Machine Monitor), welches auf obige Instruktionen angewiesen ist wie XEN, VMWare ESX oder halt VirtualBox\
|-\
| SMP || Symmetrisches Multiprozessorsystem -> braucht Intel VT oder AMD-V, um als Host zu funktionieren\
|-\
| Emulator || Täuscht die Hard- oder Software möglichst echt vor\
|-\
| Virtualisierung || Emuliert nur gewisse Teile des Systems. So können daher nur Betriebssysteme emuliert werden, welche für den gleichen Prozessortyp geschrieben wurden.\
|}\
\
== Installation ==\
Läuft normal. Möchte man allerdings nur für den aktuellen Benutzer installieren, gilt folgendes:\
* msi entpacken: ...\\virtualbox.exe -extract -> extrahiert ins Temp-Verzeichnis -> wird am Schluss angezeigt\
* msi-Paket zur entsprechenden Hardware wählen (x86 oder x64)\
* msi installieren für den aktuellen Benutzer: msiexec /i ...\\virtualbox.msi ALLUSERS=2 -> Wenn Pfad mit Leerzeichen, dann mit "" umschliessen\
\
== Globale Einstellungen ==\
\
=== Eingabe ===\
Host-Taste ist meist Ctrl (rechts). Wichtige Kombinationen damit:\
Host alleine -> Maus und Tastatur "befreien"\
*F: Wechsel Vollbild / Fenster\
*H: ACPI Power Button\
*N: Sicherungspunkt (Snapshot) im Hintergrund erstellen\
*P: Pause/Weiter (Machine anhalten / Weiter)\
*Q: Power Off\
*R: Reset\
*S: Ruhezustand (Zustand speichern und Maschine beenden)\
*Entf: Sendet Ctrl-Alt-Entf\
*F1-F12: Ctrl-Alt-Fx\
\
=== 3D-Beschleunigung ===\
OpenGL 2.0 steht für alle zur Verfügung. Direct3D 8 und 9 nur für Windows. Fürs nutzen braucht man natürlich ein Hostsystem mit einer\
entsprechenden Karte und dazu müssen auch die Gasterweiterungen installiert werden.\
\
VBoxManage modivyvm "Name" --accelerate3d on\
\
Damit dies funktioniert, braucht es entsprechend Grafikspeicher, der zur Verfügung steht -> Kontrolle in den Einstellungen.\
\
=== 2D-Beschleunigung ===\
Vor allem für die Video Wiedergabe notwendig, damit diese direkt durchgereicht wird. \
Ist aber noch in Entwicklung und erst ab Win XP und neuer verfügbar. <br />\
VBoxManage modivyvm "Name" --accelerate2dvideo on\
\
=== Netzwerk ===\
Man kann pro Maschine bis 4 Netzwerkadapter (mit VBoxManage sogar 8) einrichten. Welchen man verwendet hängt vom Gast ab. Je nachdem kennt dieser halt nur ältere Adapter. Das Paravirtualisierte Netzwerk braucht noch Zusatztreiber im Gast (http://www.linux-kvm.com).\
* Meist genügt als Anschlussart NAT. Hier fingiert Virtualbox als DHCP-Server (vboxmanage dhcpserver) und Gateway. Nach aussen verwendet er die IP des Hosts. Von aussen kommt man dadurch aber nicht direkt ans Gastsystem heran, da die entsprechende Adresse nicht geroutet wird. Das bedeutet, dass man zwar auf andere Geräte kommt, doch diese nicht mit dem Gast kommunizieren können. Die virtuelle Maschine kann also nicht als Server arbeiten.\
* Wählt man stattdessen Netzwerbrücke (bridged), so muss der physikalische Adapter des Hosts zugewiesen werden. Danach setzt man eine eigene IP. Nun verhält sich der Gast so, als hätte er eine eigene Netzwerkschnittstelle (wichtig für Dienste-Server).\
* Wählt man internes Netzwerk, so muss man einen Namen dazu vergeben. Alle Gäste auf dem Rechner können dann untereinender kommunizieren, doch nicht nach aussen und auch von aussen erhält man keinen Zugriff auf das Netzwerk. \
* Das Host-only Netzwerk verhält sich ähnlich wie das interne, doch hier kann man auch mit dem Host kommunizieren. Man braucht dafür einen Bereich für die virtuellen Maschinen, den virtuellen DHCP-Server und die Adresse der virtuellen Netzwerkkarte.\
\
=== Zusatzpakete ===\
Hier kann man Zusatzpakete wie das "Oracle VM VirtualBox Extension Pack" installieren\
\
=== Gasterweiterungen ===\
Werden nicht für alle Gäste zur Verfügung gestellt. Dienen neben bessernen Treibern, \
dem Datenaustausch über gemeinsame Ordner oder die Zwischenablage.\
Kann meist als iso eingebunden und danach ausgeführt werden. Entweder die exe oder unter Unix: sudo ./VBoxLinuxAdditions.run\
Bei Problemen steht alles unter /var/log/vboxadd-install.log\
\
=== Snapshots ===\
Werden im Unterverzeichnis Snapshots gespeichert.\
\
=== Audio ===\
Es braucht folgende Angaben:\
* Audio aktivieren\
* Welcher Audiotreiber des Hosts verwendet werden soll (Null (pseudo), dsound(DirectSound, pulse, alsa)\
* Welchen Audio-Controller soll das System emulieren (Intel-HD, ICH AC97, SoundBlaster16)\
\
==== Audiotreiber ====\
Mit dem Null-Treiber erfolgt keine Ausgabe, man kann damit aber Programme laufen lassen, die einen Soundtreiber voraussetzen: <br />\
VBoxManage modivyvm "Name" --audio null\
\
Windows: <br />\
VBoxManage modivyvm "Name" --audio dsound\
\
Linux <br />\
VBoxManage modivyvm "Name" --audio pulse|alsa\
\
==== Audio-Controller ====\
VBoxManage modivyvm "Name" --audiocontroller hda|ac97|sb16\
\
=== Gemeinsame Ordner (Netzlaufwerk) ===\
VirtualBox mappt für den Dateiaustausch mit dem Host einen Ordner:\
* Im Konfigurationsmenü der VM auf den Punkt "gemeinsame Ordner" gehen\
* Beim Ordnerpfad wird eingegeben, wo die Daten auf dem Hostsystem abgelegt werden, damit sie beim Gast sichtbar sind (z.B.: c:/transfer | /media/vm)\
* Nun den Ordner, der beim Gastsystem gemappt werden soll\
* Setzt man "nur lesbar", dann kann das Gastsystem nichts schreiben\
* Beim "automatisch einbinden" wird ein Netzlaufwerk eingerichtet\
VBoxManage sharedfolder add "Name" --name transfer\\ --hostpath /media/transfer|c:\\transfer\
\
Unter Linux wird das Laufwerk als eigenes Dateisystem gemounted: <code>mount -F vboxfs [-o OPTIONS] sharename mountpoint</code>\
\
Will man es ab Start integriert haben, so fügt man folgende Zeile in die /etc/fstab ein: <code>sharename  mountpoint  vboxsf  defaults  0  0</code>\
\
=== Medienmanager (virtuelle Medien) ===\
Man kann Festplatten, CD/DVD-Abbilder und Diskettenimages verwalten. Gewisse Funktionen sind aber nur über die Konsole erreichbar.\
\
==== Festplatten ====\
Hier kann man Images entfernen oder freigeben. Neue erstellen oder vorhandene registrieren geht nur über die Konsole.\
\
== Konfigurationsdateien ==\
\
=== Globale Konfiguration ===\
Globale Einstellungen werden im Benutzerverzeichnis unter .VirtualBox abgelegt. \
Die Datei heisst VirtualBox.xml. Es befinden sich neben den globalen Einstellungen\
auch alle registrierten VMs und Festplatten und CD-Images darin.\
Die Datei sollte vor einer Neuinstallation gesichert werden. Bei schwerwiegenden \
Problemen kann man diese Datei auch umbenennen. Dabei gehen aber alle registrierungen \
verloren und man muss diese wieder integrieren.\
\
=== Konfigurationsdatei einer VM ===\
Ist ähnlich aufgebaut wie die globale Konfigurationsdatei. Endet auf .vbox. Kann nicht auf eine andere Platform übertragen\
werden, da spezifisch. Die Datei kann aber angepasst werden, wenn man die Kenntnisse dazu hat (Pfade usw.).\
Bei Problemen wie Abstürzen kann man durch anpassen der Datei evtl. etwas verbessern, falls man in den Logdateien Hinweise dazu findet.\
\
=== Logdateien ===\
Im Verzeichnis der VM wird das Unterverzeichnis Logs erstellt. Darin wird alles relevante in Vbox.log protokolliert.\
\
=== UUID ===\
Jede Festplatte usw. besitzt eine ziemlich eindeutige UUID. VMs werden entweder mit\
ihrem Namen oder dieser ID angesprochen.\
\
== Kommandozeilentools ==\
Um die Tools suaber nutzen zu können, muss der Pfad in der Path-Variable integriert werden,\
da man sonst immer ins bin Verzeichnis der Virtualbox wechseln muss.\
Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen\
Den Pfad mit einem Strichpunkt und anschliessend dem Virtualbox-Pfad erweitern. Dann die Konsole neu öffnen.\
Unter Linux sollte die Datei automatisch erreichbar sein, wenn die Tools korrekt unter /usr/bin abgelegt wurden.\
\
=== VBoxManage ===\
Damit kann man neue Maschinen erstellen oder alle Optionen bearbeiten.\
{| class="wikitable"\
|-\
! Befehl !! Bedeutung !! Bemerkungen\
|-\
| VBoxManage BEFEHL PARAMETER || Führt den Befehl mit den angegebenen Parametern aus ||\
|-\
| VBoxManage list vms || Listet alle VMs auf || Es gibt noch folgende wichtige Argumente für list: runningvms, hdds, dvds, ostypes (unterstützte Gastsysteme), systemproperties\
|-\
| VBoxManage showvminfo UUID oder Name || Listet Info zur VM auf || \
|-\
| VBoxManage storageattach LiveCD --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium host:/dev/sr0 || CD im Laufwerk verfügbar machen. bei Windows host:x: / port 0 ist primärer -, 1 ist sekundärer Anschluss / device 0 ist Master, 1 ist Slave || Kennt das System die UUID schon, kann man ein Gerät/ISO-Abbild auch darüber einbinden\
|-\
| VBoxManage storageattach "CD Image" --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium "/media/cd/image.iso" || Beschreibung siehe oben || \
|-\
| VBoxManage startvm NAME || startet die entsprechende VM || \
|-\
| VBoxManage controlvm NAME acpipowerbutton | poweroff | savestate || Maschine herunterfahren || bei acpi wird ein Signal gesendet, poweroff zieht den Stecker und savestate macht Ruhemodus\
|-\
| VBoxManage modifyvm NAME --vrde on --vrdeport 3400 || RDP in der VM einschalten || --vrde off beendet den RDP\
|-\
| VBoxManage internalcommands sethduuid IMAGE.vhd || Setzt für diese vhd eine neue UUID.  || Wichtig beim kopieren von VMs, sonst kommt die Meldung, dass die UUID schon verwendet wird.\
|-\
| VBoxManage modifyvm "Name" --nic1 bridged --bridgeadapter1 eth0 oder "Ethernetadapter der AMC-PCNET-Familie" || Setzt das Netzwerk auf bridged. eth0,1,2 für Linux oder der Name bei Windows || Unbedingt das Interface korrekt schreiben, da es auch falsche Namen ohne zu murren akzeptiert und es dann einfach nicht funktioniert. Danach muss bei der VM eine eigene IP gesetzt werden oder er bekommt vom DHCP-Server eine eigene IP. So kann die VM auch von aussen erreicht werden.\
|-\
| VBoxManage snapshot "Name" take "Sicherungspunkt 1"  --desc "Beschreibung" || Sicherungspunkt erstellen || Beschreibung nicht vergessen, da man sonst im nachhinein nicht mehr weiss, wieso man den SP gesetzt hat.\
|-\
| VBoxManage snapshot "Name" delete "Sicherungspunkt 1" || Das System entfernt den SP || Nachher arbeitet das System dort weiter, wo man jetzt ist. Es gibt keine Möglichkeit mehr, zurückzukehren.\
|-\
| VBoxManage snapshot "Name" restore "Sicherungspunkt 1" || Das System kehrt zum SP zurück || Alle Änderungen bis zum SP werden verworfen und man beginnt wieder beim SP.\
|}\
\
=== VBoxSDL ===\
Startet eine VM von der Kommandozeile. Diese hat entsprechend auch keine Menü- und Statusleiste, was auch eine Manipulation verhindert.\
Dazu kann man temporäre Argumente als Parameter mitgeben (--memory 2GB -> mehr Speicher, --cdrom DATEI, --fullscreen, \
--termacpi -> herunterfahren, wenn Fenster geschlossen wird).\
vboxsdl --startvm VMName\
\
=== VBoxHeadless ===\
Öffnet eine VM im Hintergrund, welche nur über RDP erreicht werden kann. <br />\
<code>vboxheadless --startvm VMName</code><br />\
Damit der RDP-Port erreichbar ist, muss man bei mehreren Maschinen den Port entsprechend mitgeben:  <br />\
<code>vboxheadless --startvm VMName --vrde on --vrdeproperty TCP/Ports=3400 </code><br />\
-> Fenster nicht schliessen, da sonst die Maschine darin abgewürgt wird. Stattdessen im Gastsystem einloggen und beenden oder mittels VBoxManage herunterfahren: <br />\
<code>VBoxManage controlvm VMName acpipowerbutton</code>\
\
==== Session aufzeichnen ====\
In diesem Modus kann man auch eine Aufzeichnung im Hintergrund starten. Etwa wenn man dies an einer Schuliung oder so zeigen will. Allerdings muss man massig Platz einberechnen: <br />\
<code>vboxheadless --startvm VMName --capture --width 800 --height 600 --bitrate 500000 --filename d:\\aufnahmen\\test.mpeg</code><br />\
Je nach Detailtreue muss man die Fenstergrösse entsprechend anpassen. DIe Bitrate muss zwichen 300k und 1M liegen. Dazu müssen auf dem PC die ffmpeg-Tools installiert sein.\
\
== Remotezugriff ==\
Kann in der Konfiguration der VM eingerichtet werden. Dort unter Anzeige die Fernsteuerung aktivieren. \
Beim Port kann man 3389 als Standard lassen. Bei mehreren VM muss halt entsprechend angepasst werden. Je nachdem muss für die Firewall\
noch eine Ausnahme definiert werden.\
Der Zugriff erfolgt über den Rechnernamen/IP des Hosts gefolgt vom Port nach einem Doppelpunkt (rechnerx:3400). Local gehts auch mit localhost.\
\
=== rdesktop-vrdp (Linux) ===\
Neben tsclient und rdesktop gibt es mit rdesktop-vrdp ein eigenes Programm für VirtualBox.\
Kann RDP zu einer VM und dabei auch USB-Geräte weiterreichen.\
rdesktop-vrdp ZIELRECHNER:PORT -> Rechner kann der Name oder auch die IP sein.\
Folgende Parameter sidn nützlich:\
-k Tastaturlayout (de, sg, usw.)\
-N Numlock ein\
-u Username\
-p Passwort\
-r sound:local -> Audio an VM weiterleiten\
\
== Image kopieren oder verkleinern ==\
Wenn man eine Maschine nicht klont sondern kopiert, so muss man anschliessend folgendes durchführen, damit die Verarbeitung trotzdem sauber funktioniert:\
* UUID der Festplatte neu generieren mit vboxmanage\
* UUID der Maschine anpassen\
* Evtl. weitere Verweise im .vbox an die neuen UUID anpassen\
\
Sonst CloneCDI verwenden oder im VirtualBox Manager "Clone Image" verwenden.\
\
Fürs verkleinern kann auch CloneCDI verwendet werden mit der Option verkleinern. Manuell muss zuerst die Partition defragmentiert werden und danach kann mit VBoxManage modifyhd --compact disk.vdi das Image verkleinert werden (http://www.schnatterente.net/software/virtualbox-vdi-image-verkleinern).\
\
[[Kategorie:Computer]] [[Kategorie:Linux]] [[Kategorie:Software]] [[Kategorie:Hardware]]
[[Kategorie:Computer]] [[Kategorie:Linux]] [[Kategorie:Software]] [[Kategorie:Hardware]]

Aktuelle Version vom 29. Februar 2020, 22:52 Uhr

Einführung

Allgemein

Vieles aus folgendem Buch übernommen:

Schlagwort Info
Titel VirtualBox Installation, Anwendung, Praxis
Author Dirk Becker
Verlag Galileo Computing
ISBN 978-3-8362-1778-1
Webseite zum Buch http://www.galileocomputing.de/

Läuft unter Windows, Linux, MacOS X und OpenSolaris. Ist Freeware. Das "Virtual Box Extension Pack" ist allerdings lizenzpflichtig und darf von Firmen nur getestet werden. Danach muss laut Lizenz ein Support-Vertrag ausgehandelt werden.

Begriffserklärungen

Begriff Erklärung
Intel VT Virtualisierungstechnologie im Prozessor, welche sicherstellt, dass etwa Arbeitsspeicher nicht überschrieben wird und betsimmte I/O sauber durchgeschlauft wird
AMD-V Wie Intel VT
Hypervisor Programm zur Virtualisierung (Virtual Machine Monitor), welches auf obige Instruktionen angewiesen ist wie XEN, VMWare ESX oder halt VirtualBox
SMP Symmetrisches Multiprozessorsystem -> braucht Intel VT oder AMD-V, um als Host zu funktionieren
Emulator Täuscht die Hard- oder Software möglichst echt vor
Virtualisierung Emuliert nur gewisse Teile des Systems. So können daher nur Betriebssysteme emuliert werden, welche für den gleichen Prozessortyp geschrieben wurden.

Installation

Läuft normal. Möchte man allerdings nur für den aktuellen Benutzer installieren, gilt folgendes:

  • msi entpacken: ...\\virtualbox.exe -extract -> extrahiert ins Temp-Verzeichnis -> wird am Schluss angezeigt
  • msi-Paket zur entsprechenden Hardware wählen (x86 oder x64)
  • msi installieren für den aktuellen Benutzer: msiexec /i ...\\virtualbox.msi ALLUSERS=2 -> Wenn Pfad mit Leerzeichen, dann mit "" umschliessen

Globale Einstellungen

Eingabe

Host-Taste ist meist Ctrl (rechts). Wichtige Kombinationen damit: Host alleine -> Maus und Tastatur "befreien"

  • F: Wechsel Vollbild / Fenster
  • H: ACPI Power Button
  • N: Sicherungspunkt (Snapshot) im Hintergrund erstellen
  • P: Pause/Weiter (Machine anhalten / Weiter)
  • Q: Power Off
  • R: Reset
  • S: Ruhezustand (Zustand speichern und Maschine beenden)
  • Entf: Sendet Ctrl-Alt-Entf
  • F1-F12: Ctrl-Alt-Fx

3D-Beschleunigung

OpenGL 2.0 steht für alle zur Verfügung. Direct3D 8 und 9 nur für Windows. Fürs nutzen braucht man natürlich ein Hostsystem mit einer entsprechenden Karte und dazu müssen auch die Gasterweiterungen installiert werden.

VBoxManage modivyvm "Name" --accelerate3d on

Damit dies funktioniert, braucht es entsprechend Grafikspeicher, der zur Verfügung steht -> Kontrolle in den Einstellungen.

2D-Beschleunigung

Vor allem für die Video Wiedergabe notwendig, damit diese direkt durchgereicht wird. Ist aber noch in Entwicklung und erst ab Win XP und neuer verfügbar.
VBoxManage modivyvm "Name" --accelerate2dvideo on

Netzwerk

Man kann pro Maschine bis 4 Netzwerkadapter (mit VBoxManage sogar 8) einrichten. Welchen man verwendet hängt vom Gast ab. Je nachdem kennt dieser halt nur ältere Adapter. Das Paravirtualisierte Netzwerk braucht noch Zusatztreiber im Gast (http://www.linux-kvm.com).

  • Meist genügt als Anschlussart NAT. Hier fingiert Virtualbox als DHCP-Server (vboxmanage dhcpserver) und Gateway. Nach aussen verwendet er die IP des Hosts. Von aussen kommt man dadurch aber nicht direkt ans Gastsystem heran, da die entsprechende Adresse nicht geroutet wird. Das bedeutet, dass man zwar auf andere Geräte kommt, doch diese nicht mit dem Gast kommunizieren können. Die virtuelle Maschine kann also nicht als Server arbeiten.
  • Wählt man stattdessen Netzwerbrücke (bridged), so muss der physikalische Adapter des Hosts zugewiesen werden. Danach setzt man eine eigene IP. Nun verhält sich der Gast so, als hätte er eine eigene Netzwerkschnittstelle (wichtig für Dienste-Server).
  • Wählt man internes Netzwerk, so muss man einen Namen dazu vergeben. Alle Gäste auf dem Rechner können dann untereinender kommunizieren, doch nicht nach aussen und auch von aussen erhält man keinen Zugriff auf das Netzwerk.
  • Das Host-only Netzwerk verhält sich ähnlich wie das interne, doch hier kann man auch mit dem Host kommunizieren. Man braucht dafür einen Bereich für die virtuellen Maschinen, den virtuellen DHCP-Server und die Adresse der virtuellen Netzwerkkarte.

Zusatzpakete

Hier kann man Zusatzpakete wie das "Oracle VM VirtualBox Extension Pack" installieren

Gasterweiterungen

Werden nicht für alle Gäste zur Verfügung gestellt. Dienen neben bessernen Treibern, dem Datenaustausch über gemeinsame Ordner oder die Zwischenablage. Kann meist als iso eingebunden und danach ausgeführt werden. Entweder die exe oder unter Unix: sudo ./VBoxLinuxAdditions.run Bei Problemen steht alles unter /var/log/vboxadd-install.log

Snapshots

Werden im Unterverzeichnis Snapshots gespeichert.

Audio

Es braucht folgende Angaben:

  • Audio aktivieren
  • Welcher Audiotreiber des Hosts verwendet werden soll (Null (pseudo), dsound(DirectSound, pulse, alsa)
  • Welchen Audio-Controller soll das System emulieren (Intel-HD, ICH AC97, SoundBlaster16)

Audiotreiber

Mit dem Null-Treiber erfolgt keine Ausgabe, man kann damit aber Programme laufen lassen, die einen Soundtreiber voraussetzen:
VBoxManage modivyvm "Name" --audio null

Windows:
VBoxManage modivyvm "Name" --audio dsound

Linux
VBoxManage modivyvm "Name" --audio pulse|alsa

Audio-Controller

VBoxManage modivyvm "Name" --audiocontroller hda|ac97|sb16

Gemeinsame Ordner (Netzlaufwerk)

VirtualBox mappt für den Dateiaustausch mit dem Host einen Ordner:

  • Im Konfigurationsmenü der VM auf den Punkt "gemeinsame Ordner" gehen
  • Beim Ordnerpfad wird eingegeben, wo die Daten auf dem Hostsystem abgelegt werden, damit sie beim Gast sichtbar sind (z.B.: c:/transfer | /media/vm)
  • Nun den Ordner, der beim Gastsystem gemappt werden soll
  • Setzt man "nur lesbar", dann kann das Gastsystem nichts schreiben
  • Beim "automatisch einbinden" wird ein Netzlaufwerk eingerichtet

VBoxManage sharedfolder add "Name" --name transfer\\ --hostpath /media/transfer|c:\\transfer

Unter Linux wird das Laufwerk als eigenes Dateisystem gemounted: mount -F vboxfs [-o OPTIONS] sharename mountpoint

Will man es ab Start integriert haben, so fügt man folgende Zeile in die /etc/fstab ein: sharename mountpoint vboxsf defaults 0 0

Medienmanager (virtuelle Medien)

Man kann Festplatten, CD/DVD-Abbilder und Diskettenimages verwalten. Gewisse Funktionen sind aber nur über die Konsole erreichbar.

Festplatten

Hier kann man Images entfernen oder freigeben. Neue erstellen oder vorhandene registrieren geht nur über die Konsole.

Konfigurationsdateien

Globale Konfiguration

Globale Einstellungen werden im Benutzerverzeichnis unter .VirtualBox abgelegt. Die Datei heisst VirtualBox.xml. Es befinden sich neben den globalen Einstellungen auch alle registrierten VMs und Festplatten und CD-Images darin. Die Datei sollte vor einer Neuinstallation gesichert werden. Bei schwerwiegenden Problemen kann man diese Datei auch umbenennen. Dabei gehen aber alle registrierungen verloren und man muss diese wieder integrieren.

Konfigurationsdatei einer VM

Ist ähnlich aufgebaut wie die globale Konfigurationsdatei. Endet auf .vbox. Kann nicht auf eine andere Platform übertragen werden, da spezifisch. Die Datei kann aber angepasst werden, wenn man die Kenntnisse dazu hat (Pfade usw.). Bei Problemen wie Abstürzen kann man durch anpassen der Datei evtl. etwas verbessern, falls man in den Logdateien Hinweise dazu findet.

Logdateien

Im Verzeichnis der VM wird das Unterverzeichnis Logs erstellt. Darin wird alles relevante in Vbox.log protokolliert.

UUID

Jede Festplatte usw. besitzt eine ziemlich eindeutige UUID. VMs werden entweder mit ihrem Namen oder dieser ID angesprochen.

Kommandozeilentools

Um die Tools suaber nutzen zu können, muss der Pfad in der Path-Variable integriert werden, da man sonst immer ins bin Verzeichnis der Virtualbox wechseln muss. Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen Den Pfad mit einem Strichpunkt und anschliessend dem Virtualbox-Pfad erweitern. Dann die Konsole neu öffnen. Unter Linux sollte die Datei automatisch erreichbar sein, wenn die Tools korrekt unter /usr/bin abgelegt wurden.

VBoxManage

Damit kann man neue Maschinen erstellen oder alle Optionen bearbeiten.

Befehl Bedeutung Bemerkungen
VBoxManage BEFEHL PARAMETER Führt den Befehl mit den angegebenen Parametern aus
VBoxManage list vms Listet alle VMs auf Es gibt noch folgende wichtige Argumente für list: runningvms, hdds, dvds, ostypes (unterstützte Gastsysteme), systemproperties
VBoxManage showvminfo UUID oder Name Listet Info zur VM auf
VBoxManage storageattach LiveCD --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium host:/dev/sr0 CD im Laufwerk verfügbar machen. bei Windows host:x: / port 0 ist primärer -, 1 ist sekundärer Anschluss / device 0 ist Master, 1 ist Slave Kennt das System die UUID schon, kann man ein Gerät/ISO-Abbild auch darüber einbinden
VBoxManage storageattach "CD Image" --storagectl "IDE-Controller" port 1 --device 0 --type dvddrive --medium "/media/cd/image.iso" Beschreibung siehe oben
VBoxManage startvm NAME startet die entsprechende VM
poweroff | savestate Maschine herunterfahren bei acpi wird ein Signal gesendet, poweroff zieht den Stecker und savestate macht Ruhemodus
VBoxManage modifyvm NAME --vrde on --vrdeport 3400 RDP in der VM einschalten --vrde off beendet den RDP
VBoxManage internalcommands sethduuid IMAGE.vhd Setzt für diese vhd eine neue UUID. Wichtig beim kopieren von VMs, sonst kommt die Meldung, dass die UUID schon verwendet wird.
VBoxManage modifyvm "Name" --nic1 bridged --bridgeadapter1 eth0 oder "Ethernetadapter der AMC-PCNET-Familie" Setzt das Netzwerk auf bridged. eth0,1,2 für Linux oder der Name bei Windows Unbedingt das Interface korrekt schreiben, da es auch falsche Namen ohne zu murren akzeptiert und es dann einfach nicht funktioniert. Danach muss bei der VM eine eigene IP gesetzt werden oder er bekommt vom DHCP-Server eine eigene IP. So kann die VM auch von aussen erreicht werden.
VBoxManage snapshot "Name" take "Sicherungspunkt 1" --desc "Beschreibung" Sicherungspunkt erstellen Beschreibung nicht vergessen, da man sonst im nachhinein nicht mehr weiss, wieso man den SP gesetzt hat.
VBoxManage snapshot "Name" delete "Sicherungspunkt 1" Das System entfernt den SP Nachher arbeitet das System dort weiter, wo man jetzt ist. Es gibt keine Möglichkeit mehr, zurückzukehren.
VBoxManage snapshot "Name" restore "Sicherungspunkt 1" Das System kehrt zum SP zurück Alle Änderungen bis zum SP werden verworfen und man beginnt wieder beim SP.

VBoxSDL

Startet eine VM von der Kommandozeile. Diese hat entsprechend auch keine Menü- und Statusleiste, was auch eine Manipulation verhindert. Dazu kann man temporäre Argumente als Parameter mitgeben (--memory 2GB -> mehr Speicher, --cdrom DATEI, --fullscreen, --termacpi -> herunterfahren, wenn Fenster geschlossen wird). vboxsdl --startvm VMName

VBoxHeadless

Öffnet eine VM im Hintergrund, welche nur über RDP erreicht werden kann.
vboxheadless --startvm VMName
Damit der RDP-Port erreichbar ist, muss man bei mehreren Maschinen den Port entsprechend mitgeben:
vboxheadless --startvm VMName --vrde on --vrdeproperty TCP/Ports=3400
-> Fenster nicht schliessen, da sonst die Maschine darin abgewürgt wird. Stattdessen im Gastsystem einloggen und beenden oder mittels VBoxManage herunterfahren:
VBoxManage controlvm VMName acpipowerbutton

Session aufzeichnen

In diesem Modus kann man auch eine Aufzeichnung im Hintergrund starten. Etwa wenn man dies an einer Schuliung oder so zeigen will. Allerdings muss man massig Platz einberechnen:
vboxheadless --startvm VMName --capture --width 800 --height 600 --bitrate 500000 --filename d:\\aufnahmen\\test.mpeg
Je nach Detailtreue muss man die Fenstergrösse entsprechend anpassen. DIe Bitrate muss zwichen 300k und 1M liegen. Dazu müssen auf dem PC die ffmpeg-Tools installiert sein.

Remotezugriff

Kann in der Konfiguration der VM eingerichtet werden. Dort unter Anzeige die Fernsteuerung aktivieren. Beim Port kann man 3389 als Standard lassen. Bei mehreren VM muss halt entsprechend angepasst werden. Je nachdem muss für die Firewall noch eine Ausnahme definiert werden. Der Zugriff erfolgt über den Rechnernamen/IP des Hosts gefolgt vom Port nach einem Doppelpunkt (rechnerx:3400). Local gehts auch mit localhost.

rdesktop-vrdp (Linux)

Neben tsclient und rdesktop gibt es mit rdesktop-vrdp ein eigenes Programm für VirtualBox. Kann RDP zu einer VM und dabei auch USB-Geräte weiterreichen. rdesktop-vrdp ZIELRECHNER:PORT -> Rechner kann der Name oder auch die IP sein. Folgende Parameter sidn nützlich: -k Tastaturlayout (de, sg, usw.) -N Numlock ein -u Username -p Passwort -r sound:local -> Audio an VM weiterleiten

Image kopieren

Wenn man eine Maschine nicht klont sondern kopiert, so muss man anschliessend folgendes durchführen, damit die Verarbeitung trotzdem sauber funktioniert:

  • UUID der Festplatte neu generieren mit vboxmanage
  • UUID der Maschine anpassen
  • Evtl. weitere Verweise im .vbox an die neuen UUID anpassen

Sonst CloneCDI verwenden oder im VirtualBox Manager "Clone Image" verwenden.