web-dev-qa-db-ja.com

VirtualBoxから動的に成長するVDIディスクを縮小するにはどうすればよいですか?

Virtual BoxのさまざまなUbuntuインストールから動的に成長する仮想ディスク(VDI)は、実際に着実に「成長」しています。

仮想マシンのファイルを削除しても、VDIファイルがホストのハードディスクスペースから取ったスペースは解放されません。

これらのファイルを圧縮して、未使用のハードディスク領域をホストに戻すにはどうすればよいですか?

35
Takkat

動的に拡大するVirtual Box仮想ハードドライブファイルは、仮想マシンの要求に応じて、このファイルの設定で定義した最大サイズまで拡大できます。ただし、ゲストOSで削除したファイルのスペースは解放されません。

ディスクが大きくなりすぎた場合は、未使用のスペースがゼロで埋められていて、ドライブがVDI形式である限り、再度圧縮できます。

Ext2からext 4のファイルシステムの場合、コマンドラインユーティリティ zerofreeInstall zerofree * 。

zerofree /dev/sdxX

これには、ドライブが使用中でなく、unmountedである必要があります。したがって、この目的のために作成した別のVMに一時的にバインドするか、このVMでUbuntuライブ環境を起動する必要があります。

/dev/sdxXを問題のext2、ext3、またはext4でフォーマットされたpartitionに置き換えます。

複数のパーティションで、各パーティションに対してzerofreeを繰り返す必要があります。ゼロで埋めることにより、仮想ファイルが一時的に最大サイズまで大きくなることに注意してください。

すべての未使用ドライブ領域がゼロで満たされると、ドライブを次のように縮小します

VBoxManage modifyhd <name>.vdi --compact

これにより、VDIファイルのファイルサイズが大幅に減少します。

* Windowsゲストでは、未使用のスペースをユーティリティsdeleteで置き換えることができます。

34
Takkat