系统为什么不识别外部USB驱动?
解决方法:

要访问一个外部USB驱动,需加载USB模块。步骤如下,找出需要加载的模块来识别驱动器。

首先,确保系统识别了设备,执行如下命令:

dmesg

输出如下:

hub.c: new USB device 00:1d.7-1, assigned address 3 
scsi1 : SCSI emulation for USB Mass Storage devices 
Vendor: WDC WD25 Model: 00JB-00EVA0 Rev: 0 0 
Type: Direct-Access ANSI SCSI revision: 02 
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 
SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB) 
sdb: sdb1 sdb2 sdb3 sdb4 
WARNING: USB Mass Storage data integrity not assured

这表明系统识别了/dev/sdb外 部磁盘,它有四个分区:/dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb4.之后就可以进行分区的安装了。

如果安装分区时出现问题,而 且显示如下错误信息: device cannot be found or invalid device。可能是由于没有加 载正确的主机控制器驱动程序.

运行如下命令找出哪些模块需要加载:

# lspci -v | grep HCI 
00:02.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07) 
(prog-if 10 [OHCI]) 
00:02.3 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07) 
(prog-if 10 [OHCI]) 
00:0b.0 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI]) 
00:0b.1 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI]) 
00:0b.2 USB Controller: NEC Corporation USB 2.0 (rev 01) 
(prog-if 20 [EHCI]) 
00:0f.0 USB Controller: VIA Technologies, Inc. USB (rev 50) 
(prog-if 00 [UHCI]) 
00:0f.1 USB Controller: VIA Technologies, Inc. USB (rev 50) 
(prog-if 00 [UHCI]) 
00:0f.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51) 
(prog-if 20 [EHCI]) 
00:11.0 USB Controller: OPTi Inc. 82C861 (rev 10) (prog-if 10 [OHCI]) 

主机控制器接口(HCI)有 三类,分别是:

HCI  种类       内核模块
uhci usb-uhci, uhci
ohci usb-ohci
ehci ehci-hcd

由上述的输出可以知道这台电脑支持所有三种HCI。

需要加载对应的驱动程序来识别联接到HCI的USB接口。

例如,用如下命令加载usb-uhci和usb-ohci模块:

modprobe usb-uhci 
modprobe usb-ohci

加载正确的模块后,重新将USB驱动器联接到系统,重 新执行本文开头提及的几个步骤.

如需Linux下USB设备的更多信息,可 参考http://www.linux-usb.org/ 中Linux USB。