これまでのVirtualBox関連記事では脇道にそれるので省略したけど、仮想マシンのディスク(VDI形式)に関する豆知識2つ。一つ目は、ディスク追加時に ↓ こんなエラーが出るUUID問題への対処法。


VirtualBoxGUIで、既存の仮想マシンのディスクだけコピーして別のマシンに使ったり、
OS Boxesなどで配布されている仮想マシンのイメージファイルから複数の仮想マシンを作ろうとしたら、上のようなエラーが出てびっくり。何かやらかしたかと。でも下記の情報を見てあっさり解決しました。m(_)m

»VirtualBoxで仮想diskUUIDを変更する

ここに書いてある通り、コンソールで次のようなコマンドを実行するだけ。一瞬でUUID changed to...と出て終わります。なおPortable VirtualBoxでは、その起動中に限ってコマンド実行できる模様。UUIDを管理するサーバか何かが存在するのかも。
[...\]VBoxManage.exe internalcommands sethduuid [VDI File]


NHCで仮想マシンディスクのファイルサイズを縮小(トリム)
VirtualBoxに限らず仮想環境を使っていると、仮想マシンが実際使っている容量に関わらずディスクが肥大化してうっとうしい。その使ってない領域を消してファイルサイズを縮小する(トリムする)時、下記のNHCというフリーソフトウェアが便利。VDI形式だけでなく様々な仮想環境のディスク形式に対応してます。

»(公式サイト)NHC :仮想マシンハードディスクイメージ変換(convert)ツール
»(分かりやすい解説)仮想ハードディスク(vdi/vmdk/vhd)を変換する「NHC」

NHCはトリム専用でなく、様々な仮想環境のディスクを相互変換できるツールで、機能の一つにトリムが含まれてます。各種OSに対応していて、現時点でのWindows 32bit用の最新はVer.0 alpha44d(2015/05/10)。上の公式サイトからNHC0A44D.LZHをダウンロードし、中に実行ファイルNHC.EXE一つだけあるので、適当な所に解凍してすぐ使用可能(インストール不要、ポータブル)。

公式サイトのトリムの項に「この処理を行う前にゲストOS上で0埋めしたりする作業は必要ありません」とある通り、別途必要な作業がないのも嬉しいです。起動して「変換元ファイル」を指定し、「このファイルをトリムするだけ」にチェックして次へ進む。↓


↓ 確認ダイアログ。「トリム前のファイルは_DELという文字列を付加されて残ります」。実行中に万一のことがあっても元ファイルが残るので安心。


↓ 完了時の画面。これで終了するなら「キャンセル」。「次へ」を押すと起動直後の画面に戻ります。


昨日、最後の方でCentOS 7yum updateを行い、案の上VDIディスクが肥大化しましたが、NHCでトリムしたら約300MBも減りました。