linux usb 设备重新挂载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux usb 设备重新挂载相关的知识,希望对你有一定的参考价值。
我有一个linux下运行的nas设备,用的usb无线网卡连路由,但是这个usb无线网卡总是过一会就死了,没有响应,重启机器就好了,或者从新拔插一下就好了,问一下怎么能用linux命令实现类似拔插的效果
用umount可能没用,我还用eject,但是只是把usb网卡卸载了,怎么能在装载呢
* */1 * * * /etc/init.d/network restart;
每隔一小时重启一下网络服务。
或插拔USB.
* */1 * * * "umount /dev/hdd1;mount /dev/hdd1 /mnt/usb"
通常,在Linux系统中,如果要使用硬盘、光盘、软盘或U盘等存储设备, 一般先要挂载(但有些高版本的Linux可以做到自动识别和加载设备). 当存储设备挂载完成后就可以像目录一样进行访问了.
在挂载之前需要确定下列三种信息:
*) 要挂载对象的文件系统类型;
*) 要挂载对象的设备名称;
*) 确定挂载点.
1) 获得挂载对象的文件系统类型:
cat /proc/filesystems 可以查看当前Linux系统支持的文件类型:
vfat : Windows常用的FAT32文件系统,兼容FAT16系统.
hpfs : OS2文件系统.
ext3 : Linux文件系统
iso9660 : 光盘文件系统
2) 确定设备名称:
在Linux下设备名称通常都在/dev目录下,这些设备的命名都是有规则的,比如: /dev/hda1
"hd"即: hard disk,代表IDE硬盘; \'hd\'同样也可以用\'sd\'代替,即SCSI,代表SCSI硬盘; a代表第一个设备,如果pc机上可以连接4块IDE硬盘, 则设备名称依次为hda,hdb,hdc,hdd. 如果是SCSI硬盘, 则设备名称为sda.sdb,sdc,sdd.
数字1表示a硬盘的第一个分区,hda2,代表硬盘的第二个分区.
查看/var/log/messages文件,可找出Linux辨认出来的设备代号.
3) 确定挂载点:
Linux系统中有一个/mnt目录,专门用作挂载点目录:
挂载光盘的例子:
$mount -t iso9660 /dev/cdrom /mnt/cdrom
$umount /mnt/cdrom
挂载软盘的例子:
$mount /dev/fd0 /mnt/floppy
$umount /mnt/floppy
挂载u盘的例子:
$fdisk -l查看外挂闪存的设备号,一般为/dev/sda1
$mount /dev/sda1 /mnt/usb
$umount /mnt/usb
挂载外挂硬盘分区:
$fdisk -l 查看外挂的硬盘分区设备号,假设为: /dev/hda1
$mount -t vfat /dev/hda1 /mnt/vfat
$umount /mnt/vfat
所以,根据上面流程思想,我们现在来看看如何把自己的USB(U盘设备挂载到系统中来),从而可以自由访问U盘里边的文件。看了以下的操作,你会发现操作命令并不是那么的复杂的。此次测试是在VMWARE+RedHat9.0 上测试的。
首先要查看USB设备的名称。 我们在Terminal终端用这个命令: dmesg|more 查看系统相关信息。dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里边。
得到USB设备的设备名称为 sdb
然后在/mnt/下建立一个usb的文件夹:
Mkdir /mnt/usb
最后要用mount命令来挂载sdb(也就是U盘)里边的东西了。
mount /dev/sdb /mnt/usb
其实mount 中并不无其他参数。 因为mount里可以自动识别其中的文件系统。
这样在/mnt/usb下即可以看到里边的文件了。
当卸载USB时,需用umount命令来卸载 参考技术A 用crontab
* */1 * * * /etc/init.d/network restart;
每隔一小时重启一下网络服务。
或插拔USB.
* */1 * * * "umount /dev/hdd1;mount /dev/hdd1 /mnt/usb" 参考技术B mount 命令挂载,
树莓派-USB存储设备自动挂载
简单介绍实现命令行下USB存储设备自动挂载的方法,Linux gnome/kde窗口环境下有移动存储的管理程序,可以实现自动挂载移动存储设备,但是在命令行下 通常需要用mount命令手动挂载USB存储设备。
通过给linux下的设备管理服务udev添加规则配置文件,可以实现命令行下USB存储设备自动挂载。
输入命令:
sudo vim /etc/udev/rules.d/10-usbstorage.rules
写入如下脚本到编辑窗口
KERNEL!="sd*", GOTO="mnt_by_label_auto_mount_end" SUBSYSTEM!="block",GOTO="mnt_by_label_auto_mount_end" IMPORT{program}="/sbin/blkid -o udev -p %N" ENV{ID_FS_TYPE}=="", GOTO="mnt_by_label_auto_mount_end" ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k" ACTION=="add", ENV{mount_options}="relatime,sync" ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", RUN+="/bin/mkdir -p /mnt/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /mnt/%E{dir_name}" ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/%E{dir_name}", RUN+="/bin/rmdir /mnt/%E{dir_name}" LABEL="mnt_by_label_auto_mount_end"
保存退出,再次插入usb存储设备会自动挂载到/mnt目录下面的目录 并且支持utf8格式的中文文件名。
以上是关于linux usb 设备重新挂载的主要内容,如果未能解决你的问题,请参考以下文章