VMwareからVirtualBoxへの仮想マシンの移行法法

セキュリティ・キャンプ九州、セキュリティ・ミニキャンプ中国(広島)が無事に終わって、皆さん、お疲れ様でした。

今回は、Virtualboxのトラブルに始まって、そのトラブルで終わったという感じなので、後進のためにメモを残しておく。

過去にVMware Playerが無償で便利だったこともあって、多くのかたがVMware形式の仮想マシンをお持ちだと思います。
しかしながら、VMware Playerの非商用利用の厳格化で、コンプライアンス的に個人利用以外の利用を避けた方が良い状況なので、VMware Playerの仮想マシンVirtualBox仮想マシンへの移行の手順をまとめておこうと思います。

単なるコンバートは、VMware Playerのovftoolでovf化すれば良いようです。Macならツールにパスが設定されていますがWindowsはパスが通ってないので、フルパスを書いてコマンド実行する必要があります。コンバートには10数分から数十分かかります。参考にしたサイトは以下です。

[VM] VMWAREのイメージをVIRTUALBOXで読み込むには(OVF経由での読み込み)
http://april.fool.jp/blogs/2013/08/vm-vmware%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92virtualbox%E3%81%A7%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E3%81%AB%E3%81%AF/

  • ovfファイルの正規化

VMwre Playerのovftoolで作成したovfファイルは、VirtualBoxと相性がよくありません。正常に起動すればよいですが、うまくいかないときはどはまりになります。インポートには成功しますが、実際に仮想マシンの起動時にカーネルパニックや、HDDの起動エラーに今回は悩まされました。
VMwre Playerのovftoolで作成したovfファイルは、Virtualboxで正常にインポート後、再度、Virtualboxでエクスポートしてovfファイル化したほうが、Virtualboxのバギーさを吸収してくれるようです。ただ、ovfファイルのインポートには時間が掛かるし、Virutalboxの仮想マシンのvboxファイルをそのまま起動したほうが手間はかからないのですが、このvboxファイルがトラブルの元です。
VMware Playerが仮想マシンの実行がかなりアバウトで、WindowsMac、OSが変わっても、バージョンが変わっても、ちゃんと仮想マシンを起動してくれるていたのですが、Virtualboxはかなりバギーです。VMware PlayerのVMXファイルが、可読性に優れた設定ファイルであったのに対して、VirutalBoxのVBOXファイルはXMLファイルで設定内容がよくわかりません。Dドライブで作った仮想マシンをCドライブの別のマシンで起動しようとするとエラーで上手く動かなくて、VBOXのファイルを手動で書き変えてもうまくいきませんでした。こういう仕様もあるので、WindowsMacが混在するような演習時には、ovf ファイル化でインポートしたほうがトラブルは少ないと思われます。

ovfファイルをつかわずに移行しようとして、VMwareからVirtualBoxへの仮想マシンの移行に失敗することがあります。その場合、仮想HDDを指定すれば、上手く起動できることが有ります。仮想マシンVirtualBox仮想マシンをタイプ(OS)とバージョンを合わせて作って、その際に「仮想ハードドライブを追加しない」設定で作成する必要があります。その後に仮想マシンイメージをHDDコントローラを合わせて、既存の仮想HDDを指定すれば良いようです。参考のURLを貼っておきます。OWASP BWA (The Broken Web Applications) の移行は、この方法でうまく行ったようです。

VirtualBoxVMWare仮想マシンイメージ(.vmdk)をそのまま読み込ませる方法
http://www.lanches.co.jp/blog/2083

  • Virutalboxで同じ仮想マシンをコピーして起動したらUUIDが重複していると言われた場合

Virutalboxで同じ仮想マシンをコピーして起動したらUUIDが重複しているといわて起動できない場合があります。その場合は、下記のURLを参考にUUIDを指定しなおせば仮想マシンのHDDに、UUIDが再度指定されます。しかし、VBOXファイルは、旧UUIDが指定されているので、旧UUIDを新UUIDに置換しても上手く動きませんでした。心機一転、新規仮想マシンを作って「Virutaboxの仮想マシンから直接仮想HDDを指定する場合」の方法を実行してもらえれば上手く起動します。

VirtualBoxVHDをコピーして起動したらエラー!UUID重複を回避する魔法のコマンドとは?
http://jisakupc-technical.info/windows/4513/

皆さんの参考になれば幸いです。