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にコンテンツをコピーできるように、/ homeをアンマウントして別の場所(/ dev/sda2/mnt/home)にマウントするにはどうすればよいですか?
umount:/ homeデバイスはビジーです
これは、あなた(または誰か)が現在/home
ファイルシステムのファイルを使用していることを意味します。最も簡単な解決策は、すべての通常のユーザーがシステムからログアウトしてから、rootとして再度ログインすることです。
(ログインウィンドウアプリケーションの[セキュリティ]タブで、システムを[ローカルシステム管理者のログインを許可する]に設定する必要がある場合があります。)
それでもumountが文句を言う場合は、エラーメッセージが示すように、次の出力を確認してください。
lsof /home
そして、
fuser -mv /home
これらのコマンドは、どのプロセスが/home
ファイルシステムで開いているファイルを持っているかを示すので、それらを閉じることができます。
現在の作業ディレクトリは/home
を使用して/home
を停止するため、ターミナル/コンソールをumount /home
で開いているような一見無害なものに注意してください。
Google Compute Engineでこの問題が発生しました。/homeを別のパーティションとしてセットアップしました。
この場合、rootとしてログインすることはできません。ユーザーとしてログインしてからrootに切り替える必要があるため、umount /home
を実行することはできませんでした。
私の解決策は、通常のユーザーとしてログインすることでした
ssh myuser@myvm
その後、私はルートに切り替えて、次のように自分のセッションを閉じました:
cd /
exec Sudo su
最初に、ホームフォルダーが使用中であると不平を言う場合に備えて、ルートフォルダーに移動しました。次に、exec
をSudo su
の前に追加して、現在のbashセッションをルートセッションに置き換えます
これで、問題なくumount /home
できました。
エラーメッセージは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
必ずコメントするか、古いエントリを削除し、再起動して変更を確認してください。
別の考えは、レスキューディスクを使用して再起動し、ルートシェルを取得し、すべてのパーティションをマウントしてから、古いデータのcp -rを新しい場所に実行してから、同期を実行してすべてのパーティションをアンマウントして再起動することです。ところで、/ etc/fstabテーブルを変更して、マウントされたルートパーティション(レスキュー/ etc/fstabではありません)で望みどおりの方法にすることもできます。
その後再起動すると、すべて正常です。
Linux mint 13で/ homeパーティションを/パーティションにマージしようとしています。/homeをアンマウントし、別の場所にマウントして、/パーティションの/ homeディレクトリに内容をコピーするように言われました。
ホームディレクトリを新しいフォルダに移動できます。
usermod -m -d /new_home/your_username your_username
すべてのユーザーに対してこれを行う必要があります。その後、問題なく/ homeをアンマウントできます。
それは解決されました。正しく記録されなかったと思います。起動画面のセキュリティ設定でrootログインが有効になると、/ sda5をアンマウントすることができました。/sda5を/ mnt/homeにマウントし、そこから
cp -va /mnt/home/* /home
サイズ変更およびその他すべてを行い、/ homeを/パーティションに配置します。
サイズを変更するには、gparted cdromからブートする必要がありました。
現在は正常に機能しています。
確かに、ホームディレクトリのファイルを使用しているいくつかのプロセスがあります。たとえば、すべてのプロセスはおそらく作業ディレクトリとしてそれを持っています。セッションマネージャが~/.xsession-errors
などにログを記録している可能性があります。
ホームディレクトリを別のファイルシステムに移動すると、ファイルがコピーされ、古いファイルが削除されます。しかし、実行中のプロセスを新しいファイルに切り替えることはできません(そうする機能がない限り)。
ログアウトしてから再度ログインする必要があります。ここでログインすると、プロセスは新しいホームディレクトリを使用します。
fuser /home
またはlsof /home
を実行することで、どのプロセスが古いホームディレクトリ(またはホームファイルシステムの他の何か)をまだ使用しているかを確認できます。これらのプロセスを強制終了すると、/home
をアンマウントできるようになります。 fuser -k /home
を使用して、すべてを殺すことができます(これを行う前に、彼らが何であるかを注意深くチェックしてください!)。
理想的には、ログインしていないときにホームディレクトリを移動する必要があります。実行中のプロセスがデータを保存(たとえば、現在のセッションを保存)したり、すでに開いているファイルを使用したりする可能性があるためです。テキストコンソールにログインして移動できます(Ctrl+Alt+F1)そしてrootとしてログインします(rootパスワードが設定されていることを確認してください)。 /home
の内容を新しいディレクトリに移動し、空のファイルシステムをアンマウントしてディレクトリを移動します。
mkdir /home.new
mv /home/* /home.new/
umount /home
rmdir /home.new
mv /home.new /home
または、/home
マウントを移動することもできます。
mkdir /home.old
mount --move /home /home.old
mv /home.old/* /home/
umount /home.old
rmdir /home.old