原文:http://www.cyberciti.biz/tips/how-do-i-forcefully-unmount-a-disk-partition.html
Understanding device error busy error
What happens basically, is that Linux / UNIX will not allow you to unmount a device that is busy. There are many reasons for this (such as program accessing partition or open file) , but the most important one is toprevent data loss.
Try the following command to find out what processes have activities on the device/partition. If your device name is /dev/sdb1, enter the following command as root user:
# lsof | grep '/dev/sda1'
Output:
vi 4453 vivek 3u BLK 8,1 8167 /dev/sda1
Above output tells that user vivek has a vi process running that is using /dev/sda1. All you have to do is stop vi process and run umount again. As soon as that program terminates its task, the device will no longer be busy and you can unmount it with the following command:
# umount /dev/sda1
Following disussion allows you to unmout device and partition forcefully using Linux commands.
Linux fuser command to forcefully unmount a disk partition
Suppose you have /dev/sda1 mounted on /mnt directory then you can use fuser command as follows:
WARNING! These examples may result into data loss if not executed properly (see "
Understanding device error busy error" for more information).
Type the command to unmount /mnt forcefully:
# fuser -km /mnt
Where,
- -k : Kill processes accessing the file.
- -m : Name specifies a file on a mounted file system or a block device that is mounted. In above example you are using /mnt
Linux umount command to unmount a disk partition
You can also try umount command with –l option:
# umount -l /mnt
Where,
- -l : Also known as Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. This option works with kernel version 2.4.11+ and above only.
If you would like to unmount a NFS mount point then try following command:
# umount -f /mnt
Where,
- -f: Force unmount in case of an unreachable NFS system
Caution: Using these commands or option can cause data loss for open files; programs which access files after the file system has been unmounted will get an error.
如果以上方式还是出现提示错误,那么再次挂载,不过要以只读方式,及mount -r /dev/sdb1 /media/***,然后udisks .........
即
Sometimes fuser and lsof fail. One option that works for me is remounting read-only, and then doing a lazy unmount:
mount -o ro,remount /dev/sdb3
umount -l /dev/sdb3
本文提供了解决Linux/UNIX中设备繁忙导致无法卸载分区的问题的方法,包括使用fuser和lsof命令查找占用分区的进程,以及如何通过fuser-km、umount、umount-l等命令强制卸载已挂载的分区。同时提供了在特定情况下无法卸载分区时的解决方案,以及在卸载后挂载为只读模式的方法。
1万+

被折叠的 条评论
为什么被折叠?



