LinuxでマウントしたディスクやUSBメモリ、ISOファイルなどを安全に解除したいときは、umountコマンドを使用します。
前回解説したmountコマンドは、ファイルシステムをディレクトリへ接続するコマンドでした。
一方、umountコマンドは、マウント済みのファイルシステムをディレクトリツリーから切り離すためのコマンドです。
この記事では、Linux初心者でも実際に操作できるように、umountコマンドの基本構文、マウントポイント指定・デバイス指定での解除方法、USBメモリやISOファイルの解除、target is busyエラーの対処法、lsofやfuserで使用中プロセスを確認する方法まで実例付きで解説します。
- umountコマンドとは
- コマンド名はunmountではなくumount
- umountコマンドの基本構文
- 現在のマウント状態を確認する方法
- マウントポイントを指定して解除する方法
- デバイス名を指定して解除する方法
- USBメモリを安全に取り外す方法
- ISOファイルのマウントを解除する方法
- bindマウントを解除する方法
- tmpfsを解除する方法
- umountコマンドの主なオプション
- target is busyエラーとは
- まずカレントディレクトリを確認する
- lsofで使用中のプロセスを確認する方法
- fuserで使用中のプロセスを確認する方法
- 使用中プロセスを終了してから解除する方法
- 遅延アンマウントする方法
- 強制アンマウントする方法
- 読み取り専用で再マウントを試みる方法
- すべての対象をまとめて解除する方法
- /etc/fstabとumountの関係
- アンマウント後にマウントポイントの中身が消えたように見える理由
- umount・mount・df・lsblkの違い
- umountコマンドでよくあるエラー
- よくある質問
- まとめ
umountコマンドとは
umountは、Linuxでマウント済みのファイルシステムを解除するためのコマンドです。
たとえば、/dev/sdb1を/mnt/dataにマウントしている場合、次のように解除できます。
sudo umount /mnt/data
これにより、/mnt/dataから/dev/sdb1の中身へアクセスできなくなります。
主に次のような場面で使います。
- USBメモリや外部ディスクを取り外す前
- 一時的にマウントしたディスクを解除したいとき
- ISOファイルのマウントを解除したいとき
- tmpfsやbindマウントを解除したいとき
- マウント設定の確認や変更を行うとき
- サーバーでディスク交換やマウント先変更を行う前
コマンド名はunmountではなくumount
初心者が間違えやすい点として、Linuxのコマンド名はunmountではなくumountです。
umount
nが入らないため注意してください。
次のように実行すると、環境によってはコマンドが見つからない場合があります。
unmount /mnt/data
正しくは次の形です。
sudo umount /mnt/data
umountコマンドの基本構文
umountコマンドの基本構文は次のとおりです。
umount [オプション] マウントポイントまたはデバイス
実際には管理者権限が必要になることが多いため、sudoを付けて実行します。
sudo umount マウントポイント
または、デバイス名を指定して解除できます。
sudo umount デバイス名
現在のマウント状態を確認する方法
アンマウントする前に、現在どこにマウントされているか確認しましょう。
分かりやすいのはlsblkです。
lsblk
実行結果の例です。
NAME SIZE TYPE MOUNTPOINTS
sda 50G disk
├─sda1 1G part /boot
└─sda2 49G part /
sdb 100G disk
└─sdb1 100G part /mnt/data
この例では、/dev/sdb1が/mnt/dataにマウントされています。
df -hでも確認できます。
df -h
よりマウント状態を詳しく見たい場合は、findmntも便利です。
findmnt
マウントポイントを指定して解除する方法
最もよく使う方法は、マウントポイントを指定して解除する方法です。
sudo umount /mnt/data
解除できたか確認します。
lsblk
実行結果の例です。
sdb 100G disk
└─sdb1 100G part
MOUNTPOINTSから/mnt/dataが消えていれば、アンマウントされています。
デバイス名を指定して解除する方法
マウントポイントではなく、デバイス名を指定して解除することもできます。
sudo umount /dev/sdb1
どちらの指定でも解除できますが、初心者にはマウントポイントを指定する方法が分かりやすいです。
対象を間違えないように、事前にlsblkで確認してから実行しましょう。
USBメモリを安全に取り外す方法
USBメモリや外部ディスクを取り外す前には、必ずアンマウントします。
まずマウント状態を確認します。
lsblk
例として、USBメモリが/media/user/USBにマウントされている場合は、次のように解除します。
sudo umount /media/user/USB
解除後、lsblkでマウントポイントが消えていることを確認します。
lsblk
アンマウントせずに取り外すと、書き込み途中のデータが壊れる可能性があります。
ISOファイルのマウントを解除する方法
ISOファイルを/mnt/isoへマウントしている場合も、通常のマウントと同じように解除できます。
sudo umount /mnt/iso
確認します。
findmnt /mnt/iso
何も表示されなければ、マウントは解除されています。
bindマウントを解除する方法
mount --bindで作成したbindマウントも、umountで解除できます。
たとえば、次のようにbindマウントしていた場合です。
sudo mount --bind /var/log /mnt/logs
解除するには、マウント先を指定します。
sudo umount /mnt/logs
元の/var/logが削除されるわけではありません。
解除されるのは、/mnt/logsから/var/logを見る接続だけです。
tmpfsを解除する方法
tmpfsを一時的にマウントしていた場合も、同じように解除できます。
sudo umount /mnt/tmp
tmpfsはメモリ上の一時的なファイルシステムです。
アンマウントすると、その中に保存していたデータは基本的に使えなくなるため注意してください。
umountコマンドの主なオプション
| オプション | 説明 |
|---|---|
-a |
/etc/fstabなどに基づいて複数のファイルシステムを解除する |
-l |
遅延アンマウントを行う |
-f |
強制アンマウントを行う |
-r |
解除に失敗した場合、読み取り専用で再マウントを試みる |
-v |
詳細情報を表示する |
-t 種類 |
対象のファイルシステム種類を指定する |
-O オプション |
指定したマウントオプションを持つものを対象にする |
--help |
ヘルプを表示する |
--version |
バージョン情報を表示する |
通常の解除では、まずオプションなしのsudo umount マウントポイントを使います。
-lや-fは便利ですが、状況を理解せずに使うとトラブルの原因になるため注意しましょう。
target is busyエラーとは
umountでよく出るエラーがtarget is busyです。
umount: /mnt/data: target is busy.
これは、対象のマウントポイントを何らかのプロセスが使用中であることを意味します。
たとえば、次のような場合に発生します。
- ターミナルの現在位置がマウント先ディレクトリ内にある
- アプリケーションがマウント先のファイルを開いている
- ログ出力先として使用中
- 別のプロセスがそのディレクトリを参照している
- シェルやエディターが対象ディレクトリ内のファイルを開いている
まずカレントディレクトリを確認する
意外と多い原因が、自分のターミナルがマウント先の中にいるケースです。
pwd
もし/mnt/data配下にいる場合は、別の場所へ移動します。
cd ~
その後、もう一度アンマウントします。
sudo umount /mnt/data
lsofで使用中のプロセスを確認する方法
どのプロセスがマウント先を使用しているか確認したい場合は、lsofを使います。
sudo lsof +D /mnt/data
実行結果の例です。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1234 user cwd DIR 8,17 4096 2 /mnt/data
vim 2345 user 3r REG 8,17 1024 10 /mnt/data/test.txt
この例では、bashやvimが/mnt/dataを使用しています。
不要なプロセスであれば終了し、必要な作業中であれば保存して閉じてからアンマウントします。
fuserで使用中のプロセスを確認する方法
fuserでも、マウントポイントを使用しているプロセスを確認できます。
sudo fuser -vm /mnt/data
実行結果の例です。
USER PID ACCESS COMMAND
/mnt/data: user 1234 ..c.. bash
user 2345 F.... vim
fuserは、対象を使っているプロセスを簡潔に確認したいときに便利です。
使用中プロセスを終了してから解除する方法
使用中のプロセスが不要であることを確認できた場合は、終了してからアンマウントします。
まずプロセスを確認します。
sudo fuser -vm /mnt/data
通常は、対象のアプリケーションやターミナルを閉じるのが安全です。
どうしてもコマンドで終了する場合は、PIDを指定して終了します。
sudo kill 2345
それでも終了しない場合にkill -9を使うこともありますが、データ破損や処理中断のリスクがあるため慎重に扱ってください。
sudo kill -9 2345
プロセスが終了したら、再度アンマウントします。
sudo umount /mnt/data
遅延アンマウントする方法
-lオプションを使うと、遅延アンマウントを行えます。
sudo umount -l /mnt/data
遅延アンマウントでは、マウントポイントを現在の名前空間から切り離し、使用中の参照がなくなったタイミングで実際に解除されます。
すぐに見た目上は外したいが、まだ使用中のプロセスが残っている場合に使われることがあります。
ただし、原因となるプロセスを確認せずに多用するのは避けましょう。
強制アンマウントする方法
-fオプションを使うと、強制アンマウントを試みます。
sudo umount -f /mnt/data
強制アンマウントは、主にNFSなどのネットワークファイルシステムが応答しない場合に使われることがあります。
通常のローカルディスクでは、まず使用中プロセスを確認してから解除するのが基本です。
-fは最後の手段として考えましょう。
読み取り専用で再マウントを試みる方法
-rオプションを使うと、アンマウントに失敗した場合に読み取り専用で再マウントを試みます。
sudo umount -r /mnt/data
ファイルシステムの安全確保を目的に使われることがあります。
ただし、通常の解除ではあまり頻繁に使うオプションではありません。
すべての対象をまとめて解除する方法
-aオプションを使うと、複数のファイルシステムをまとめてアンマウントできます。
sudo umount -a
ただし、システムに必要なファイルシステムまで対象になる可能性があるため、通常の作業で安易に使うべきではありません。
特定の種類だけ対象にしたい場合は、-tを組み合わせることがあります。
sudo umount -a -t nfs
初心者は、基本的にマウントポイントを個別に指定して解除する方法を使いましょう。
/etc/fstabとumountの関係
/etc/fstabに設定されているファイルシステムでも、手動でアンマウントできます。
sudo umount /data
ただし、/etc/fstabに設定が残っている場合、再起動時やmount -a実行時に再びマウントされることがあります。
自動マウント自体をやめたい場合は、/etc/fstabの設定も見直す必要があります。
編集前には必ずバックアップを取りましょう。
sudo cp /etc/fstab /etc/fstab.bak
アンマウント後にマウントポイントの中身が消えたように見える理由
マウントしている間、マウントポイントのディレクトリには、マウントしたファイルシステムの中身が表示されます。
アンマウントすると、その接続が外れるため、マウント前のディレクトリの中身に戻ります。
つまり、マウントしていたディスクのデータが削除されたわけではありません。
もう一度マウントすれば、ディスク内のデータを確認できます。
sudo mount /dev/sdb1 /mnt/data
umount・mount・df・lsblkの違い
| コマンド | 主な用途 |
|---|---|
mount |
ファイルシステムをマウントする |
umount |
マウントを解除する |
df |
マウント済みファイルシステムの空き容量を確認する |
lsblk |
ディスク・パーティション構成を確認する |
findmnt |
現在のマウント状態を見やすく確認する |
マウント作業では、次のような流れで使うと分かりやすいです。
lsblk
sudo mount /dev/sdb1 /mnt/data
df -h /mnt/data
sudo umount /mnt/data
umountコマンドでよくあるエラー
target is busy
umount: /mnt/data: target is busy.
対象のマウントポイントを使用中のプロセスがあります。
まず、自分がそのディレクトリ内にいないか確認します。
pwd
cd ~
それでも解除できない場合は、lsofやfuserで確認します。
sudo lsof +D /mnt/data
sudo fuser -vm /mnt/data
not mounted
umount: /mnt/data: not mounted.
指定した場所はマウントされていません。
現在のマウント状態を確認します。
findmnt /mnt/data
lsblk
no mount point specified
umount: no mount point specified.
解除対象を指定していません。
マウントポイントまたはデバイス名を指定してください。
sudo umount /mnt/data
must be superuser to unmount
umount: only root can unmount /mnt/data
権限が不足しています。
通常はsudoを付けて実行します。
sudo umount /mnt/data
device is busy
umount: /dev/sdb1: device is busy.
target is busyと同様に、対象デバイスを使用中のプロセスがあります。
マウントポイントを確認し、使用中プロセスを調べます。
lsblk
sudo fuser -vm /mnt/data
よくある質問
umountコマンドは何に使いますか?
マウント済みのディスク、USBメモリ、ISOファイル、tmpfsなどをLinuxのディレクトリツリーから切り離すために使います。
unmountではなくumountなのですか?
はい。Linuxのコマンド名はumountです。unmountではないため注意してください。
マウントポイントとデバイス名のどちらを指定すればよいですか?
どちらでも指定できますが、初心者にはマウントポイントを指定する方法が分かりやすいです。
sudo umount /mnt/data
USBメモリを抜く前にumountは必要ですか?
はい。書き込み途中のデータを保護するため、取り外す前にアンマウントするのが基本です。
target is busyが出たらどうすればよいですか?
対象を使用中のプロセスがあります。まずcd ~で別ディレクトリへ移動し、それでも解除できない場合はlsofやfuserで確認します。
sudo lsof +D /mnt/data
sudo fuser -vm /mnt/data
umount -lは何ですか?
遅延アンマウントです。すぐにマウントポイントを切り離し、使用中の参照がなくなったタイミングで実際に解除されます。ただし、原因確認なしに多用するのは避けましょう。
umount -fは使ってもよいですか?
強制アンマウントです。主にNFSなどが応答しない場合に使われます。通常のローカルディスクでは、まず使用中プロセスを確認するのが基本です。
アンマウントしたらデータは消えますか?
いいえ。アンマウントは接続を解除するだけで、ディスク内のデータを削除する操作ではありません。
UbuntuやCentOS Streamでも使えますか?
はい。Ubuntu、Debian、CentOS Stream、Rocky Linux、AlmaLinuxなど、多くのLinuxディストリビューションで利用できます。
まとめ
umountコマンドは、Linuxでマウント済みのファイルシステムを安全に解除するためのコマンドです。
基本的な使い方は次のとおりです。
sudo umount /mnt/data
デバイス名を指定することもできます。
sudo umount /dev/sdb1
解除前には、lsblkやfindmntでマウント状態を確認しましょう。
lsblk
findmnt
target is busyが表示された場合は、対象を使用中のプロセスがあります。
sudo lsof +D /mnt/data
sudo fuser -vm /mnt/data
-lや-fを使う方法もありますが、まずは使用中の原因を確認してから解除するのが安全です。
USBメモリや外部ディスクを取り外す前、ISOファイルの利用後、追加ディスクの設定変更前などは、umountで安全にマウントを解除しましょう。




コメント