Debian 挂载卡住(尤其是在启动时或执行 mount 命令无响应)是一个常见但棘手的问题。请按照以下步骤进行排查和解决。
首先确认是系统启动时卡住,还是进入系统后手动挂载某个分区卡住。
这通常是因为 /etc/fstab 文件中配置了自动挂载,但对应的设备无法访问(如网络盘、损坏的硬盘、错误的 UUID)。
如果系统卡在启动界面,尝试强制重启,然后在 GRUB 引导菜单界面按 e 键编辑启动项。
linux 开头的行。init=/bin/bash 或 systemd.unit=emergency.target。Ctrl + x 或 F10 启动。mount -o remount,rw /
/etc/fstab:nano /etc/fstab
# 注释掉它们。reboot)。如果能正常进入系统,说明就是那个被注释掉的设备有问题。如果不想修改 fstab,可以在 GRUB 编辑界面,找到 linux 行,删除 quiet 参数,并添加 nomodeset 或 nofail 相关的参数(虽然 nofail 通常在 fstab 里设置更有效)。
如果你在终端输入 mount /dev/sdb1 /mnt 后命令卡死,无响应。
如果是挂载网络共享,卡住通常是因为网络不通或服务端无响应。
umount -f (强制) 或 umount -l (懒卸载) 尝试解除卡死状态。-o soft,timeo=10 参数,避免永久卡死。如果是本地硬盘(尤其是 NTFS 或 ext4),卡住可能是因为文件系统有坏块或日志损坏。
dmesg -w
如果看到大量的 I/O error, Buffer I/O error 或 task blocked for more than 120 seconds 等字样,说明硬盘可能坏了。umount /dev/sdX1 # 先卸载
fsck -y /dev/sdX1
umount /dev/sdX1
ntfsfix /dev/sdX1
(注意:如果 NTFS 分区处于 Windows 的“快速启动”休眠状态,Linux 挂载会卡住或失败,此时需要在 Windows 中关闭快速启动或执行重启而非关机)。有时挂载点被某个进程占用了,导致卸载或挂载卡住。
lsof 查看谁在占用:lsof +D /mnt # 替换为你的挂载点
ps aux | grep " D "
如果有,说明内核正在等待硬件响应,这通常意味着硬盘或连接线有问题。lazy unmount (懒卸载)如果挂载命令卡死,且你想清理状态,可以尝试在另一个终端执行:
umount -l /mnt
-l (lazy) 会立即断开挂载点连接,等设备不再忙时再清理。
如果系统完全无响应,或者无法修复:
sudo smartctl -a /dev/sda # 检查硬盘健康度
sudo fsck /dev/sda1 # 修复分区
/etc/fstab 文件,修正错误配置。dmesg 看有没有 I/O 错误。/etc/fstab 写错了。smartctl 检查是不是硬盘要挂了。soft 或 nofail 参数。