1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 树莓派挂载和卸载U盘或移动硬盘

树莓派挂载和卸载U盘或移动硬盘

时间:2023-12-28 10:44:39

相关推荐

树莓派挂载和卸载U盘或移动硬盘

树莓派挂载和卸载U盘或移动硬盘

通常我们在 /mnt 或 /media 目录下新建一个目录udisk作为挂载点

sudomkdir/mnt/udisk

1.手动挂载:

挂载命令:

sudomount-ouid=pi,gid=pi/dev/sda1/mnt/udisk

卸载命令:

sudoumount/mnt/udisk

注意:可以输入 fdisk -l查看你U盘的具体分区。

sda1是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。

如果你的U盘或移动硬盘使用的是exFAT格式,安装exfat-fuse软件之后mount就支持了。

sudoapt-getinstallexfat-fuse

2.开机挂载:

如果想开机自动挂载,而不是每次手工执行,可以编辑/etc/fstab文件。在末尾添加一行:

设备序号挂载点文件系统类型

/dev/sda1/mnt/udiskntfsdefaults00

每次开机就会自动挂载

注:按照具体要求来进行编辑,别忘了最后要执行mount -a 防止文件有错误导致无法开机。Ps 博主就在这死了一次,各位一定注意

3.热插挂载

需要希望想电脑一样,插上自动识别挂载在某一目录下,拔下自动umount,请按一下操作

sudovi/etc/udev/rules.d/10-usbstorage.rules

P.S:此文件默认没有,需要新建

赋值以下内容即可,会自动在/mnt/udisk目录下挂载U盘

[ruby]viewplaincopyKERNEL!="sd*",GOTO="media_by_label_auto_mount_end"SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"IMPORT{program}="/sbin/blkid-oudev-p%N"ENV{ID_FS_TYPE}=="",GOTO="media_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,umaskk=000"ACTION=="add",ENV{ID_FS_TYPE}=="ntfs",ENV{mount_options}="iocharset=utf8,umaskk=000"ACTION=="add",RUN+="/bin/mkdir-p/mnt/udisk/",RUN+="/bin/mount-o$env{mount__options}/dev/%k/mnt/udisk/"ACTION=="remove",ENV{dir_name}!="",RUN+="/bin/umount-l/mnt/udisk/}",RUN+="//bin/rmdir/mnt/udisk/"LABEL="media_by_label_auto_mount_end"

出处://07/21/pi-mount-udisk/

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

外接U盘或移动硬盘时,默认不会自动挂载,所以需要用 mount 命令挂载。通常我们在 /mnt 或 /media 目录下新建一个目录作为挂载点。比如:

sda1 是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。

挂载exFAT格式的硬盘

FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。

如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:

挂载NTFS格式的硬盘(读写方式挂载)

默认挂载NTFS格式的硬盘只有只读权限,需要借助其它工具实现。

挂载FAT32格式的硬盘

说明:

sda1是取决于你的实际情况,a表示第一个硬盘,1表示第一个分区。

umask=0000 0 0

前面四个0就是对所有人,可读可写可执行,

后面两个0,第一个代表dump,0是不备份

第二个代表fsck检查的顺序,0表示不检查

卸载:sudo umount /mnt/myusbdrive

查看挂载情况可使用以下命令。

挂载U盘的更多细节请参考RPi Adding USB Drives。

出处:树莓派实验室

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

卸载USB设备

umount是一个文件解挂文件系统了,下面我们一起来看看关于linux下umount强行卸载设备的例子了,希望下文可以给各位带来帮助。

umount命令

解挂文件系统。umount [-ahnrvV][-t <文件系统类型>][文件系统]

umount可卸除目前挂在Linux目录中的文件系统。

线上在用的nfs访问时出了问题,导致/data1目录ls都无法进行输出,需要进行卸载掉 。而直接卸载时由于目录正被其他进程占用 ,无法直接umount,这里就结合fuser进行umount卸载。

1、直接卸载

[root@localhost /]# umount /data1/img

umount: /data1/img: device is busy

umount: /data1/img: device is busy

2、提示被占用,使用强制卸载

[root@localhost /]# umount -f /data1/img

umount2: Device or resource busy

umount: /data1/img: device is busy

umount2: Device or resource busy

umount: /data1/img: device is busy

注:使用-f 参数进行强制卸载时一般建议等一会儿再进行下面的操作,一些情况下处理需要1-2分钟的时间。

3、使用umount -f,问题依旧。使用fuser命令,先确认有那些进程在占用该目录

[root@localhost /]# fuser -cu /data1/img

/data1/img: 1757c(mysql)

上面查看发现是pid为1757的mysql用户起的进程在占用该目录。

4、确认mysql所起的进程可以kill 后,可以直接使用fuser 的k参数进行kill (也可以手动停掉1757进程再卸载)

[root@localhost /]# fuser -ck /data1/img

/data1/img: 1757c

注:这里k 就是kill的意思,注意没进行确认前要谨慎使用该参数。

确认

[root@localhost /]# fuser -c /mnt

[1]+ Killed dd if=1g of=/dev/null bs=1M (wd: /mnt)

(wd now: /)

另外,umount异常时,也经常会用到 lsof 指定确认文件被什么进程占用

出处:/wendellluntan/article/details/73087874

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

最后在给一个fuser命令 用法详解 做为参考:

fuser命令_Linuxfuser命令用法详解

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。