Hatena::ブログ(Diary)

kanonjiの日記 RSSフィード

http://kanonji.info/blog/ 2013年2月頃に移転しました。

2010-03-18

VirtualBoxの可変サイズの仮想ストレージを詰めてコンパクトにする

VirtualBoxの仮想ストレージ*1.vdiファイルは、ゲストOS上で読み書きをしていると、次第にホストOSから見て無駄に容量を使います。

イメージとしては、ゲストOSから見てデフラグが発生している分、ホストOSからみて使用している容量の嵩が増える感じです。

手順

※全工程を完了するのに、かなり時間が掛かります。殆どはプログラムの処理完了の待ち時間ですが。

1. ゲストOS上で不要なデータを削除する。
2. ゲストOS上でデフラグをする。

Windows標準のデフラグだと、微妙に空白があいたりするので、Kessel Run Game - Star Wars: Kessel Run Game を使いました。

空白があいてても最適化されてればいいのか、データが詰まってるべきなのか、はっきりした事は分からないけど、たぶん詰まってたほうが良いはず。

jkDefragは名前を変えてMyDefragになっているみたいだけど、MyDefragはインストーラーでインストールするタイプで、面倒なのでやめました。

JkDefrag.exe -a 5

jkDefragをそのまま使っても、今回のデータを詰めるには意味がありません。

この引数を付けて起動すると、Force together モードとなって、データをなるべく近い位置に配置してくれます。

3. ゲストOS上で空き領域をゼロクリアする

SDelete - Windows Sysinternals | Microsoft Docs を使います。

sdelete.exe -c

sdeleteはコマンドラインから使います。

Usage: sdelete [-p passes] [-s] [-q] <file or directory>

sdelete [-p passes] [-z|-c] [drive letter]

  • c Zero free space (good for virtual disk optimization).
  • p passes Specifies number of overwrite passes.
  • s Recurse subdirectories.
  • q Don't print errors (quiet).
  • z Cleanse free space.
http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

sdelete のオプションが! - kazekaoru

sdelete 1.51と1.6の間で、オプションが変わり、-c と -zが入れ替わったみたいです。

-c Cleanse free space.

-z Zero free space (good for virtual disk optimization).

確かにこのほうがしっくりきますね。


一応、sdeleteが何をするかを理解してから使うことをお勧めします。

4. ゲストOSをシャットダウンする。

5. ホストOSでvdiファイルをコンパクトにする。

VBoxManage modifyhd example.vdi --compact

ゲストOSが入ってる仮想HDDファイルに対して、このコマンドを使うと、無駄に使っている分を詰めてくれます。

沢山読み書きするような、インストール作業を何度かした後とかだと、数GBくらいは取り戻せることもありました。

不要なデータをもっとしっかりと削除する

VirtualBox: VDI を圧縮する - no disturbado では、かなり周到に不要なファイルを消してました。

しっかりとやりたい人は参考になるかもしれません。

参考

  1. Kessel Run Game - Star Wars: Kessel Run Game
  2. SDelete - Windows Sysinternals | Microsoft Docs
  3. VirtualBox: VDI を圧縮する - no disturbado

*1:イメージディスク

nn 2014/02/23 17:25 参考になりました。ありがとうございます。ただ、sdelete -c では全然コンパクトにならず、-zでやればコンパクトになったという情報があり、当方の環境でも-zでコンパクトになりました。参考まで

kanonjikanonji 2014/03/17 01:51 コメントどもです。本文にも追記しましたが、どうやらsdelete 1.51から1.6の間で、-c と -z が入れ替わったみたいです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kanonji/20100318/1268904950