LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3280|回复: 8

usb移动磁盘;U盘;数码相机;mp3;录音笔等USB存储设备在Linux中的加载过程

[复制链接]
发表于 2005-5-12 15:40:48 | 显示全部楼层 |阅读模式

====================================================================


关于usb存储详细说明


作者:北南南北
====================================================================

提要:看到有些新手弟兄还在为USB存储设备的问题,大声急呼,对此有点看不下去了。虽然LinuxSir.Org 上有太多的教程,因为没有系统的说明,所以导致初学Linux的弟兄走入学习的误区。 不得已而为之,写。。。。。。

对于usb移动磁盘;U盘;数据相机;mp3;录音笔之类的,其实都是差不多。 主要是得让内核支持,其它的无非是mount加载。


一、当您没有挂USB盘的时候,通过fdisk -l 可能看到如下的磁盘信息

[root@S02 beinan]#fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1459    11719386   83  Linux
/dev/hda2            1460        9729    66428775    5  Extended
/dev/hda5            1460        9665    65914663+  83  Linux
/dev/hda6            9666        9729      514048+  82  Linux swap

如果挂了U盘,显示的还是上面的东西,也没有多出来一个类似/dev/sdxxx的磁盘,要试着用下面的命令
[root@S02 beinan]#modprobe usb-storage  这个是加载usb移动存储的模块的

然后再用 fdisk -l 来查看磁盘
[root@S02 beinan]#fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1459    11719386   83  Linux
/dev/hda2            1460        9729    66428775    5  Extended
/dev/hda5            1460        9665    65914663+  83  Linux
/dev/hda6            9666        9729      514048+  82  Linux swap

Disk /dev/sda: 10.0 GB, 10056130560 bytes
255 heads, 63 sectors/track, 1222 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         541     4345551    7  HPFS/NTFS
/dev/sda2             542        1222     5470132+   5  Extended
/dev/sda5             542        1222     5470101   83  Linux
[root@S02 beinan]#


是不是多了 /dev/sda这个磁盘了???而且还有好多分区。看来是10G的。


注意:如果您通过上面的办法还是不能找到您的USB存储设备,可能您得编内核了。主要看usb的那些设备,要把scsi的支持也要编进去。有两种办法,一种直接编入内核,另一种是以模块。通过modprobe加模块,就是把设备的支持编 译成模块了。如果直接编入内核无需要用modprobe ,直接用fdisk -l 能找到设备了。

其它的事就是mount了吧。。。您想mount的分区的  文件系统格式,也必须让内核支持才行。。


通过上面可知/dev/sda1是ntfs格式的,应该这样,先准备一个空的目录。。比如 /mnt/sda1

[root@S02 beinan]#mkdir /mnt/sda1

[root@S02 beinan]#mount -t ntfs  /dev/sda1 /mnt/sda1  

[root@S02 beinan]#df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda5              11G  5.8G  5.2G  53% /
/dev/sda1             4.2G  156M  4.0G   4% /mnt/sda1

如果说ntfs不被内核支持的提示,试着加载一下ntfs模块。
[root@S02 beinan]#modprobe ntfs
[root@S02 beinan]#lsmod |grep ntfs
ntfs                  228480  1
如果出现这样的信息,就能成功。否则编内核,编成模块或者置入内核。




==================================================================================
数码相机存储卡
==================================================================================


数码相机存储卡在linux显示的信息及磁盘显示;

还是上面说的:我只是让新手弟兄看看数码相显示是什么样的。。。
[root@S02 mnt]#dmesg |more

