Virtualisierung · 5 min read · Dec 02, 2025

VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.1 auf einem headless OpenSUSE 12.1 Server ausführen

VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.1 auf einem headless OpenSUSE 12.1 Server ausführen

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

Dieser Leitfaden erklärt, wie Sie virtuelle Maschinen mit VirtualBox 4.1 auf einem headless OpenSUSE 12.1 Server ausführen können. Normalerweise verwenden Sie die VirtualBox-GUI, um Ihre virtuellen Maschinen zu verwalten, aber ein Server hat keine Desktop-Umgebung. Glücklicherweise kommt VirtualBox mit einem Tool namens VBoxHeadless, das es Ihnen ermöglicht, über eine Remote-Desktop-Verbindung auf die virtuellen Maschinen zuzugreifen, sodass die VirtualBox-GUI nicht erforderlich ist.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Ich habe dies auf einem OpenSUSE 12.1 Server (Host-System) mit der IP-Adresse 192.168.0.100 getestet, wo ich als normaler Benutzer (Benutzername admin in diesem Beispiel) und nicht als root angemeldet bin.

Wenn Sie nur ein Root-Konto haben, aber kein normales Benutzerkonto, erstellen Sie eines wie folgt (Benutzer admin, Gruppe admin)…

# groupadd admin  
# useradd -d /home/admin -m -g admin -s /bin/bash admin

… erstellen Sie ein Passwort für den neuen Benutzer…

# passwd admin

… und melden Sie sich als dieser Benutzer an.

2 Installation von VirtualBox

Um VirtualBox 4.1 auf unserem OpenSUSE 12.1 Server zu installieren, benötigen wir Root-Rechte, daher führen wir aus

$ su

Zuerst müssen wir herausfinden, welchen Kernel wir installiert haben:

# uname -a
server1:/home/admin # uname -a  
Linux server1 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux  
server1:/home/admin #

Wie Sie sehen, habe ich das Paket kernel-desktop installiert - wenn Sie das Paket kernel-server installiert haben, ersetzen Sie desktop im folgenden Befehl durch server.

Wir installieren die Abhängigkeiten für VirtualBox 4.1 wie folgt (indem wir das Paket kernel-desktop / kernel-server erneut installieren, stellen wir sicher, dass wir die neueste Version installiert haben):

# yast -i kernel-desktop kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc make

Wenn der Kernel aktualisiert wird, wird YaST Ihnen mitteilen, dass Sie das System neu starten müssen - in diesem Fall führen Sie aus:

# reboot

Melden Sie sich erneut als normaler Benutzer an und werden Sie dann root:

$ su

Laden Sie als Nächstes den öffentlichen rpm-Schlüssel von VirtualBox herunter und registrieren Sie ihn:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc  
# rpm --import oracle_vbox.asc

Jetzt aktivieren wir das VirtualBox OpenSUSE-Repository auf unserem System (es gibt keine Repo-Datei für OpenSUSE 12.1, da die Repo-Datei für 11.4 auch auf 12.1 funktioniert):

# cd /etc/zypp/repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/virtualbox.repo

Wir können jetzt einfach VirtualBox 4.1 wie folgt installieren:

# yast -i VirtualBox-4.1

Stellen Sie anschließend sicher, dass das vboxdrv-Kernelmodul geladen ist:

# modprobe vboxdrv

Der folgende Befehl stellt sicher, dass das vboxdrv-Kernelmodul automatisch geladen wird, wann immer Sie das System starten:

# insserv vboxdrv

Seit Version 4.0 hat VirtualBox sogenannte “Erweiterungspakete” eingeführt und einige Funktionen wie die Unterstützung für Remote-Desktop-Verbindungen (VRDP), die zuvor Teil der VirtualBox-Pakete vor Version 4.0 waren, in diese Erweiterungspakete ausgelagert. Da wir Remote-Desktop-Verbindungen benötigen, um unsere virtuellen Maschinen zu steuern, müssen wir jetzt das entsprechende Erweiterungspaket installieren. Gehen Sie zu http://www.virtualbox.org/wiki/Downloads, und Sie finden einen Link zu folgendem Erweiterungspaket:

VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack  
Unterstützung für USB 2.0-Geräte, VirtualBox RDP und PXE-Boot für Intel-Karten.

Laden Sie das Erweiterungspaket wie folgt herunter und installieren Sie es:

# cd /tmp  
# wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack  
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

(Stellen Sie sicher, dass Sie die neueste Version von der VirtualBox-Website herunterladen.)

Jetzt müssen wir den Benutzer, der VirtualBox ausführen wird (admin in diesem Beispiel), zur Gruppe vboxusers hinzufügen:

# /usr/sbin/usermod -G vboxusers admin

(Sie müssen sich möglicherweise abmelden und wieder anmelden, um diese Änderung wirksam zu machen.)

VirtualBox ist jetzt installiert und bereit zur Verwendung.

Geben Sie

# exit

ein, um das Root-Konto zu verlassen und wieder ein normaler Benutzer (admin) zu werden.

3 Verwendung von VirtualBox über die Befehlszeile

3.1 Erstellen einer VM

Um eine VM über die Befehlszeile zu erstellen, können wir den Befehl VBoxManage verwenden. Siehe

$ VBoxManage --help

für eine Liste der verfügbaren Schalter und (sehr empfohlen!) werfen Sie einen Blick auf http://www.virtualbox.org/manual/ch08.html.

Ich werde jetzt eine Ubuntu 12.04 Server-VM mit 512 MB Speicher und einer 10 GB Festplatte aus dem Ubuntu 12.04 Server-ISO-Image erstellen (das ich in /home/ubuntu-12.04-server-amd64.iso gespeichert habe):

$ VBoxManage createvm --name "Ubuntu 12.04 Server" --register  
$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0  
$ VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000  
$ VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide  
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi  
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.04-server-amd64.iso

3.2 Importieren einer vorhandenen VM

Angenommen, Sie haben eine VM namens examplevm, die Sie auf diesem Host wiederverwenden möchten. Auf dem alten Host sollten Sie ein Verzeichnis Machines/examplevm im VirtualBox-Verzeichnis haben; Machines/examplevm sollte die Datei examplevm.xml enthalten. Kopieren Sie das examplevm-Verzeichnis (einschließlich der Datei examplevm.xml) in Ihr neues Machines-Verzeichnis (wenn Ihr Benutzername admin ist, ist dies /home/admin/.VirtualBox/Machines - das Ergebnis sollte /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml sein).

Zusätzlich dazu kopieren Sie die Datei examplevm.vdi aus dem alten VDI-Verzeichnis in das neue (z. B. /home/admin/.VirtualBox/VDI/examplevm.vdi).

Anschließend müssen Sie die importierte VM registrieren:

$ VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Starten einer VM mit VBoxHeadless

Unabhängig davon, ob Sie eine neue VM erstellen oder eine alte importieren, können Sie sie mit dem Befehl starten:

$ VBoxHeadless --startvm "Ubuntu 12.04 Server"

(Ersetzen Sie Ubuntu 12.04 Server durch den Namen Ihrer VM.)

VBoxHeadless startet die VM und einen VRDP (VirtualBox Remote Desktop Protocol)-Server, der es Ihnen ermöglicht, die Ausgabe der VM remote auf einem anderen Computer zu sehen.

Um eine VM zu stoppen, führen Sie aus

$ VBoxManage controlvm "Ubuntu 12.04 Server" poweroff

Um eine VM zu pausieren, führen Sie aus

$ VBoxManage controlvm "Ubuntu 12.04 Server" pause

Um eine VM zurückzusetzen, führen Sie aus

$ VBoxManage controlvm "Ubuntu 12.04 Server" reset

Um mehr über VBoxHeadless zu erfahren, werfen Sie einen Blick auf

$ VBoxHeadless --help

und auf http://www.virtualbox.org/manual/ch07.html#vboxheadless.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.