Linuxを使っていると、USBメモリや外付けハードディスクなどのデバイスを扱う機会が多くなります。こうしたデバイスを安全に取り外すためには、「アンマウント」という操作が必要です。その際に使うのが umount
コマンドです。
このコマンドを正しく使わないと、ファイルの破損やシステムへの悪影響が出ることもあります。この記事では、umount
コマンドの基本的な使い方から、実行時の注意点、エラー対処法までを初心者にもわかりやすく解説していきます。
umount
(アンマウント)は、Linuxでマウントされたファイルシステムを切り離すためのコマンドです。
「マウント」とは、外部デバイス(USBメモリや外付けHDDなど)をファイルシステムに接続して利用可能にする操作を指します。umount
はその逆、つまり接続を解除する操作です。
この処理を行うことで、デバイスの取り外しが安全に行えるようになります。書き込み中のデータが失われたり、ファイルシステムが壊れたりするのを防ぐためにも、正しいタイミングで umount
を実行することが重要です。
umount [マウントポイントまたはデバイス名]
umount /mnt/usb
umount /dev/sdb1
マウントポイント、あるいはデバイスファイルのいずれかを指定することで、対象のデバイスをファイルシステムから安全に切り離します。
アンマウントする前には、いくつかのチェックポイントがあります。これらを無視すると、アンマウントに失敗したり、最悪の場合データの破損を招いたりすることもあります。
アンマウントするデバイスにアクセスしているプロセスがあると、umount
は失敗します。その際に便利なのが以下のコマンドです。
lsof +D /mnt/usb
このコマンドで、対象ディレクトリを使用しているプロセスを確認できます。使用中のプロセスがあれば、それを終了する必要があります。
自分自身のシェルが、アンマウントしようとしているディレクトリに居る場合、アンマウントはできません。cd
で別の場所へ移動しましょう。
cd ~
どうしてもアンマウントできない場合には、-l
(lazy)や -f
(force)オプションを使用することも可能です。ただし、これらは慎重に使う必要があります。
umount -l /mnt/usb
このオプションは、現在使用中のリソースが解放されたタイミングでアンマウントされる「遅延アンマウント」です。安全性は比較的高めですが、処理が遅れるため注意が必要です。
umount -f /mnt/usb
強制アンマウントです。特にネットワークファイルシステム(NFS)でハングしてしまったときに使うことがありますが、ローカルディスクに対して使うとファイルシステムを壊す可能性があるので注意してください。
umount: /mnt/usb: target is busy.
このエラーは、対象ディレクトリが使用中であることを示しています。lsof
や fuser
を使って使用中のプロセスを調べましょう。
fuser -v /mnt/usb
出てきたプロセスIDを kill
コマンドで終了させます。
kill -9 プロセスID
bashコピーする編集するumount: /mnt/usb: not mounted.
これは、指定したマウントポイントがそもそもマウントされていない場合に出るエラーです。現在のマウント状況は mount
コマンドや findmnt
で確認できます。
mount | grep /mnt/usb
アンマウントが正常に行われたかを確認するには、以下のような方法があります。
mount | grep /mnt/usb
結果に何も表示されなければ、マウントは解除されています。
df -h | grep /mnt/usb
同様に、表示されなければアンマウント成功です。
最近のLinuxディストリビューション(Ubuntuなど)では、デバイスが自動的にマウントされる場合があります。このとき、マウントポイントは通常 /media/ユーザー名/デバイス名
となっており、以下のように確認できます。
lsblk
アンマウントしたいデバイスのマウントポイントがわかったら、umount
で通常通りアンマウントします。
umount /media/ユーザー名/デバイス名
定期的なバックアップ処理などで、スクリプトから自動的にアンマウントを行いたいこともあるでしょう。以下のようなスクリプト例が参考になります。
#!/bin/bash
MOUNTPOINT="/mnt/usb"
if mountpoint -q "$MOUNTPOINT"; then
umount "$MOUNTPOINT"
echo "アンマウント成功: $MOUNTPOINT"
else
echo "すでにアンマウントされています。"
fi
umount
コマンドは、Linuxにおけるデバイス管理で欠かせない基本操作のひとつです。マウントポイントやデバイスを適切に指定し、使用中でないことを確認してからアンマウントすることで、データの安全性を守ることができます。
もしアンマウントに失敗した場合も、lsof
や fuser
などのツールを併用すれば、原因を突き止めて対処できます。強制アンマウントの前に、可能な限り通常手順での解除を心がけましょう。
Linux初心者の方も、この記事を参考に umount
コマンドを正しく使いこなして、安全なシステム運用を行ってください。