首先检查目标设备是否已被挂载到其他目录,避免重复挂载。使用以下命令查看当前挂载的设备:
mount | grep <设备名或挂载点>
若设备已挂载,先卸载它:
sudo umount <设备名或挂载点>
若设备未被挂载但仍提示“设备忙”,说明有进程正在访问该设备。使用以下命令定位占用进程:
fuser命令(显示进程ID及用户):sudo fuser -muv /mnt/挂载点 # 替换为实际挂载点
sudo fuser -muv /dev/sdXN # 替换为实际设备名(如/dev/sdb1)
输出结果会列出占用进程的PID、用户及访问类型(如r=读、w=写)。lsof命令(显示进程详细信息):sudo lsof /mnt/挂载点 # 替换为实际挂载点
sudo lsof /dev/sdXN # 替换为实际设备名
输出结果会显示进程的命令、PID、用户及打开的文件。根据上一步找到的PID,使用kill命令终止进程:
sudo kill -9 <PID> # 替换为实际进程ID
若进程无法正常终止(如进程处于僵死状态),可强制终止:
sudo kill -9 <PID>
注意:终止系统关键进程可能导致系统不稳定,需谨慎操作。
-l(lazy)选项延迟卸载,系统会在设备不再被使用时自动卸载:sudo umount -l /mnt/挂载点 # 替换为实际挂载点
-f(force)选项强制卸载,但可能导致数据丢失或文件系统损坏:sudo umount -f /mnt/挂载点 # 替换为实际挂载点
卸载后,确认设备是否已成功卸载:
mount | grep <设备名或挂载点> # 若无输出则表示已卸载
或使用findmnt命令:
findmnt /mnt/挂载点 # 若无输出则表示已卸载
ext4、ntfs),避免因类型不匹配导致错误:sudo mount -t ntfs /dev/sdXN /mnt/挂载点 # 替换为实际设备名和挂载点
通过以上步骤,多数“设备忙”问题均可解决。若问题反复出现,建议检查设备硬件连接或文件系统是否损坏(使用fsck命令修复)。