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にコピーできるように、/homeをアンマウントして別の場所(/dev/sda2/mnt/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

そこに入ったら、rootに切り替えて、次のように私のセッションを閉じます。

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

別のアイデアは、リカバリディスクを使用して再起動し、ルートシェルを取得し、すべてのパーティションをマウントし、古いデータを新しい場所にcp -rとしてマウントし、すべてのパーティションを同期してマウント解除して再起動することです。 。ちなみに、マウントされたルートパーティションで/etc/fstabテーブルを変更することもできます(/etc/fstabを修復する代わりに)。

再起動後、すべてが正常でした。

関連情報