umount /home が機能しない

umount /home が機能しない

Linux Mint 13 で、別の /home パーティションを / パーティションとマージしようとしています。/home をアンマウントし、別の場所にマウントして、その内容を / パーティションの /home ディレクトリにコピーするように指示されました。

試してみましたが、/home をアンマウントできません。アンマウントしようとすると、次のメッセージが表示されます:

umount: /home device is busy (which processes use this device can be possibly be found with lsof or fuser)

/home をアンマウントして別の場所 (/dev/sda2/mnt/home) にマウントし、その内容を /home にコピーするにはどうすればよいでしょうか?

答え1

umount: /home デバイスがビジーです

これは、あなた (または誰か) が現在/homeファイルシステム上のファイルを使用していることを意味します。最も簡単な解決策は、すべての通常ユーザーをシステムからログアウトさせてから、root として再度ログインすることです。

(ログイン ウィンドウ アプリケーションの [セキュリティ] タブで、システムを「ローカル システム管理者のログインを許可する」ように構成する必要がある場合があります。)

umount がまだエラーを出す場合は、エラー メッセージに示されているように、次の出力を確認してください。

lsof /home

そして、

fuser -mv /home

これらのコマンドは、ファイルシステム上でどのプロセスがファイルを開いているかを表示し/home、それらを閉じることができます。

ターミナル/コンソールを/home現在の作業ディレクトリとして開くといった一見無害な操作によって、 が/home使用中になり、停止することに注意してくださいumount /home

答え2

Google Compute Engine で /home を別のパーティションとして設定したときに、この問題が発生しました。

この場合、rootとしてログインすることはできず、ユーザーとしてログインしてからrootに切り替える必要があるため、umount /home

私の解決策は、通常のユーザーとしてログインすることでした

ssh myuser@myvm

次に、中に入ったらルートに切り替えて、次のように自分のセッションを閉じました。

cd /
exec sudo su

まず、ホームフォルダが使用中であると文句を言う場合に備えてルートフォルダに移動しました。次に、現在のbashセッションをルートセッションに置き換えますexecsudo su

今ではumount /home問題なくできるようになりました。

答え3

エラー メッセージでは、lsofまたはを実行して、fuserどのプロセスが を使用しているかを表示するように指示されているため/home、次を試してください。

$ fuser -v /home/
                     USER        PID ACCESS COMMAND
/home:               root     kernel mount /home

lsof出力を長くすることができます。

/etc/fstab簡単な解決策は、別のパーティションにマウントするように変更することです/home。次のようになります。

/dev/sdb3    /home    ext4    defaults,noatime    0 2

必ず古いエントリにコメントするか削除し、再起動して変更を確認してください。

答え4

もう 1 つの方法は、レスキュー ディスクを使用して再起動し、ルート シェルを取得し、すべてのパーティションをマウントしてから、古いデータの cp -r を新しい場所に実行し、同期を実行してすべてのパーティションをアンマウントし、再起動することです。ちなみに、マウントされたルート パーティション (レスキュー /etc/fstab ではありません) で /etc/fstab テーブルを変更して、希望どおりにすることもできます。

その後再起動すればすべて正常になります。

関連情報