umount无法解除挂载解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GX_1_11_real/article/details/84624420

前言


有时我们会因为某些需要,会对已挂载好的目录进行调整。这时就需要先对硬盘先解除挂载,再重新挂载新目录。但是,在解除挂载的时候,可能会遇到无法解除挂载的问题。下面介绍的就是解决这个问题的方法。

磁盘分区、挂载、取消挂载操作,请参考下列链接:
https://blog.csdn.net/GX_1_11_real/article/details/82053630#t8




问题



使用umount或umount -f强制解除挂载,提示device is busy,无法解除挂载。

在这里插入图片描述

在这里插入图片描述

umount: /mnt: device is busy. 设备正忙
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))




原因


通常是解除挂载时,有进程正在使用此挂载的目录导致




解决方法


其他的无法解除挂载的报错,也可使用下列方法解决。



【1】方法一(fuser)


fuser能识别出当前正在对指定文件、挂载点或端口访问的进程的详细信息
fuser会显示当前正在使用指定文件或挂载点的进程ID和进程的访问类型

进程的访问类型:  
c       作为当前目录使用   
e       作为程序的可执行对象使用  
f       作为打开的文件(默认不显示) 
F       作为打开的文件,写操作(默认不显示) 
r       作为根目录使用 
m       作为映射文件或者共享库
s       作为共享库(或其他可装载对象)

常用参数/选项

-k       杀掉访问文件的进程
-i       杀掉进程之前询问用户  
-l       列出所有已知的信号名称  
-signal  使用指定的信号,而不是用SIGKILL来杀掉进程(要和-k一起使用,否则会被忽略)
-v       列出进程的详细信息


<1>查看当前访问挂载点的进程

fuser /mnt

在这里插入图片描述

fuser /mnt -v

在这里插入图片描述



<2>杀死进程

fuser /mnt -k

在这里插入图片描述

kill -9 4882


<3>解除挂载

杀掉占用进程后,再解除挂载

umount /mnt



【2】方法二(losf)


<1>查找当前使用挂载点的进程

lsof |grep "/mnt"

在这里插入图片描述



<2>杀死进程

kill -9 5059


<3>解除挂载

杀掉占用进程后,再解除挂载

umount /mnt

猜你喜欢

转载自blog.csdn.net/GX_1_11_real/article/details/84624420