誤って /mnt に直接マウントする

誤って /mnt に直接マウントする

2 つのフォルダー間で rsync を実行しました。

rsync -avzh /mnt/folder1 /mnt/folder2

(フォルダ1は/dev/sdb、フォルダ2は/dev/sdcで、どちらもext4パーティションです)

次に、folder1 をアンマウントしましたが、ミスをして、/dev/sdc を /mnt の上に直接マウントしてしまいました。

mount /dev/sdc /mnt

実際には/dev/sdcを/mnt/folder1にマウントしたかったのですが

現在、/mnt をアンマウントできません:

umount /mnt/
umount: /mnt/: target is busy
    (In some cases useful info about processes that
     use the device is found by lsof(8) or fuser(1).)

これをどうすれば修正できますか?

答え1

これは、データ損失を防ぐ

次のコマンドを実行して、どのプロセスがアンマウントを妨げているかを確認します。dev のパーティションをスキップして less と入力したと想定しています。

lsof | grep '/dev/sdc'

作業を終了するか、指定されたプロセスを終了して再度アンマウントします。また、どのファイルがまだ開いているかを確認することもできます。

fuser -u /mnt/

一方、次のコマンドはすべてのプロセス自体を強制終了し、おそらくデータが失われます。

fuser -km /mnt

または、マウント解除済みとして表示し、プロセスが終了したら自動的にマウント解除されるようにします。

umount -l /mnt

答え2

たとえば、独自のシェルなど、マウントポイントを使用しているプロセスがないことを確認します。

それでもだめなら

lsof |grep /mnt/

マウントポイントを使用しているものを特定するのに役立ちます。

関連情報