ubuntu 下为virtualbox开启usb设备支持

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设备了。

posted @   郑文亮  阅读(1121)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2012-02-28 JS对象与JSON格式数据相互转换(转)
2012-02-28 ASP.NET万能JSON解析器
2012-02-28 Wireshark抓包工具使用教程以及常用抓包规则
2012-02-28 HTTP协议详解(真的很经典)
2012-02-28 Fiddler 教程
2012-02-28 HTTP Request header
2012-02-28 让ASP.NET的FileUpload控件支持浏览自动上传功能
点击右上角即可分享
微信分享提示