打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
提示“无法卸载卷(分区)”的解决方法
提示“无法卸载卷(分区)”的解决方法

提示“无法卸载卷(分区)”的解决方法:
背景:
在Linux下,有时会遇到(莫名奇妙的)无法正常卸载文件系统的问题,比如U盘。相对Windows下的束手无策或者使用第三方软件,Linux下使用一个命令即可解决问题。下面介绍怎样安全卸载文件系统,假设出现了下面的异常(黑体表示要输入的指令,下同):
sudo umount /media/disk
umount: /media/disk: device is busy

方法1:使用fuser
可以使用fuser命令寻找挂载在/media/disk的文件系统所关联的进程:
/sbin/fuser -m /media/disk
/media/music: 2650c 2720c
返回值表示有两个进程在访问此挂载点,PID分别为2650、2720,并且访问方式都是将此目录当作进程的当前工作目录。

此时,可以查看第一个进程是什么(在此只是示例,gnome-session才不会访问那么奇怪的地方呢^_^):
ps -e |grep 2650
2650 ? 00:00:01 gnome-session
可以使用pkill gnome-session或者kill 2650来结束此进程,另外一个进程也可以如法炮制。
到此,就可以再次尝试使用umount命令卸载/media/disk了!

fuser还提供了一个便捷的参数,使用下面命令可以立即杀死文件系统关联的所有进程:
/sbin/fuser -k /media/disk

方法2:使用lsof
fuser返回的PID虽然在末尾有个状态指示符,但对于了解进程到底正在做什么远远不够。这时可以使用lsof命令,返回在指定文件系统上有打开文件的进程的详细信息:

/usr/sbin/lsof /DATA
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
gnome-ses 2650 youran cwd DIR 8,5 4096 26771457 /DATA/youran
python 2803 youran cwd DIR 8,5 4096 26771457 /DATA/youran
escd 2810 youran 3w REG 8,5 1254 557183 /DATA/youran/.redhat/esc/esc.log
pam-panel 2811 youran cwd DIR 8,5 4096 26771457 /DATA/youran
evolution 2822 youran 23u REG 8,5 12288 2885286 /DATA/youran/.evolution/addressbook/local/system/addressbook.db
evolution 2822 youran 24r REG 8,5 118 2885287 /DATA/youran/.evolution/addressbook/local/system/addressbook.db.summary
scim-pane 2859 youran mem REG 8,5 10044356 2885529 /DATA/youran/.fonts/simhei.ttf


上面显示了当前在访问/DATA文件系统的进程信息。输出因太多,被截短。这时,可以方便地使用grep命令找出是什么进程在阻碍文件系统的卸载,并且能看到它现在在干什么。例如:

/usr/sbin/lsof /DATA |grep /DATA/youran/.evolution/
evolution 2822 youran 23u REG 8,5 12288 2885286 /DATA/youran/.evolution/addressbook/local/system/addressbook.db
evolution 2822 youran 24r REG 8,5 118 2885287 /DATA/youran/.evolution/addressbook/local/system/addressbook.db.summary

上面的输出显示当前正在访问/DATA/youran/.evolution子目录的进程,以及打开的文件。同样可以使用pkill或者kill结束这些进程。

方法3:umount -l
新版本的umount提供了-l参数,以“懒惰”的方式立即卸载文件系统,然后试图清除进程对文件系统的引用:
umount -l /media/disk
可以一试。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
linux umount 提示"device is busy" 终极解决方法 无法卸载分
解决类似umount target is busy挂载盘卸载不掉问题
umount 卸载挂载点 卸载存储报错 device is busy
umount 报错 the device is found by lsof(8) or fuser(1)
解决在Linux 下umount 挂载的优盘或者移动硬盘时出
「干货」Linux磁盘分区及文件系统格式化和挂载,入门必看
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服