Versucht man als Benutzer ohne administrative Rechte unter Windows eine virtuelle Maschine zu starten, so erhält man unter Umständen eine Meldung, das der Treiber “VboxDrv” nicht läuft. Nicht zu verwechseln ist diese Meldung mit dem Fehler, wenn der Treiber nicht geladen werden konnte (siehe Windows: VirtualBox – Virtuelle Maschinen starten nicht (0xc0000034)).

Hintergrund dieser Situation ist, das die Kontrolle über Dienste und Treiber, also Befehle wie z.B. Start oder Stop, administrativen Benutzern vorbehalten ist. Nach der Installation von VirtualBox ist als Starttyp für den Treiber “VboxDrv” möglicherweise auf “Manuell” eingestellt. Das bedeutet, der Treiber wird bei Bedarf geladen bzw. gestartet. Soweit so gut, möchte das aber nun der gemeine Benutzer tun, scheitert dies mit der Meldung “Zugriff verweigert”, das geht allerdings nicht aus der VirtualBox-Fehlermeldung hervor.

Prüft man in einer Eingabeaufforderung ohne erhöhte Rechte mit

sc query vboxdrv

den Status, so stellt man fest, das der Treiber nicht läuft. Versucht man in der gleichen Eingabeaufforderung den Treiber zu starten, bekommt man “Zugriff verweigert” als Rückmeldung:

sc start vboxdrv

Mögliche Lösungen

Der naheliegenste Gedanke ist, schlichtweg den Treiber auf automatischen Start zu konfigurieren. Dies kann man auf mehreren Wegen mit erhöhten Rechten bzw. als Administrator tun:

Ein sehr bequemer grafischer Weg besteht in der Verwendung von Nir Sofer’s ServiWin.

  • ServiWin herunterladen, entpacken und als Administrator (Rechtsklick …) starten.
  • Den Treiber “VBoxDrv” auswählen, mit der rechten Maustaste anklicken und im Kontextmenü “Change Startup Type” “Automatic” besser “System” auswählen.

Hintergrund der unterschiedlichen Modi ist, das im Fehlerfall bei “Automatic” das System einen Neustart macht, bei “System” läuft der Startvorgang von Windows weiter und es erscheint lediglich eine Fehlermeldung.

VBoxDrv in ServiWinMit Bordmitteln kann man z.B. den entsprechenden Wert in der Registry ändern:

Regedit mit erhöhten Rechten ausführen. Zu

HKLM\System\CurrentControlSet\VBoxDrv

wechseln und den Wert von “Start” von “3” auf “1” ändern.

Ab dem nächsten Start des Computers wird er Treiber automatisch (mit)gestartet.

Schneller und einfacher geht es mit dem Befehl

sc config vboxdrv start=system

der in einer Eingabeaufforderung mit erhöhten Rechten ausgeführt wird.

Weitere Lösungswege

VirtualBox mit erhöhten Rechten, z.B. via Rechtsklick “Als Administrator ausführen”, starten wäre eine Option, allerdings auf die Dauer dürfte das Eingeben des entsprechenden Kennworts auf die Dauer störend sein.

Alternativ müsste dem Benutzer, besser der entsprechenden Gruppe (evtl. extra zu diesem Zweck eine anlegen), das Recht gewährt werden, Dienste bzw. Treiber starten zu dürfen.

In älteren Windows-Versionen konnte man als relativ einfache Konfigurationsmöglichkeit zu “Subinacl.exe” (MS Support Artikel / Download) greifen. Leider wird dieses Tool nicht mehr weiterentwickelt und von Microsoft nicht mehr unterstützt. Ferner kann es unter neueren Windows-Versionen (7, 2008 oder höher) zu Problemen kommen. Der vollständigkeit halber sei erwähnt, das dieser Beitrag auf Windows 8.1 beruht.

Als aktuellere aber leider nicht ganz trivial verwendbare Lösung kann SetACL von Helge Klein verwendet werden.

Hinweis: Das Ändern der Dienste- bzw. Treiber-Berechtigungen wurde im Rahmen dieses Beitrags nicht getestet!

Persönliche Bemerkung

Beim Vergleich von drei Computern fanden sich drei verschiedene Starteinstellungen des “VBoxDrv”, wie das zustande kommt bleibt offen. Möglicherweise liegt es an der Art, wie VirtualBox installiert wurde. Damit ist gemeint, ob die Setup-Datei vom Benutzer gestartet und dann via UAC-Abfrage erhöhte Rechte erlangt wurden oder ob gleich als Administrator die Installation ausgeführt wurde.