无法卸载循环支持文件但没有打开的文件?

无法卸载循环支持文件但没有打开的文件?

在 Linux 上,我有一个使用选项挂载的文件-o loop。我想卸载它。但是它告诉我device is busy。但是这样做lsof | grep pathofimagefile没有得到任何结果。但我无法卸载!

答案1

我相信这就是定影器是。具体来说,fuser -km /path/to/mount/point请注意,该-k标志会终止在此文件系统上打开文件的进程。您可以忽略此标志以先查看列表。

答案2

在您的问题中,您写道grep pathofimagefile。您尝试过吗grep pathofmountpoint

还要验证您的机器上运行的进程是否未将您的挂载点(或其子目录)设置为其当前工作目录。

sudo ls -l /proc/*/cwd | grep pathofmountpoint将为您提供这些进程编号。

答案3

哇,这确实很古老,但为了让那些将来发现它的人受益,以下是我发现的——我有嵌套的坐骑。也就是说,我在 /mnt 上安装了带有回送设备的根文件系统映像。在该挂载点下,我随后在 /mnt/proc 和 /mnt/sys 下安装了 proc 和 sysfs 文件系统。后来,当我尝试卸载文件系统映像时,我忘记了 proc 和 sysfs 文件系统。

# mount -o loop rootfs_disk.img /mnt
# mount proc /mnt/proc -t proc
# mount sysfs /mnt/sys -t sysfs
# # ... ages pass
# umount rootfs_disk.img
umount: /mnt: device is busy.
# umount /mnt
umount: /mnt: device is busy.

——诺亚·斯普里尔

答案4

我遇到了同样的问题。该目录不仅使用 挂载-o loop,而且还使用 命令将其导出到 NFS exportfsfuserlsof都表示该设备未在使用中。此外, 也exportfs -u没有任何抱怨。但是,NFS 仍在 /proc/fs/nfs/exports 中显示该设备。我重新启动了 nfs 并得到以下信息:

关闭 NFS mountd: [ 确定 ]
关闭 NFS 守护进程:[确定]
关闭 NFS 服务:[失败]
启动 NFS 服务:[确定]
启动 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
正在启动 NFS mountd: [ 确定 ]

然后,我可以卸载设备。不幸的是,这很难重现。也许有人可以提供更多见解。

相关内容