umount 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,聚焦
umount——文件系统与 LVM 命令族(见文件系统与 LVM 命令族)。它是 mount 的反向:用完一块盘/一个共享,安全地摘下来。
umount 把之前挂载的文件系统从目录树脱离。卸载前系统会确保没有进程正在使用它、没有未落盘的数据。
一、基本用法
bash
umount /data # 按挂载点卸载
umount /dev/sdb1 # 也可以按设备名卸载
umount -l /data # -l lazy:立即返回,内核在不再被用时真正卸载
umount -f /data # -f 强制卸载(NFS 等卡死时用,有风险)按挂载点或设备名都能卸。普通卸载最稳;卡住时
-l(lazy,惰性卸载)先让挂载点"看起来已卸",后台等引用释放再真正完成,不影响当前 shell,是排障首选。
二、最常见的坑:device is busy
bash
umount /data
# umount: /data: device is busy.
# 原因:有进程正 cd 在 /data 里,或某文件被打开
lsof +D /data # 看谁在占用(见 lsof /linux/cmd/lsof.md)
fuser -m /data # 看占用该挂载的进程 PID(见 fuser /linux/cmd/fuser.md)"device is busy"几乎都是还有进程占着:可能是某个 shell 的当前目录在挂载点内,或某程序打开了里面的文件。先
lsof +D/fuser -m找出进程,退出或杀掉再卸。别一上来就-f强制。
三、umount vs 直接拔盘
| 做法 | 后果 |
|---|---|
正常 umount | 内核刷盘、释放资源,安全 |
强制 -f/直接拔 | 可能丢未落盘数据、文件系统标记 dirty |
卸载的意义在于让内核把缓存数据写回、释放锁。跳过这步(强制卸或热拔)可能丢数据或下次挂载需 fsck 修复。重要数据务必先正常 umount。
四、踩坑:当前 shell 在挂载点目录内
bash
cd /data
umount /data # busy!因为自己就站在里面
cd / # 退出来再卸即可
umount /data这是最隐蔽的 busy 原因之一:你自己的终端 cd 进了挂载点,自己就成了占用者。退到别的目录(如
/)再卸就好。脚本里卸载前先cd /是好习惯。
五、实战:卸载卡死的 NFS
bash
umount -l /mnt/nfs # NFS 无响应时,lazy 卸载让终端先解脱,后台重试一句话总结
umount = 安全卸载文件系统:按挂载点或设备名卸;遇 "device is busy" 先用 lsof/fuser 找占用进程(常是自己 cd 在里头)。卡死用 -l 惰性卸载,慎用 -f 强制(可能丢数据)。它是 mount 的反向。