强制卸载设备,怎么做?

强制卸载设备,怎么做?

我已经安装了一个块设备(内置硬盘)~/HD,并且我正在尝试,

~# umount ~/HD

它回答说,

umount: device is busy.

现在我通过检查手动终止所有进程

~# fuser -m ~/HD

我还确保确实没有进程正在访问该~/HD路径

~# lsof | grep HD

即使有选择,仍umount ~/HD说。device is busy-f

PS:我不想使用选项-lumount因为已安装的设备实际上是一个加密的映射器设备,除非明确卸载映射器设备,否则它不会被卸载。

所以基本上我的问题是如何真的强制umount卸载设备或设备如何仍被标记为忙碌的虽然没有进程正在访问它(或者至少fuserlsof报告它)并且我该怎么办?

我在 Ubuntu 9.10 x64 上。

答案1

如果您在 ~/hd 的子目录中安装了其他东西,则会看到此行为。在这种情况下,fuser 和 lsof 都不会显示任何内容。如果您没有在 ~/hd 下安装任何东西(“mount”将回答这个问题),那么我不确定要检查什么。

答案2

确保您当前的工作目录(运行“pwd”)不在 ~/hd 下。如果您当前在该目录中,umount 将拒绝卸载。

答案3

命令lsof将告诉您哪些进程保持文件打开。

答案4

Larsks 写道:“如果您在 ~/hd 的子目录中安装了其他东西,您将看到此行为。在这种情况下,fuser 和 lsof 都不会显示任何内容。”

将 lsof 与 grep 一起使用将显示子目录的使用情况 - 例如“lsof |grep HD”。

我遇到了与原始海报相同的问题,并使用上述命令找到了原因。

相关内容