在 Linux 下 mount 命令卡住(hang 住)通常是底层 I/O 或网络阻塞导致的。可以按下面步骤排查和处理。
可能原因:
常见原因:
ps aux | grep mount
或
top
如果 mount 状态是 D(不可中断睡眠),说明在等内核 I/O。
dmesg -T | tail -50
或
journalctl -k -n 100
常见关键字:
I/O errortask mount:xxx blockednfs: server not respondingumount -f /mnt/xxx
不行再试:
umount -l /mnt/xxx # 懒卸载(lazy)
⚠️ 如果 umount 也卡住,说明内核还在等设备。
mount -o soft,timeo=10,retrans=3,nofail 192.168.1.10:/data /mnt/nfs
说明:
soft:失败不无限重试timeo=10:超时 1 秒retrans=3:重试 3 次nofail:启动不卡死mount -o username=x,password=y,soft,timeo=10,retry=2 //host/share /mnt/cifs
lsblk
fdisk -l /dev/sdX
smartctl -a /dev/sdX
mount -o ro /dev/sdX /mnt/test
fsck -y /dev/sdX
D 状态进程不能 kill,只能:
sync
避免数据丢失。
| 现象 | 处理 |
|---|---|
| mount 卡住 | 新终端看 dmesg |
| NFS 卡 | umount -l |
| 本地盘卡 | fsck / 只读挂 |
| 进程 D 状态 | 只能等或重启 |
| 防止再卡 | 加 soft,timeo |
如果你愿意,可以告诉我:
mount 命令原文dmesg 报错内容我可以帮你精确分析。