Linux怎么配置USB自动挂载_Linux如何设置U盘自动识别挂载【方法】

陌枫酱_2535

陌枫酱_2535

2026-03-22

704人浏览

原创

最靠谱的u盘识别方法是插上后先用lsblk或dmesg | tail -20确认新增的/dev/sdx1分区,再用blkid查文件系统类型(vfat/exfat/ntfs/ext4),exfat需装exfat-fuse,ntfs建议用ntfs-3g,手动挂载验证成功后再配置fstab或udev规则。

linux怎么配置usb自动挂载_linux如何设置u盘自动识别挂载【方法】

识别U盘设备名和文件系统类型

插上U盘后,lsblk 或 dmesg | tail -20 是最靠谱的起点。别信 fdisk -l 里“看起来像U盘”的那个设备——它可能是你刚插错口的移动硬盘,也可能是内核还没完全初始化完的残留节点。

  • lsblk 看新增的 /dev/sdX1(注意是带数字的分区,不是 /dev/sdX)
  • blkid /dev/sdX1 查文件系统类型:vfat(FAT32)、exfat、ntfs 还是 ext4
  • exFAT 必须装 exfat-fuse(Debian/Ubuntu:`sudo apt install exfat-fuse`;RHEL/CentOS:`sudo dnf install exfat-utils fuse-exfat`)
  • NTFS 建议用 ntfs-3g 驱动,否则只读或挂载失败

手动挂载验证是否可行

自动挂载再方便,也得先确保手动能挂成功。这是所有后续配置的前提,跳过这步,fstab 或 udev 规则全白配。

  • 创建挂载点:sudo mkdir -p /mnt/usb(路径可自定,但别用 /media/xxx,那是桌面环境专用)
  • FAT32:sudo mount /dev/sdb1 /mnt/usb(内核自动识别 vfat)
  • exFAT:sudo mount -t exfat-fuse /dev/sdb1 /mnt/usb
  • 挂完立刻 ls /mnt/usb,能看到文件才算真正通了
  • 卸载测试:sudo umount /mnt/usb,不报错且 lsblk 不再显示挂载点

用 fstab 实现开机自动挂载(仅限固定用途U盘)

fstab 不适合日常插拔的U盘——设备名(如 /dev/sdb1)会变,一变就导致开机卡住甚至进不了系统。必须用 UUID,而且得加 noauto 和 user 标志。

  • 查 UUID:sudo blkid -s UUID -o value /dev/sdb1,结果类似 ABCD-1234
  • 编辑 /etc/fstab,追加一行:UUID=ABCD-1234 /mnt/usb auto defaults,noauto,user,uid=1000,gid=1000,umask=000 0 0
  • noauto 表示不随系统启动挂载,避免找不到设备时阻塞;user 允许普通用户执行 mount /mnt/usb
  • 测试语法:sudo mount -a,无输出即成功;有错立刻修正,别重启

用 udev 规则实现真·插上就挂(推荐给终端党)

桌面环境(GNOME/KDE)通常自带 GVFS 自动挂载,gio mount -l 就能看到;但纯终端或服务器场景,udev 是最轻量、最可控的选择。

  • 新建规则:sudo nano /etc/udev/rules.d/70-usb-auto-mount.rules
  • 写入(适配 FAT/exFAT/NTFS):ACTION=="add", SUBSYSTEM=="block", ENV{ID_USB_INTERFACES}=="*:080650:*", RUN+="/bin/sh -c 'mkdir -p /mnt/usb && mount -t auto /dev/%k /mnt/usb 2>/dev/null || true'"
  • 注意:%k 是内核设备名(如 sdb1),ENV{ID_USB_INTERFACES} 过滤 USB 存储类设备,避免误触其他 block 设备
  • 重载规则:sudo udevadm control --reload-rules && sudo udevadm trigger
  • 插拔一次验证:ls /mnt/usb 应立刻有内容;拔掉后 lsblk 显示已卸载(udev 规则本身不处理卸载,需配合脚本或依赖用户手动 umount)

udev 规则看着简单,但容易漏掉权限或路径不存在的问题;fstab 稳定但僵硬;而图形界面下的 gio 最省心却不可控。选哪个,取决于你是不是每次都要在没桌面的服务器上插U盘传日志——这种时候,udev + mount -t auto 就是唯一解。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

529

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1678

6

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3850

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3313

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2433

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5870

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5502

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3253

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2745

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习