在 Linux 中取消分区自动挂载,最稳妥的方法就是修改 /etc/fstab:可以直接注释整行,或添加 noauto 选项来关闭开机自动挂载。前者表示彻底禁用该挂载项,后者则保留手动挂载分区的能力;如果是桌面环境自动挂载的 U 盘、移动硬盘或 NTFS 设备,还需要额外关闭 udisks2 或 GNOME/KDE 的自动挂载设置。

直接改 /etc/fstab 是关闭 Linux 自动挂载最稳的方案
系统启动时自动挂载的分区,基本都来源于 /etc/fstab。如果不修改这个文件,其他方法大多只是临时处理,或者属于绕路方案。关键并不是简单“禁用挂载”,而是让对应配置项在开机阶段不再生效。
先打开配置文件:sudo nano /etc/fstab,找到对应分区的那一行,例如:
UUID=1234-5678-90ab-cdef /mnt/data ntfs defaults 0 0
改成下面任意一种即可:
# UUID=1234-5678-90ab-cdef /mnt/data ntfs defaults 0 0(整行注释,彻底取消自动挂载)UUID=1234-5678-90ab-cdef /mnt/data ntfs defaults,noauto 0 0(增加noauto,禁止开机自动挂载但保留手动挂载)
修改完成后保存文件,执行 sudo mount -a,如果没有报错,说明 fstab 语法正常;重启系统后,该分区通常就不会再自动挂载或自动显示了。
noauto 和注释的区别,要结合实际使用场景选择
如果你只是想关闭开机自动挂载,但偶尔还需要手动挂载这个分区,那么使用 noauto 会更合适:它仍然保留在 fstab 中,可以通过 mount /mnt/data 直接手动挂载,也支持配合 systemd.automount 实现按需自动挂载。
如果这个分区已经完全不再使用,或者你希望彻底停用对应挂载配置,那么直接注释掉这一行会更干净,也能减少后续误操作,避免被脚本或系统扫描到这条挂载规则。
需要注意的是:noauto 只影响开机时是否自动挂载,不会改变当前已经挂载的状态;如果分区现在已经挂载,仍然需要使用 umount 手动卸载。
桌面环境自动挂载 U 盘、NTFS 分区,属于另一套机制
GNOME、KDE 等桌面环境下,系统可能会绕过 fstab,通过 udisks2 或 gvfs 自动挂载可移动设备。因此在这种情况下,即使你修改了 fstab,也可能看不到效果。
常见的处理方法包括:
- 在图形界面设置中关闭「插入媒体时自动挂载」功能(GNOME 设置 → 可移动媒体;KDE 系统设置 → 可移动存储)
- 通过命令行限制 udisks2 的自动挂载行为:
sudo nano /etc/udisks2/udisks2.conf,确保[defaults] allow_user_mount=false - 针对 USB 存储设备,还可以添加 udev 规则来屏蔽识别:
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="08", ENV{UDISKS_IGNORE}="1"
这类规则通常写入 /etc/udev/rules.d/99-disable-usb-storage.rules,然后执行 sudo udevadm control --reload-rules && sudo udevadm trigger 让配置立即生效。
别忽略已挂载但不在 fstab 里的情况
有些分区并不是通过 fstab 自动挂载的,而是由 systemd 服务、启动脚本,或者桌面环境在用户登录后自动挂载。此时你用 mount 命令能看到挂载结果,但在 fstab 中却找不到对应配置。这种情况下,应该先排查挂载来源。
可以先执行 mount | grep "your-mount-point",观察挂载点信息以及大致发生时机;然后用 systemctl list-units --type=mount 检查系统中是否存在对应的 mount unit;另外也不要遗漏 ~/.profile、/etc/rc.local 和桌面环境的自启动脚本,这些位置也建议一并检查,看是否写入了相关 mount 命令。
这种自动挂载问题,单纯修改 fstab 无法彻底解决,必须找到并删除真正触发挂载的源头,否则每次登录或重启系统后,它还是会再次自动挂载。
