Virtualboxのイメージをスナップショット含めてコピーしてみる

Virtualboxのイメージの本体はvdi形式で任意のディレクトリに保存される。
通常このイメージを別PCで使うためには

$ VBoxManage clonevdi source_file new_file
を使い、UUIDを別のものにすると可能とのこと。

この方法は以下が詳しい。
http://sukumiu.blog99.fc2.com/blog-entry-522.html#

一方で、スナップショットについては、どうもコピーが難しいと言われているが、これは非常に困る。
というわけで色々調べてみたところ、とりあえず出来たので備忘録。

=======
ホスト環境:Vista⇒XP
ゲスト環境:Fedora9
VirtualBox Ver:3.1.0
きっかけ:外付けHDDに入れたVirtualboxイメージを、普段は高速なデスクトップ(死語)で作業を行い、外出時等はノートPCで作業を行う。
このとき、外付けHDDだからスナップ含めて移動できるのでは?と思っていたのに出来なかったのがきっかけ。

作業内容:
移動元のマイドキュメント以下に「.VirtualBox」というフォルダがあり、その中の
「Machine」に色々ファイルがある。
これがスナップショットのファイル。
これが移動先で読んでいないので、移動元、移動先で乖離が発生していた。

そこで、移動元「.VirtualBox」を丸ごと外付けHDDにコピーし、
移動先のPCのマイドキュメント以下の「.VirtualBox」に上書きする。
(*単純に変更すると、今度は移動先に構築したスナップショットは消える。
.VirtualBoxをbk_.VirtualBoxなどに変更しておけばとりあえず保存できる。
.xxファイルは末尾に追加のファイル名変更が出来なかった。)

合わせて、「.VirtualBox/BirtualBox.xml」に修正を加える。
xmlファイル中では、スナップショットが以下のように定義されている。

ここの"location="以下を移動先のユーザ名のディレクトリに書き換える。エディッタの置換を使えばOK。

VirtualBoxを起動すると、移動元スナップショットが反映されている。


*味噌は、移動元も移動先も同じイメージを使っていたので(通常同一UUIDは同じPC上だと許さないが、別PCだと通る)、xmlのファイル修正だけで済んだ。
加えて、スナップのUUIDも、同じPCで同じIDは許さないが、別PCだったのでパスを変更するだけで済んだ。
ということだろうと思う。

*試してみたいが、おそらくは「.VirtualBox」を外付けHDDにおければもっと楽だろう。たぶん環境変数に足せばよい??


*まだ読んでないけど、スナップの移動が書いてあるらしい。
http://forums.virtualbox.org/viewtopic.php?t=659