本来我没打算写这篇博文的因为在linux下挂载U盘就是用几个常用的命令,再就是选择合适的挂载点即可,可是没想到我在把U盘插进我电脑上的USB插口时,过了良久都不识别,windows毫无动静。连在windows环境下都不识别U盘,那怎么继续在linux环境下挂载呀!所以我在解决了这个问题后,感觉很有必要把我的解决过程写下来,让遇到跟我同样问题的朋友能及时解决这样的问题。

我把U盘插入笔记本后,笔记本没什么动静,我很本能的就打开了设备管理器,然后进入通用串行总线控制器看了下里面的接口信息:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_控制器

感觉没什么异常,如是我又很本能的将U盘拔出来,再又重新插进去,设备管理器还是没什么动静。

问题现在就来了,正常情况下当重新插入外接设备时,设备管理器会自动刷新一下(我们眼见到的效果就是"闪"一下),然后在对应的设备栏里面出来一个新的设备接口信息,我们常用的U盘插入后,一般在设备管理器的通用串行总线控制器栏会弹出U盘接口相关的信息,这次却没出现。很显然,问题就出在驱动程序有问题了,要么是该程序不小心被删了,要么就是该程序被系统无意改了,所以就不能正常驱动U盘,就导致插入U盘都没什么动静。

解决方案很简单就是更新该驱动程序:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_解决方案_02

点击更新驱动程序(P)...后,弹出"硬件更新导向"的对话框。然后选择"从列表或指定位置安装(高级)S"选项,接着点击下一步,出现如下对话框:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_笔记本_03

选择"不要搜索。我要自己选择安装的驱动程序(D)。"紧接着点击下一步,弹出:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_linux_04

选择我框的那个选项,再点击下一步:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_linux_05

这样就完成了驱动程序的更新,最后点击"完成"退出。在设备管理器你将看到:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_windows_06

接着在插入U盘后,windows系统就会识别:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_笔记本_07

至此我刚刚遇到的那个问题就顺利的解决了。

这里我需要说明一点:虽然我用的系统是XP的,但在win7下一样实用,之前我一同学的WIN7也出现过这样的问题,我用这样的方法(操作稍微有区别)也帮其解决了问题。

在这里我还简单的分享另外一个解决方案,也是非常有效的,我成功的尝试过的,推荐给你们:

拔出所有的USB设备--->关机--->拔掉电源[笔记本需要拔出电池]---->按开机键5-6次--->开机重新插入USB设备;

其实还有一些其他方法,这里也就不一一详叙了,有我上叙提供的两种方法就够用了^-^!

这里我再来谈谈如何在linux操作系统下挂载和卸载U盘:

在linux操作系统下挂载和卸载U盘的命令是mount和umount两个命令。

一)、挂载U盘

1、先在鼠标在linux操作系统的环境下插入U盘,这样做的目的是让VM中的linux操作系统能识别U盘,然后用fdisk -l命令(注意一定要在超级用户状态下)查看U盘在linux操作系统中相对应的文件系统格式及其对应的设备符号:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_控制器_08

等下进行挂载需要用到其盘符及其文件系统格式;

2、创建挂载位置,这里我选择挂载在/mnt文件夹目录下,我们知道这个文件夹主要是存放光盘、软盘等移动设备的,如我们的设置共享目录可是在这个目录下哦!先运行命令sudo mkdir /mnt/usb,即在该目录下新建一个usb设备目录,用于挂载U盘的挂载点。

3、运行命令sudo mount -t vfat /dev/sdb1 /mnt/usb,这样U盘就挂载成功:

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_笔记本_09

成功的在linux下挂载了U盘,我们也有必要掌握如何安全的卸载U盘吧!

呵呵其实卸载U盘更简单,就是运行一个命令sudo umount /mnt/usb就ok

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_linux_10

一定要注意:在/mnt/usb路径下直接运行这个命令是卸载不了的,要到目录下或其他目录下才可以;当执行完这个命令后,你的U盘上的指示灯可能仍然亮着,这不代表卸载失败,因为Linux对U盘的管理是内核模块式,只要usb设备的内核模块没有移除,卸载完后指示灯仍然是亮着的。

在我们进行挂载U盘的时候也经常会遇到无法挂载,接着我将对其进行下总结。

问题现象一:接通虚拟机电源后就会出现下面提示“Host USB device connections disabled.


The connection to the VMware USB Arbitration Service was unsuccessful.Please check the status of this service in the Microsoft Management Console.”在虚拟机Linux系统下插入U盘也不能被识别。


问题原因:VMware USB Arbitration Service 服务没有启动。


解决方法为:直接在命令行中输入:sudo net start VMUSBArbService;

亦可右键我的电脑,点击管理-服务和应用程序-服务,找到VMware USB Arbitration Service,右键点击,启动即可;

windows操作系统对U盘不识别的解决方案及在linux操作系统下挂载U盘_笔记本_11

这里我的VMware USB Arbitration Serviceyin已经启动;


问题现象二:在Linux下查找不到U盘信息,即系统识别不出来U盘。

问题原因:ehci可能和usb2.0支持有关。


解决方法:


1卸载ehci_hcd 模块,命令 sudo rmmod ehci_hcd

2、加载uhci_hcd 模块,命令 sudomodprobe uhci_hcd


然后,插上U盘试试,若U盘不自动出来,用命令fdisk -l 看看是否出现U盘相关的设备还不行的话,把ohci_hcd模块也卸载掉,再次加载hci_hcd模块再试试,一般这种方法都奏效。

ehci可能和usb2.0支持有关,不知道具体作用。但在网上搜到的下面这段话可作为参考:
要理解EHCI及其同类是什么,首先要知道每块支持插入 USB 设备的主板或 PCI 卡都需要有 USB 主控制器芯片组。这个特别的芯片组与插入系统的 USB 设备进行相互操作,并负责处理允许 USB 设备与系统其它部分通信所必需的所有低层次细节。
Linux USB驱动程序有三种不同的 USB 主控制器选项是因为在主板和 PCI 卡上有三种不同类型的 USB 芯 片。EHCI驱动程序设计成为实现新的高速USB 2.0 协议的芯片提供支持。OHCI驱动程序用来为非 PC 系统上的(以及带有 SiS ALi 芯片组的 PC 主板上的 USB 芯片提供支持。UHCI驱动程序用来为大多数其它 PC 主板(包括 Intel Via)上的 USB 实现提供支持。只需选择与希望启用的USB 支持的类型对应的"?HCI"驱动程序即可。如有疑惑,为保险起见,可以启用EHCIUHCI(两者中任选一种,它们之间没有明显的区别和OHCI。(根据文档,EHCI已经包含了UHCIOHCI,但根据目前的测试,单独加EHCI是不行的,通常的做法是根据主板类型加载UHCIOHCI后,再加载EHCI这样才可以支持USB2.0设备)。