virtualbox默认是不支持usb设备的,需要手工修改一些设置才能使用。
1.修改为usb设备增加普通用户权限
1.1 增加一个名为usbfs的用户组
jim@jim-laptop:~$ sudo groupadd usbfs
[sudo] password for jim:
1.2 增加当前用户到工作组
jim@jim-laptop:~$ sudo adduser jim usbfs //其中jim是本人系统的登录名字
[sudo] password for jim:
1.3 得到usbfs组的id
执行如下命令
jim@jim-laptop:~$ cat /etc/group | grep usbfs
usbfs:x:1002:jim,root
其中1002就是usbfs组的id了。
1.4 修改 /etc/fstab 文件
jim@jim-laptop:~$ sudo gedit /etc/fstab
在文件的末尾增加一行
none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0
其中 devgid=1002,其中的1002就是刚才的usbfs的组id
1.5 为 /proc/bus/usb 增加权限
首先为/proc/bus/usb放开所有权限,也就是所有人都能访问。
jim@jim-laptop:~$ sudo chmod 777 /proc/bus/usb
jim@jim-laptop:~$
然后为/proc/bus/usb设置所有者为当前用户,我的当前用户是jim。
jim@jim-laptop:~$ sudo chown jim /proc/bus/usb
jim@jim-laptop:~$
1.6 重启电脑
jim@jim-laptop:~$ sudo reboot
修改完必须重启,否则无法生效
2.获取usb设备的VendorId和ProductId
接下来需要获取usb设备的VendorId和ProductId,这两个都是virtualbox的usb设置所必须的。
命令及反馈信息如下:
jim@jim-laptop:~$ VBoxManage list usbhost
VirtualBox Command Line Management Interface Version 1.6.2
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
Host USB Devices:
UUID: 905eb9b8-f2ef-4945-0980-56f99450a87e
VendorId: 0x0403 (0403)
ProductId: 0x6001 (6001)
Revision: 4.0 (0400)
Manufacturer: ftdi
Product: usb serial converter
SerialNumber: ftDZ0DA5
Address: /proc/bus/usb/003/002
Current State: Busy
UUID: 9cf790af-9d56-49bf-7d90-26446f4cc704
VendorId: 0x05e3 (05E3)
ProductId: 0x1205 (1205)
Revision: 1.16 (0116)
Manufacturer: GenesysLogic
Product: USB Mouse
Address: /proc/bus/usb/001/004
Current State: Busy
UUID: f34662af-88c0-4790-f6b1-6645a3a35133
VendorId: 0x08ff (08FF)
ProductId: 0x1600 (1600)
Revision: 12.16 (1216)
Product: Fingerprint Sensor
Address: /proc/bus/usb/002/002
Current State: Available
注意:如果没有刚才所做的设置,执行VBoxManage list usbhost是什么都不显示的。
3.配置virtualbox
在virtualbox的配置明细/usb中,开启usb控制器和usb2.0控制器,然后点击“从设备列表中添加筛选器”
相关设置会自动的添加到筛选器列表中。
我加了两个usb设备,一个是usb转串口线,另一个是E390自带的指纹识别器
配置好的截图如下
ok,现在可以在guest中使用usb设备了。