强制卸载设备,如何?

Vik*_*ary 8 linux ubuntu

我已经安装了一个块设备(内部硬盘)来说明~/HD,我正在尝试,

~# umount ~/HD
Run Code Online (Sandbox Code Playgroud)

它回答,

umount: device is busy.
Run Code Online (Sandbox Code Playgroud)

现在我通过检查手动杀死所有进程

~# fuser -m ~/HD
Run Code Online (Sandbox Code Playgroud)

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

~# lsof | grep HD
Run Code Online (Sandbox Code Playgroud)

仍然umount ~/HDdevice is busy即使有-f选择。

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

所以基本上我的问题是如何真正强制umount卸载设备或如何能设备仍然被标记为而没有进程访问它(或者至少fuserlsof不报的话),我能做些什么呢?

我在 Ubuntu 9.10 x64 上。

Iva*_*azy 5

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


lar*_*sks 3

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