强制卸载设备,怎么办?


8

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

~# umount ~/HD

它回答,

umount: device is busy.

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

~# fuser -m ~/HD

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

~# lsof | grep HD

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

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

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

我在Ubuntu 9.10 x64上。


Answers:


3

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


我正在选择您的答案作为最佳答案,即使这不是我的条件,但它可能会对他人有所帮助。另外,找不到更好的答案。;)
Vikrant Chaudhary 2010年



2

定位活动进程/用户执行:

热熔器-u / path / to / mount

然后执行以下操作将其删除:

热熔器-k / path / to / mount

最终卸载了有问题的设备。


危险的。与一起使用-M
汤姆·黑尔

1

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

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

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


0

您是否尝试过使用同步

所述同步命令冲洗通过力更改的块文件系统高速缓存到磁盘上所著。


无需同步-umount将根据需要刷新缓存。
凯文·潘科

0

如果确实要卸载,则可以使用umount -f

来自人umount

-f     Force unmount (in case of an unreachable NFS system).  (Requires kernel 2.1.116 or later.)

不起作用,但这不是您的错。这是莱纳斯的错。:-(
彼得-恢复莫妮卡

0

我无法卸载,因为用户具有打开的SMB会话。值得检查。


1
这似乎更像是评论,然后是对5年历史问题的答案。
Ramhound

我没有代表,我也不会投票,但是当帖子拥有约21k的浏览量时,年龄是否重要?这就是Google今天带领我的地方,而lsof | grep / mnt / disk解决了我的问题
FreeSoftwareServers 2016年

1
是; 这很重要,因为评论不是答案。您可以轻松地编辑答案并使之成为答案,但是当前它的书写方式似乎更像是评论。答案详细描述了解决方案,并特别回答了所提出的问题。您没有发表评论作为答案的声誉,也不是发表评论的方式。
Ramhound

当然,我想发表评论,但不能,但是您引用了它已经存在5年的事实,因为它很重要。然后,我将对其进行更新...并添加ls grep部分
FreeSoftwareServers 2016年

1
所有内容都很重要。您的回答将这个问题带到了第一页。如果您想评论有用的详细内容并发表评论,您将知道答案或提出具体问题
Ramhound16年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.