USB-Nutzung mit der Virtualbox in Hardy und Intrepid
hillux am 29. Oktober 2007 – 15:52Im Zusammenhang mit der Nutzung der Virtualbox unter Ubuntu mit einem Gastsystem (wie Windows-XP) gibt es einen Fehler. Bei Einrichten des USB-Systems des Gastsystems bekommt man folgende Fehlermeldung:
“Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.”
Eigentlich handelt es sich nicht wirklich um einen Fehler. Vielmehr sind im Script /etc/init.d/mountdevsubfs.sh Optionen standardmäßig deaktiviert. Es gibt unterschiedliche Lösungen bis Hardy und ab Intrepid.
Hardy:
- Im Terminal sudo nano /etc/init.d/mountdevsubfs.sh öffnen.
- Nach folgenden Zeilen suchen:
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount –rbind /dev/bus/usb /proc/bus/usb
und wie folgt ändern (# entfernen):
mkdir -p /dev/bus/usb/.usbfs
domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount –rbind /dev/bus/usb /proc/bus/usb
speichern, Neustart oder
sudo mount -a
Intrepid:
Bei Intrepid fehlen die o.g. Angaben in der Datei mountdevsubfs.sh und müssen ergänzt werden. Außerdem muss in der fstab ein Eintrag ergänzt werden.
1.) Anpassung der mountdevsubfs.sh:
sudo gedit /etc/init.d/mountdevsubfs.sh
Den FETT formatierten Teil im Beispiel ab Magic to make... einfügen und die Datei speichern.
Beispiel:
#! /bin/sh
### BEGIN INIT INFO
# Provides: mountdevsubfs
# Required-Start: mountkernfs
# Required-Stop:
# Should-Start: udev
# Default-Start: S
# Default-Stop:
# Short-Description: Mount special file systems under /dev.
# Description: Mount the virtual filesystems the kernel provides
# that ordinarily live under the /dev filesystem.
### END INIT INFO
#
# This script gets called multiple times during boot
#
PATH=/lib/init:/sbin:/bin
TTYGRP=5
TTYMODE=620
[ -f /etc/default/devpts ] && . /etc/default/devpts
TMPFS_SIZE=
[ -f /etc/default/tmpfs ] && . /etc/default/tmpfs
KERNEL="$(uname -s)"
. /lib/lsb/init-functions
. /lib/init/mount-functions.sh
do_start () {
#
# Mount a tmpfs on /dev/shm
#
SHM_OPT=
[ "${SHM_SIZE:=$TMPFS_SIZE}" ] && SHM_OPT=",size=$SHM_SIZE"
domount tmpfs shmfs /dev/shm tmpfs -onosuid,nodev$SHM_OPT
#
# Mount /dev/pts. Master ptmx node is already created by udev.
#
domount devpts "" /dev/pts devpts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
}
case "$1" in
"")
echo "Warning: mountdevsubfs should be called with the 'start' argument." >&2
do_start
;;
start)
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
# No-op
;;
*)
echo "Usage: mountdevsubfs [start|stop]" >&2
exit 3
;;
esac
2.) fstab anpassen
sudo gedit /etc/fstab
Folgende Zeile ergänzen:
#usbfs
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0
Der Parameter devgid bezeichnet die User-ID des erwünschten Virtualbox-Benutzers, die man unter System, Systemverwaltung, Benutzer und Gruppen finden kann.
Danach das System neu starten!
Eine aktuelle Beschreibung ist hier zu finden:

8 Kommentare zu “USB-Nutzung mit der Virtualbox in Hardy und Intrepid”
Wollte einfach mal nett danke sagen – der Tipp hat funtioniert.
geschrieben von Elli am 03. Apr, 2008
Ich habe auch zu danken!
PS: den Neustart kann man sich auch sparen, einfach
sudo /etc/init.d/mountdevsubfs.sh start
eingeben.
geschrieben von hannes am 17. Apr, 2008
Ganz großes Tennis! Danke!
geschrieben von Moe am 25. Mai, 2008
Ich möchte mich auch ganz herzlich bedanken.Hat mir sehr geholfen,da ich aus beruflichen Gründen nicht ganz auf Windows verzichten kann.
Frohe Weihnacht und ein gesundes neues Jahr
geschrieben von Wolfgang am 22. Dez, 2008
Hallo Wolfgang, danke für Dein nettes Feedback. Ich wünsche Dir ebenso viel Gutes zur Weihnacht und für das kommende Jahr. Kannst Du noch etwas dazu schreiben, welche Ubuntu-Version Du wofür benutzt?
Christian
geschrieben von hillux am 23. Dez, 2008
Danke für die gelungene Anleitung!
Als kleine Ergänzung: die devgid lässt sich auch direkt aus der Shell heraus ermitteln:
echo $(grep vboxusers /etc/group | sed "s/vboxusers:x:\(.*\):.*/\1/")Viele Grüße und ein frohes Fest,
Alex
geschrieben von Alex am 23. Dez, 2008
Tolles Howto (auf den Punkt). Hat mir einiges an Zet erspart
Eine Anmerkung: erwartet “devgid” nicht einen Gruppen-ID der Gruppe “vboxusers”? (meine: Gruppe statt User).
geschrieben von Dirk am 04. Mai, 2009