Unter Windows 7 stellen manche Anwender fest, dass es Probleme mit dem Erkennen von USB-Geräten in den virtuellen Maschinen gibt. Nachdem ich mich längere Zeit mit dem Problem herumgeschlagen habe, liegt jetzt (zumindest für mich) eine Lösung vor.
Anzeige
Hintergrund & Historie
Ich teste bereits seit längerer Jahren diverse Virtualisierungslösungen und setze diese auch für diverse Tests ein. War es lange Jahre VMware Workstation, musste seit Windows Vista VMware Server 1.x herhalten. Seit VMware für den Server ein Webinterface eingeführt hat und ein Serverbetriebssystem als Host voraussetzt, bin ich zu VMware Player 3.x gewechselt. Die Lösung tut auch ausgezeichnet, was sie soll. Trotzdem möchte ich gelegentlich auch andere Virtualisierungslösungen wie VirtualBox (ggf. als portable Version), VMLite und Windows Virtual PC zu Testzwecken einsetzen.
Es begann wohl mit VirtualBox 3.2.4 oder 3.2.6 – plötzlich streikte die USB-Unterstützung. Neben einem BlueSceen des VirtualBox USB-Treibers war es nicht mehr möglich, die angestöpselten USB-Geräte (USB-Kartenleser, USB-Sticks) in der Gastumgebung zu übernehmen. Nach Deinstallation der fehlerhaften VirtualBox-Version setze ich ältere Varianten von VirtualBox Portable ein – aber auch hier blieb das Problem des USB-Support. Ganz schlimm wurde es, als ich die Version 3.2.6 von VMLite zum Testen auf den Tisch bekam. Genau die gleichen BlueScreens wie bei VirtualBox. Hintergrund: VMLite basiert auf dem Quellcode von VirtualBox, wurde aber durch die Entwickler massiv verändert. Ich hatte die Entwickler bereits im Vorfeld auf das Problem des VirtualBox-USB-Treibers aufmerksam gemacht – man glaubte mir nicht.
Erst als ich unter [1] einen Bug-Report absetzte, kam etwas Bewegung in die Sache. Während eine Websuche bei VirtualBox wenig erhellendes an den Tag brachte, sah es bei VMLite anders aus. Von den Entwicklern wurde sehr schnell bestätigt, dass der Bug nachvollziehbar sei und neue Treiber bzw. gepatchte Versionen von VMLite Workstation 3.2.6 herausgegeben würden.
Anzeige
Im Laufe der folgenden Wochen kamen neue Versionen von VMLite 3.2.6 Workstation heraus, die auch ohne BlueScreens unter Windows 7 (64 Bit) liefen. Allein, die USB-Unterstützung arbeitete nicht korrekt (während dies bei VMware Player nie ein Thema war). Die VMLite-Entwickler bestätigten im Forum, dass es noch Probleme mit dem USB-Support gab und vertrösteten auf VMLite Workstation 3.2.8. Als ich auch unter Windows Virtual PC Probleme mit der USB-Unterstützung bei manchen Geräten bemerkte, war dies der Grund, mich auf die Suche nach einer Lösung zu machen. Da eine Deinstallation von VMWare Player 3.x keine Abhilfe brachte, waren andere Ursachen/Ansätze gefragt.
Problemursache und Lösung
Einen Hinweise auf die mögliche Ursache fand ich in einem zweiten Diskussionsthread im VMLite-Forum [3]. Bei einem Anwender funktionierten überhaupt keine USB-Geräte mehr. Eine Kontrolle des Zweigs HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB zeigte mir, dass dort ein Eintrag Vid_80EE&PID_CAFE vorhanden war, der diverse USB-IDs aufwies, die als Dubletten auch in anderen Zweigen vorkamen. Und unter den USB-IDs war der Wert Service auf "VBoxUSB" gesetzt.
Meine Vermutung ging dann dahin, dass der fehlende VBoxUSB-Treiber die Ursache für die Konflikte sei (VirtualBox hatte ich längst deinstalliert). Eine weitere Internetsuche nach dem Schlüssel führte mich dann zu [2] – wo der Entwickler der portablen Version von VirtualBox einen Hinweis auf einen Bug lieferte.
Nach diesem Hinweis war ich mir sicher, dass der komplette Zweig Vid_80EE&PID_CAFE entbehrlich sei, da er sich auf die nicht mehr vorhandene portable VirtualBox-Fassung bezog (die nicht parallel zu VMLite betrieben werden kann, da die Konfigurationsdateien gegenseitig überschrieben werden). Also galt es, den Schlüssel zu entfernen …
… leichter gesagt als getan. Der Besitzer des Schlüssels ist das Konto System und eine Übernahme des Besitzes scheiterte auch mit Administratorenrechten. Allerdings gibt es da einen Trick, den ich in den unten angegebenen Foren fand: In den Sysinternals-Foren gibt es das Program PsExec.exe, welches in der Eingabeaufforderung läuft und eine Anwendung unter dem Systemkonto starten kann. Mit dem Befehl:
PsExec.exe -s -i regedit
wird PsExec mit dem Schalter –s angewiesen, den Registrierungseditor unter dem Systemkonto laufen zu lassen. Der Schalter –i bewirkt die interaktive Ausführung (so dass Regedit auf dem Desktop angezeigt wird). Der Befehl muss in einer administrativen Eingabeaufforderung eingegeben werden. Dann erscheint das Fenster des Registrierungseditors und der gewünschte Schlüssel lässt sich löschen.
Ein anschließender Test ergab, dass nun auch VMLite Workstation 3.2.6 die USB-Geräte wieder einwandfrei erkannte und in der virtuellen Maschine zugänglich machen konnte.
Weiterführende Links:
[1] Problemdiskussion im VMLite-Forum (VMLite Workstation 3.2.6)
[2] Fehlerdiskussion in VirtualBox USB-Help
[3] Diskussion im VMLite-Forum (VMLite 3.2.6 USB nicht erkannt)
Anzeige
Leider bin ich zu blöd die Eingabe: PsExec.exe -s -i regedit mit Erfolg auszführen.
Das Programm habe ich heruntergeladen, bin in der Eingabeaufforderung in das Verzeichniss gegangen wo das programm PsExec.exe gespeichert ist und dann den befehl eingegeben und Enter!
Und dann:
C:\Users\Wolfgang\Downloads\PSTools>PsExec.exe -s -i regedit
PsExec v2.2 – Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals – http://www.sysinternals.com
Couldn't install PSEXESVC service:
Zugriff verweigert
C:\Users\Wolfgang\Downloads\PSTools>
Gruß
Wolfgang
War die Eingabeaufforderung mit 'Als Administrator ausführen' aufgerufen worden?
also bei mir hat das auch nicht funktioniert, hab es als Administrator ausgeführt und nix hat angezeigt entweder falsch eingegeben oder wurde nicht gefunden