会看到如下的一段



  1. usb-storage: device scan complete
  2. usbcore: deregistering driver usb-storage
  3. Initializing USB Mass Storage driver...
  4. scsi3 : SCSI emulation for USB Mass Storage devices
  5. usbcore: registered new driver usb-storage
  6. USB Mass Storage support registered.
  7. usb-storage: device found at 3
  8. usb-storage: waiting for device to settle before scanning
  9.   Vendor: Sony      Model: Sony DSC          Rev: 5.00
  10.   Type:   Direct-Access                      ANSI SCSI revision: 00
  11. SCSI device sda: 253696 512-byte hdwr sectors (130 MB)
  12. sda: Write Protect is off
  13. sda: Mode Sense: 00 00 00 00
  14. sda: assuming drive cache: write through
  15. SCSI device sda: 253696 512-byte hdwr sectors (130 MB)
  16. sda: Write Protect is off
  17. sda: Mode Sense: 00 00 00 00
  18. sda: assuming drive cache: write through
  19. /dev/scsi/host3/bus0/target0/lun0: p1
  20. Attached scsi removable disk sda at scsi3, channel 0, id 0, lun 0
  21. Attached scsi generic sg0 at scsi3, channel 0, id 0, lun 0,  type 0
  22. usb-storage: device scan complete
复制代码


通过fdisk -l ,我们会发现的磁盘的位置:下面的/dev/sda1就是:

  1. [root@S02 beinan]#fdisk -l

  2. Disk /dev/hda: 60.0 GB, 60011642880 bytes
  3. 255 heads, 63 sectors/track, 7296 cylinders
  4. Units = cylinders of 16065 * 512 = 8225280 bytes

  5. Disk /dev/hda doesn't contain a valid partition table

  6. Disk /dev/sda: 129 MB, 129892352 bytes
  7. 16 heads, 16 sectors/track, 991 cylinders
  8. Units = cylinders of 256 * 512 = 131072 bytes

  9.    Device Boot      Start         End      Blocks   Id  System
  10. /dev/sda1   *           1         990      126703+   6  FAT16
  11. [root@S02 beinan]#

复制代码




上面详细的标注了数码相机的信息,及存储卡容量大小,加载方法和上面的一样。不必多说了。。



====================================================================
mp3和录音笔
====================================================================

录音笔的相关的信息

  1. usb-storage: device found at 2
  2. usb-storage: waiting for device to settle before scanning
  3.   Vendor: FUJITSU   Model: MHM2100AT         Rev: 0811
  4.   Type:   Direct-Access                      ANSI SCSI revision: 00
  5. SCSI device sda: 19640880 512-byte hdwr sectors (10056 MB)
  6. sda: assuming drive cache: write through
  7. SCSI device sda: 19640880 512-byte hdwr sectors (10056 MB)
  8. sda: assuming drive cache: write through
  9. /dev/scsi/host1/bus0/target0/lun0: p1 p2 < p5 >
  10. Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
  11. Attached scsi generic sg0 at scsi1, channel 0, id 0, lun 0,  type 0
  12. usb-storage: device scan complete
复制代码


磁盘位置:

  1. [root@S02 mnt]#fdisk -l

  2. Disk /dev/hda: 60.0 GB, 60011642880 bytes
  3. 255 heads, 63 sectors/track, 7296 cylinders
  4. Units = cylinders of 16065 * 512 = 8225280 bytes

  5. Disk /dev/hda doesn't contain a valid partition table

  6. Disk /dev/sda: 131 MB, 131048448 bytes
  7. 16 heads, 32 sectors/track, 499 cylinders
  8. Units = cylinders of 512 * 512 = 262144 bytes

  9.    Device Boot      Start         End      Blocks   Id  System
  10. /dev/sda1   *           1         500      127976+   4  FAT16 <32M


复制代码
发表于 2005-5-12 16:47:12 | 显示全部楼层
补充几句:

从2.6.9版内核开始,引进了新的ub模块来代替usb-storage,ub不再模拟scsi设备(不再需要scsi模块),而是生成/dev/ub*设备。但是ub模块还处于试验阶段,不太稳定,有人反映用了它之后读写速度都慢了很多。

假如 lsmod 发现加载了 ub 模块,则加载usb存储设备的名称将由 /dev/sd* 变成 /dev/ub* ,楼上给出的加载命令中要对应进行修改。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 00:53:36 | 显示全部楼层
rose兄好,看来我对新的东西接受的太慢了。。

