Linux でマウントポイントをアンマウントしようとした際、以下のようなエラーが出ることがあります。
umount: /mnt: target is busy.
umount: /mnt: Device or resource busy
これは、対象のマウントポイントがまだ使用中であるために発生します。
例えば、他のプロセスがそのディレクトリを開いていたり、シェルのカレントディレクトリになっていたりするケースです。
あわせて読みたい


Linuxのマウントとは?初心者でもわかるファイルシステムへのデバイス接続方法
「マウント」は、Linuxにおいてディスクやデバイスを使用可能にするために、そのデバイスをファイルシステムに接続(マウント)する操作を指します。たとえば、USBメモ…
目次
主な原因
- シェルがマウントポイントをカレントディレクトリにしている
→cd
で別のディレクトリに移動しないとアンマウントできません。 - プロセスがそのマウントポイント配下のファイルを使用中
→ データベース、アプリケーション、シェルのバックグラウンドジョブなど。 - NFS や外部ストレージがハングしている
→ ネットワーク不調やプロセスの異常でbusy
状態が続く場合。
解決方法
1. 現在のディレクトリを確認
自分のシェルがそのディレクトリを掴んでいないか確認します。
pwd
もし /mnt
やその配下にいる場合は、ホームなどに移動します。
cd ~
2. 使用中プロセスを特定する(lsof
)
lsof
コマンドでマウントポイントを使用しているプロセスを確認できます。
sudo lsof +D /mnt
またはマウントポイント単位で調べる場合:
sudo lsof /mnt
出力例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1234 user cwd DIR 8,1 4096 2 /mnt
3. 使用中プロセスを特定する(fuser
)
fuser
コマンドでも同様に確認可能です。
sudo fuser -m /mnt
出力例:
/mnt: 1234c
プロセス ID が表示されるので、必要に応じて終了させます。
sudo kill -9 1234
4. 強制的にアンマウントする(最終手段)
どうしてもアンマウントできない場合、強制オプションを使います。
sudo umount -l /mnt # lazy umount(参照が切れるまで遅延解除)
sudo umount -f /mnt # 強制 umount(NFS などで使用)
⚠️ 強制アンマウントはデータ破損のリスクがあるため、通常は プロセスを停止してから 実行してください。
まとめ
- 原因の大半は「そのディレクトリをプロセスが使用中」。
lsof
やfuser
で使用プロセスを確認し、必要に応じて停止する。- 自分がそのディレクトリにいる場合は
cd
で移動するだけで解決することも多い。 - 最終手段として
umount -l
またはumount -f
を検討。
👉 実運用では「NFS の切断」や「大量プロセスによる利用」が原因のことも多いため、強制アンマウント前に必ず原因特定することが重要です。