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セッションをルートセッションに置き換えますexec
。sudo 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 テーブルを変更して、希望どおりにすることもできます。
その後再起動すればすべて正常になります。