私はzerofreeを使おうとしていますが、これがその答えのようです: 縮小する方法VMサイズ?
/ dev/sda1のアンマウントに成功し、zerofreeは正常に動作し、約37GBをリリースしました。
しかし、読み取り専用の/ dev/mapper/mypc-rootとしてアンマウントまたは再マウントすることはできないようです、とそれは言います:
umount: / is busy
または
mount: / is busy
使用したコマンドは次のとおりです。
$ umount /dev/mapper/mypc-root
$ mount -no remount,ro -t ext2 /dev/mapper/mypc-root /
私はシングルユーザーモードで、「init1」で入力しました。
ゲストSOは暗号化されたLVMとホームを備えたUbuntu12です。
何か案は?
/
はシステム自体によって使用されているため(つまり、表示されるメッセージ)、/
をシステムからアンマウントすることはできません。
この手順は、Live-CDから実行する必要があります。
これは通常、ルートファイルシステムでファイルを削除しても開いている場合に発生します。一部のプロセスはファイルへの参照を保持しており、ファイルを閉じるまでディスクから解放できません。システムライブラリの更新は、このような状況を作り出す1つの方法です。
クリーンな状態のファイルシステムに、削除されたが解放されていないファイルを含める方法がないため、カーネルはファイルシステムを読み取り専用で再マウントすることを拒否します。
これらのプロセスを再起動すると役立ちます。カーネルがファイルを解放し、ファイルシステムをきれいにアンマウントできます。
別のオプションは、SysRqキーを使用して読み取り専用の再マウントを強制することです。
echo u > /proc/sysrq-trigger
これは安全ですが、カーネル/ fsckが次のマウント/実行で文句を言う原因になります。
あなたはこの投稿に従うことができます: https://unix.stackexchange.com/questions/42015/mount-is-busy-when-trying-to-mount-as-read-only-so-that-i- can-run-zerofree
私の場合、プロセスを強制終了することを心配したくありませんでした。 VirtualBoXに2つの仮想マシンがあるので、VMのディスクをマウントし、他のVMで圧縮して、そのマシンからゼロフリーにする必要がありました。