linux系统下不能识别U盘
问题描述
U盘挂载目录为/MNT,在执行如下mount命令的时候系统提示报错,显示找到不该设备
# mount -t vfat /dev/sda1 /mnt
mount: mounting /dev/sda1 on /mnt/ failed: No such device
可是在查看ls /dev/sda1是,显示设备是存在的,之后重启过服务器,也更换过U盘,情况仍然一样。
# ls /dev/sda1 -l
brw-r--r-- 1 root root 8, 1 Sep 8 15:44 /dev/sda1
解决方案
Linux系统对于USB的设备的支持关键在于驱动,没有驱动设备时mount执行是肯定不成的。
解决步骤:
1./sbin/lsmod看是否有usb-storage。如果没有的话:cd /lib/modules/2.4.20-8/kernel/drivers/usb
for v in *.o storage/*.o do /sbin/insmod $v done
2.再执行/sbin/lsmod,这时该有usbcore、usb-ohci(或usb-uhci,根据主板芯片组而不同)、usb-storage、scsi_mod等内容显示。其中usb-storage的状态应该为 (unused)
3.重新拔插U盘,多次执行/sbin/lsmod命令,期间可以观察到usb-storage的状态应为Initializing,持续时间大约半分钟,这就是系统在识别新设备。在系统识别到之后再执行mount命令就能正常mount了。Linux不像Windows一样,接上新硬件后可以自动识别,在Linux下无法自动识别新硬件的,需要手动去识别。
fdisk -l
mount -t msdos /dev/?? /mnt