Virtualisierung · 5 min read · Dec 01, 2025

VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.1 auf einem headless Fedora 17 Server ausführen

VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.1 auf einem headless Fedora 17 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 Fedora 17 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 benötigt wird.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Ich habe dies auf einem Fedora 17 Server (Host-System) mit der IP-Adresse 192.168.0.100 getestet, wo ich als normaler Benutzer (Benutzername admin in diesem Beispiel) anstelle von 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 Fedora 17 Server zu installieren, benötigen wir Root-Rechte, daher führen wir aus

$ su

Dann installieren wir die Abhängigkeiten für VirtualBox 4.1 wie folgt:

# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers dkms

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  
# rm -f oracle_vbox.asc

Jetzt aktivieren wir das VirtualBox Fedora-Repository auf unserem System:

# cd /etc/yum.repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

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

# yum install VirtualBox-4.1

Beginnend mit 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 herunter und installieren Sie es wie folgt:

# cd /tmp  
# wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack  
# 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

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.

Bevor wir eine virtuelle Maschine erstellen, müssen wir herausfinden, wie das primäre Netzwerkgerät auf Fedora benannt ist:

$ ifconfig
[admin@server1 ~]$ ifconfig  
lo: flags=73  mtu 16436  
        inet 127.0.0.1  netmask 255.0.0.0  
        inet6 ::1 prefixlen 128 scopeid 0x10  
        loop  txqueuelen 0  (Local Loopback)  
        RX packets 0 bytes 0 (0.0 B)  
        RX errors 0 dropped 0 overruns 0 frame 0  
        TX packets 0 bytes 0 (0.0 B)  
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0  
  
p3p1: flags=4163  mtu 1500  
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255  
        inet6 fe80::20c:29ff:fe58:4256 prefixlen 64 scopeid 0x20  
        ether 00:0c:29:58:42:56 txqueuelen 1000  (Ethernet)  
        RX packets 1133921 bytes 963213128 (918.5 MiB)  
        RX errors 0 dropped 6 overruns 0 frame 0  
        TX packets 478361 bytes 28634802 (27.3 MiB)  
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0  
  
[admin@server1 ~]$

Wie Sie sehen, heißt es in diesem Fall p3p1 - bitte beachten Sie dies.

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

$ VBoxManage createvm --name "Ubuntu 12.04 Server" --register

Im nächsten Befehl müssen wir das richtige Netzwerkinterface angeben (p3p1 in meinem Fall):

$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 p3p1
$ 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 bestehenden 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).

Darüber hinaus kopieren Sie die Datei examplevm.vdi aus dem alten VDI-Verzeichnis in das neue (z.B. /home/admin/.VirtualBox/VDI/examplevm.vdi).

Danach 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 Gerät 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.