Home » Program » VirtualBox 仮想ディスク サイズ圧縮・縮小 (Tag: )

自宅や出張時に使用しているノート PC (hp dv5 has broken again) はホスト OS を Windows 7, ゲスト OS に FreeBSD をインストールしています。

今回 Windows 7 は 32bit -> 64bit に入れ替えたついでに、FreeBSD 9.1-RELEASE (amd64) を新規インストールしました。

FreeBSD は大半を ports により構築しますが、完了直後は仮想ディスク (可変サイズ) は 10GB を超えていました。

ディスクサイズ 圧縮前

ディスクサイズ 圧縮前

portsclean -C や構築時に仮設置したファイルを削除した時点で、

Filesystem  1K-blocks    Used    Avail Capacity  Mounted on
/dev/ada0p2  58905148 5159152 49033588    10%    /
devfs               1       1        0   100%    /dev

ゲスト OS 側は 5GB 程度に収まっても、仮想ディスクのサイズは変わりません。

一度広げた領域は未使用分の領域も確保されたままとなり、ゲスト OS の使用サイズとは必ずしも一致しません。ファイルの参照情報のみ削除されて実体は残っているためです。

空き領域の 0 (ゼロ) 書き込み

FreeBSD (や Linux) がゲスト OS の場合は、dd コマンドによる 0 (ゼロ) 書き込みで空き領域を埋めます。

# dd if=/dev/zero of=zero bs=4k; \rm zero

/: write failed, filesystem is full
dd: zero: No space left on device
13414185+0 records in
13414184+0 records out
54944497664 bytes transferred in 1308.556569 secs (41988630 bytes/sec)

試してはいませんが、Windows がゲスト OS の場合は SDelete をダウンロードし、sdelete -z C: 等で同等の様です。

対象仮想ディスク 特定

UUID または Location を取得します。

VBoxManage list hdds

VBoxManage list hdds

–compact による仮想ディスク圧縮

UUID はタイプが手間なので、補完も効くファイルのパスで指定しましたが、

VBoxManage modifyhd [file] --compact (NG)

VBoxManage modifyhd [file] --compact (NG)

ゲスト OS が稼働している場合はエラーとなり、進みません。ゲスト OS をシャットダウンして再度実行すると

VBoxManage modifyhd [file] --compact (OK)

VBoxManage modifyhd [file] --compact (OK)

3, 4 分程度掛かりましたが、無事に成功しました。再度エクスプローラ側の表示を確認すると、

ディスクサイズ 圧縮後

ディスクサイズ 圧縮後

6GB を超えていますが、10GB からは明らかに縮小しました。ゲスト OS をエクスポートして保存する直前にも実行すると時間が短縮出来るでしょう。

Random Select

FreeBSD 9.1-RELEASE 1280x960
自宅や出張時に使用しているノート PC (hp dv5 has broken again) はホスト OS を Windows 7, ゲスト OS に FreeBSD をインストールしています。今回改
iPhone 6 Plus (Gold)
iPhone 6 Plus (開封) の続きです。スマートフォン利用の最大の目的は、PC を持たずに障害対応の初動調査をする点です。そのため、iPhone 6 Plus (機種変更) で渡された iP
FreeBSD Logo
現在メインで使用している FreeBSD は 32bit 版 (i386) ですが、64bit 版 (amd64) も一部使用しています。データ移行の際、全断が可能であれば MySQL や Postg
青い空と海のビール (1)
夏季限定醸造生ビール 夏いちばん や アサヒオリオン 沖縄だより を試していた頃、コンビニエンスストアで 青い空と海のビール « ヘリオス酒造株式会社 を見かける様になりました。Weize
Drive Network Core (WS-C3750E-48TD-E)
202.152.208.0/20 で割り当てられている PI アドレスの経路広報を、/23 または /24 毎に異なるデータセンターに切替えていく作業を継続していました。/23 または /24 毎に
41B0208 (1)
Drive Network Rack Gallery 2012 (Part 3) から約 6 ヶ月程経過しましたが、12 月は大きな変更がありました。共有サーバ ビジネスセレクトでは、お客様のデータ領
radserv X
radserv X (FreeBSD 9.1-RELEASE, Root mount waiting) の続きです。FreeBSD 9.1-RELEASE の radserv X へのインストールは
iPhone 6 + iPhone 6 Plus
ARROWS X F-10D を使い続けて 2 年。使い始めから電池の持ちが悪かったのですが、iPhone 6 Plus が発売開始となり、ついに機種変更に踏み切りました。Apple Store Gi
ホットスナック, 枝豆, からっキュウ
私の自宅付近には徒歩 5 分圏内にセブンイレブンが 5 つもあります。ドミナント方式という呼び名もあり、単に集中してしまった訳ではなく意図しているそうです。出店の考え方 | セブン-イレブン?近くて便
FreeBSD Logo
ファイルシステムのチェックツールというよりは、特定のファイルやディレクトリの検知や、不足している場合の自動修正を目的としたスクリプトです。プログラムが残す一時ファイルの検知。一定時間経過している場合の
Valid HTML5 Valid CSS3 Another HTML Lint