树莓派USB存储设备自动挂载

简单介绍实现命令行下USB存储设备自动挂载的方法,Linux gnome/kde窗口环境下有移动存储的管理程序,可以实现自动挂载移动存储设备,但是在命令行下 通常需要用mount命令手动挂载USB存储设备。

通过给linux下的设备管理服务udev添加规则配置文件,可以实现命令行下USB存储设备自动挂载。

输入命令:

sudo nano /etc/udev/rules.d/10-usbstorage.rules

复制粘贴这个脚本到编辑窗口

KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -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,umask=000"
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000"
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"  
LABEL="media_by_label_auto_mount_end"

保存退出,再次插入usb存储设备会自动挂载到/media目录下面的目录 并且支持utf8格式的中文文件名。

这是一篇发布于 10年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


12 评论

  1. 你好,想请教下关于在树莓派命令行模式下自动挂载U盘的实现问题,我按你的方法并不能实现自动挂载,你是如何实现的呢?

  2. @all 请问各位按照上面的操作方式可以实现命令行下USB设备自动挂载吗?树莓派图形界面默认设置是自动挂载USB设备的。我当前遇到的问题是:树莓派启动如果不在图形界面以pi用户登录的话,USB设备是不会挂载的。只有以pi用户登录到了图形界面后,USB设备才会自动挂载。感觉跟设置不设置10-usbstorage.rules
    没有关系,完全是图形界面的设置在起作用。

    • 我也遇到这种情况,用的老一代的B+板子。都不敢安装图形界面,用的是lite。捣鼓了半天进了几次目录看media、emnt两个目录都没看到挂载的硬盘。

  3. 我现在是基于lite版开发独立的图形界面,有X服务的,但是这个挂载真的没挂载上来,如果只在图形桌面下自动挂载那我就不需要这脚本了,毕竟桌面本身就会自己挂载。

  4. Distributor ID: Raspbian
    Description: Raspbian GNU/Linux 10 (buster)
    Release: 10
    Codename: buster
    lite版本通过上述命令无法实现

1 Trackback / Pingback

  1. 树莓派USB存储设备自动挂载 – Log@X.X.B

发表评论

你的邮件地址不会公开


*