我用的是2.6.11.7,我还是用原来的办法,因为不知道有 ub设备已经开炉另起灶,所以还是写了用老的办法来写。但能行的通。。我试过了,目前还是好用。

我会测试一下新的内容的。。。/dev/ub*
回复 支持 反对

使用道具 举报

发表于 2005-5-13 09:16:05 | 显示全部楼层
用ub代替usb_storage,需要在编译内核的时候指定
CONFIG_BLK_DEV_UB=m
或 CONFIG_BLK_DEV_UB=y
指定了这个选项之后,内核就会屏蔽掉usb_storage 了。
看来你是没有设置这个选项
回复 支持 反对

使用道具 举报

发表于 2005-5-13 13:35:44 | 显示全部楼层
但是为什么自动挂载上来的移动硬盘权限都是root root,其他用户都无法访问
回复 支持 反对

使用道具 举报

发表于 2005-5-14 04:56:05 | 显示全部楼层
我的系统内核用的是2.6.10. 被USB设备读写速度慢和不稳定的问题困扰。
我试着往爱国者USB2.0的移动硬盘上拷贝一个600多兆的ISO,时间竟然在15分钟左右,在开始的10几秒内拷贝速度正常(能拷贝130兆左右),感觉10秒多以后速度就慢了下来,也是挂载的/dev/uba*.这在以前使用模拟scsi设备的情况下绝不可能出现。
很是苦恼,因为经常要利用USB移动硬盘进行资料的转移。请各位兄弟帮忙指点啊。

拷贝了将近1个通宵了,还没有把20G的硬盘塞满,郁闷啊……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-14 09:21:20 | 显示全部楼层
Post by longwu9t
我的系统内核用的是2.6.10. 被USB设备读写速度慢和不稳定的问题困扰。
我试着往爱国者USB2.0的移动硬盘上拷贝一个600多兆的ISO,时间竟然在15分钟左右,在开始的10几秒内拷贝速度正常(能拷贝130兆左右),感觉10秒多以后速度就慢了下来,也是挂载的/dev/uba*.这在以前使用模拟scsi设备的情况下绝不可能出现。
很是苦恼,因为经常要利用USB移动硬盘进行资料的转移。请各位兄弟帮忙指点啊。

拷贝了将近1个通宵了,还没有把20G的硬盘塞满,郁闷啊……

我建议还是用scsi模拟,昨天我也测试过了,如果启动ub模块或者编入内核,问题有点多,一是设备不稳定。比如 /dev/uba1类似的,有时能出现,有时不能,偶然性太大。二就是rose兄和longwu9t兄所说的情况,传输速度有点弱。有时拷一个文件,花了N长的时间 。


所以本文档,目前不能更新,否则会给新手带来麻烦。。。

北南 呈上
回复 支持 反对

使用道具 举报

发表于 2007-4-5 09:45:34 | 显示全部楼层
终于找到了一篇比较系统的文章
回复 支持 反对

使用道具 举报

发表于 2007-4-8 12:42:49 | 显示全部楼层

rhlinux挂载usb设备出现问题,求助!

我的内核 kernel 2.4.22
装的 redhat linux9.0
我做的系统是完全安装大约5G多
我的机器是dell 640m
系统鼠标和外挂键盘都是usb接口
要挂载u盘当然也是usb接口

问题:
当我启动linux时,有时会出现kudzu那个设置
因为不了解我就忽略了
让系统自己选择默认
然后进到系统
鼠标不能用,包括触摸板也没反映
但是外挂键盘和u盘都能用

当我在启动linux前拔下外挂键盘
系统进入后所有功能都正常
鼠标能用
自带键盘也能用

想问一下怎么设置才能每次启动前不用拔下外挂键盘
鼠标 仿dell的
外挂键盘 仿ibm的

谢谢先
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表