qqruser 发表于 2015-4-15 05:24:41

VirtualBox 及一些特殊USB(无驱动)的识别问题(二)解决了不能识别一些特殊USB的问题(其实就是插着USB重启,很简单)

  原来手机怎么也连不上Linux ,碰巧这几天又在搞VirtualBox虚拟,刚好手机当时又插上USB的,重启了下,识别出来了:),只要重启电脑,不作如下设置,手机都能被识别(不知原因);作个标记,有时间再慢慢研究。(或者按下面流程过一遍,再恢复原状,手机就可以被识别了),求解?(请各位知道具体情况的留言,谢过)
  再论述一下我的问题吧:
  卸载了手机之后,仍可以用 lsusb 查看到其USB与PC的连接;如下:
“Samsung SemiConductor, Inc. ”

但问题来了,这时候mount -a 就不能成功加载我的手机了,当然,df 也没有它的踪影;请各位指点!
  如果要在VB下识别USB,正常程序还是按以下的来;
  
这是别人的总结,也不知道其链接了,在此谢过;
  VirtulaBox下U盘设置
一、想起了VirtualBox安装目录下有一个UserManual.pdf的使用手册,便查看关于USB的相关设置。
总的来说意思有如下几 点:
1.确保正在使用VirtualBox的用户是否为用户组vboxusers一员.
2.确保该用户是否有权限去读写usbfs这个文件系统
3.修改/proc/bus/usb没有效果,只能通过修改/etc/fstab文件。
4.修改/etc/fstab文件,让USB用户组必须有权限去读写usbfs.加入:
none /proc/bus/usb usbfs devgid=85,devmode=664 0 0
其中devgid, 85为USB用户组的id。 devmode,664 为对usbfs 文件系统的权限664
5.如果系统没有usb用户组,那么你需要用vboxusers这个在安装VirtualBox的时候产生的用户组。

二、了解后,接着下 一步:
2.1、添加当前用户为vboxusers一员
# cat /etc/group |grep vboxusers
vboxusers:x:501:
# /usr/sbin/usermod -G vboxusers -a yorks
# cat /etc/group |grep vboxusers
vboxusers:x:501:yorks


2.2、 查看是否有USB的用户组
# cat /etc/group|grep usb
# cat /etc/group|grep USB
#
这里两个都没有,因 为没有任何东西输出。

2.3、修改/etc/fstab文件。
# echo "none /proc/bus/usb usbfs devgid=501,devmode=664 0 0" >> /etc/fstab
# tail -2 /etc/fstab
/dev/sda7 /home ext3 defaults 0 0
none /proc/bus/usb usbfs devgid=501,devmode=664 0 0
#
注意:501是在2.1查到的 vboxusers组id.

2.4、重新执行/etc/fstab的挂载操作。
# mount -a
mount: none already mounted or /proc/bus/usb busy
#
出错了。

2.5、google: none /proc/bus/usb usbfs devgid=501,devmode=664 0 0,结果:
************Fedora中文论坛里面的说的。发现/proc/bus/usb和/sys /bus/usb/drivers不同,于是就试着修改,将/proc/bus/usb换成/sys/bus/usb/drivers。**********
再次测 试:
# mount -a
#
这次没 有错误了。接着打开VirtualBox,出现了这个提示:
不鸟它。启动guest,插上U盘,提示找到新硬件...OK啦。。享用吧。
  从这个链接也得到了一些启发:
  http://www.phpfans.net/ask/answer1/6861957371.html
  附:VirtualBox USB解决方案之官方原文:
  USB
  To get USB support, you need the PUEL (non-free) version. Via the GUI, there is an option to enable USB. Furthermore, your user must be able to access /proc/bus/usb/* Since Gutsy, /proc/bus/usb is not mountedby default. Version 2.0.6 removes the need for the following lines to be added, but /proc/bus/usb must still be mounted. Previously, in Intrepid, you needed to add the following lines to /etc/init.d/mountdevsubfs.sh right after domount devpts "" /dev/pts devpts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE but before the ending }for the dostart shell function. For Gutsy and Hardy you just need to edit /etc/init.d/mountdevsubfs.sh and uncomment the following lines:
  #
         # Magic to make /proc/bus/usb work in virtualbox version < 2.0.6
         #
         mkdir -p /dev/bus/usb/.usbfs
         domount usbfs &quot;&quot; /dev/bus/usb/.usbfs usbfs -obusmode=0700,devmode=0600,listmode=0644
         ln -s .usbfs/devices /dev/bus/usb/devices
         mount --rbind /dev/bus/usb /proc/bus/usb
  Then run the script that you just edited:
  sudo /etc/init.d/mountdevsubfs.sh start
  In order to give users in the vboxusers group write permissions to the devices in /proc/bus/usb, you'll need to edit some rules in /etc/udev/rules.d. Under Gutsy, edit /etc/udev/rules.d/40-permissions.rules to say the following:
  # USB devices (usbfs replacement)
SUBSYSTEM==&quot;usb_device&quot;,               MODE=&quot;0664&quot;, GROUP=&quot;vboxusers&quot;
  Under Hardy and Intrepid, edit /etc/udev/rules.d/40-basic-permissions.rules to say the following:
  # USB devices (usbfs replacement)
SUBSYSTEM==&quot;usb&quot;, ENV{DEVTYPE}==&quot;usb_device&quot;, MODE=&quot;0664&quot;, GROUP=&quot;vboxusers&quot;
SUBSYSTEM==&quot;usb_device&quot;,               MODE=&quot;0664&quot;, GROUP=&quot;vboxusers&quot;
  Then, restart the udev service:
  sudo /etc/init.d/udev restart
  Now, if you haven't done it already, make sure your user is part of the group vboxusers using the following command:
  sudo usermod -G vboxusers -a `whoami`
页: [1]
查看完整版本: VirtualBox 及一些特殊USB(无驱动)的识别问题(二)解决了不能识别一些特殊USB的问题(其实就是插着USB重启,很简单)