USB mit VirtualBox

VirtualBox ist ein PC-Emulator der Firma Oracle. Wer in einer virtuellen Maschine die USB-Geräte des Wirtssystems benutzen wollte, mußte dazu früher eine kostenpflichtige Lizenz erwerben. Seit VirtualBox 4 ist das nicht mehr nötig. Einfach VirtualBox installieren und mit USB loslegen klappt trotzdem nicht.

Um USB mit VirtualBox 4.0.12 unter Linux (openSUSE 11.4) als Wirtssystem ans Laufen zu kriegen, mußte ich folgendes tun:

Extension herunterladen und installieren

Für die USB-Unterstützung braucht man neben der normalen VirtualBox-Installation ein Erweiterungspaket, das man von http://www.virtualbox.org/wiki/Downloads herunterlädt. Achtung, es gibt unterschiedliche Pakete für VirtualBox 4.1 und 4.0.12. Für mich ist letzteres interessant, und ich erhalte die Datei Oracle_VM_VirtualBox_Extension_Pack-4.0.12-72916.vbox-extpack. Was man an der Dateiendung nicht erkennen kann: Es handelt sich um eine gzipkomprimierte Tar-Datei.

Die Installation erfolgt mit Hilfe des VirtualBox-Managers:

  1. Anwendung VirtualBox starten.
  2. Im File-Menü Preferences… wählen. Das Fenster Settings erscheint.
  3. Im linken Bereich auf Extensions klicken.
  4. Rechts auf das Symbol klicken, das für Add package steht.
  5. Heruntergeladene Datei mit dem Erweiterungspaket auswählen und auf Open klicken.
  6. Die Installation beginnt. Da Systemdateien installiert werden, muß man das Root-Kennwort in ein Dialogfenster eingeben.

Siehe auch Kapitel »Installing VirtualBox and extension packs« im Benutzerhandbuch.

USB für virtuelle Maschine aktivieren

Um USB für eine bestimmte virtuelle Maschine zu aktivieren, macht man im VirtualBox-Manager folgendes:

  1. Gewünschte virtuelle Maschine auswählen.
  2. Auf Settings klicken. Dialogfenster öffnet sich.
  3. Im linken Bereich auf USB klicken.
  4. Häkchen bei Enable USB 2.0 (EHCI) Controller setzen.
  5. Filter hinzufügen. Hier sollte man für die Geräte, die man in der virtuellen Maschine nutzen will – und nur für diese –, einen Filter definieren. Das läßt alle Geräte außen vor, die das Wirtssystem selbst benötigt. Wie das mit dem Filter genau geht, kann man im Kapitel »USB Support« des Benutzerhandbuchs nachlesen.

Man denke aber nicht, nun könne man endlich mit USB loslegen. Denn zuvor gilt es, eine wichtige Frage zu klären:

Wer darf USB benutzen?

Das Wirtsystem (hier: Linux) und das Gastsystem in der virtuellen Maschine dürfen nicht gleichzeitig auf dasselbe USB-Gerät zugreifen. Wenn das Gastsystem beginnt, ein USB-Gerät zu nutzen, sperrt VirtualBox daher den Zugriff des Wirtssystems auf dieses Gerät. Dennoch kann dabei etwas schiefgehen: Greift das Gastsystem beispielsweise auf eine USB-Festplatte zu, die im Wirtssystem noch angemeldet ist, wirkt das im Wirtssystem so, als wenn der USB-Stecker gezogen worden wäre. Es kann zu Datenverlusten kommen.

Man muß also sehr genau wissen, was man tut und zum Beispiel daran denken, USB-Festplatten im Wirtssystem freizugeben, bevor man sie im Gastsystem verwendet. Daher darf nicht jeder beliebige Benutzer einer virtuellen Maschine USB nutzen, sondern muß vom Systemverwalter dazu berechtigt worden sein. Der macht das, indem er Nutzer in die Gruppe vboxusers einträgt.

Berechtigung aktivieren

USB-Geräte funktionieren im Gastsystem immer noch nicht? Das kann daran liegen, daß VirtualBox die nötigen Berechtigungen im Wirtssystem fehlen. Es hängt von der jeweiligen Linux-Distribution ab, wie genau das Problem zu lösen ist. Im Benutzerhandbuch gibt es dazu das Kapitel »USB not working«.

Unter openSUSE 11.4 ist folgendes zu tun:

  1. Datei /etc/udev/rules.d/60-vboxdrv.rules bearbeiten. Hier gibt es zwei Zeilen, die der Gruppe vboxusers den Zugriff auf USB-Geräte gestatten. Allerdings sind diese Zeilen auskommentiert, so daß sie gar nichts bewirken! Man entfernt die Kommentarzeichen, so daß die beiden Zeilen so aussehen:
    SUBSYSTEM=="usb_device", ATTR{devnum}=="?*", ATTR{busnum}=="?*",NAME="vboxusb/$attr{busnum}/$attr{devnum}", GROUP="vboxusers"
    SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{devnum}=="?*", ATTR{busnum}=="?*",NAME="vboxusb/$attr{busnum}/$attr{devnum}", GROUP="vboxusers"
  2. Obwohl dies ein Linux-System ist, ist nun ein Neustart erforderlich. Danach geht’s.

Diese Lösung habe ich auf der VirtualBox-Seite im englischsprachigen openSUSE-Wiki gefunden.

13 Kommentare zu „USB mit VirtualBox“

  1. geht es noch was komplizierter, das blickt doch kein schwein. verarbeitet das mal endlich in eine .deb datei. los sei kreativ.

      1. Ich suche händeringend nach einer Lösung. Windows 7 HP in VirtualBox läuft zufriedenstellend. Wireless Internet über USB-Stick und Zugriff auf alle eingetragene USB-Devices. Dann bietet Oracle ein Versions Update inkl. Extension Pack an. Nach der Übernahme erscheint beim Start stets die Meldung: Kein Zugriff auf USB-Subsystem. Also keine USB-Devices sind erreichbar, somit auch kein Internet. Trotz intensiver Suche im Internet finde ich keinen Hinweis zur Abhilfe.

        1. Dazu kann ich leider auch nichts sagen. Mit Windows 7 in VirtualBox habe ich keine Erfahrung.

  2. Lediglich den Abschnitt „Wer darf USB benutzen?“ verstehe ich nicht, ich nutze Ubuntu.

  3. Änderungen von udev-rules benötigen nicht notwendigerweise einen Neustart des Linux.

    Als root einfach

    udevadm control –reload

    und die Rules werden neu eingelesen.

    1. Ich musste nicht mall den von dir erwähnten Befehl eingeben sondern nur usb raus und reinstöpseln

Hinterlasse eine Antwort zu Ulf Antwort abbrechen

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..