VirtualBox VMs automatisch starten

  Lioh Möller   Lesezeit: 3 Minuten  🗪 1 Kommentar

VirtualBox VMs lassen sich mit einfachen Mitteln beim Systemstart automatisch starten.

virtualbox vms automatisch starten

Zum automatischen Start von VMs beim Systemstart, stellt VirtualBox einen Dienst namens vboxautostart-service zur Verfügung.



Dieser kann in der Datei /etc/default/virtualbox aktiviert werden.

Die folgenden zwei Variablen können dort definiert werden:

VBOXAUTOSTART_DB - gibt den absoluten Pfad zum Autostart-Datenbankverzeichnis an, üblicherweise ist dies das Verzeichnis /etc/vbox.
VBOXAUTOSTART_CONFIG - definiert den Pfad zur Autostart-Konfiguration an.

In diesem Beispiel gehen wir von folgender Konfiguration aus:

sudo vim /etc/default/virtualbox

VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg

Daraufhin kann die zuvor angegebene Autostart-Konfigurationsdatei erstellt werden:

sudo vim /etc/vbox/autostart.cfg

default_policy = deny

lioh = {
    allow = true
    startup_delay = 10
}

Der Benutzername (hier lioh) muss an die eigenen Gegebenheiten angepasst werden. Es handelt sich dabei um den Benutzer, unter dessen Kontext die VMs gestartet werden sollen.

default_policy - legt fest, ob der Autostart der virtuellen Maschine standardmässig erlaubt oder verweigert werden soll. Im obigen Beispiel wird ein automatischer Start von VMs allen Benutzern verweigert und nur dem Konto lioh ausdrücklich erlaubt.
startup_delay - ermöglicht die Angabe von Sekunden, um die der Start verzögert werden soll.

Der angegebene Benutzer sollte zur Gruppe vboxusers hinzugefügt werden:

sudo usermod -aG vboxusers lioh

Daraufhin können die Berechtigungen auf das Verzeichnis entsprechend angepasst werden:

sudo chgrp vboxusers /etc/vbox
sudo chmod 1775 /etc/vbox

Nach einer erneuten Anmeldung können die Einstellungen an den VMs vorgenommen werden. Zuvor sollte jedoch einmalig der Pfad zum Autostart-Datenbankverzeichnis konfiguriert werden:

VBoxManage setproperty autostartdbpath /etc/vbox/

VBoxManage modifyvm SpaceFun --autostart-enabled on

Wobei SpaceFun der Name der VM ist, die automatisch gestartet werden soll. Mit folgendem Befehl können alle aktiven virtuellen Maschinen aufgelistet werden:

vboxmanage list vms

Abschliessend kann der vboxautostart-service Dienst aktiviert und gestartet werden:

sudo systemctl enable --now vboxautostart-service

Deaktivieren lässt sich ein automatischer Start einer VM wie folgt:

vboxmanage modifyvm Fedora --autostart-enabled off

Hinweis: Sofern SELinux aktiv ist, muss folgende Policy erstellt werden:

#============= init_t ==============

allow init_t self:passwd rootok;
allow init_t su_exec_t:file { execute execute_no_trans map open read };

Quelle: https://mcgilldevtech.com/2020/04/auto-start-virtual-box-vms-on-linux/

Tags

VirtualBox, Autostart, VM

thomas
Geschrieben von thomas am 23. Februar 2024 um 18:18

Die Anweisung macht einen guten Eindruck! Aber wenn ich "sudo systemctl enable --now vboxautostart-service" ausführe, kommt Failed to enable unit: Unit file vboxautostart-service.service does not exist. Woran könnte das liegen?