VirtualBoxのVDIをVMwareのVMDKに変換する3つの方法【VBoxManage・QEMU対応】
VirtualBoxとVMware製品の両方を使っている仮想化ユーザーなら、仮想ディスクの形式変換はぜひ覚えておきたいテクニックです。変換が必要になる理由はさまざまで、ライセンスやマシンの状態を維持したい場合、互換性テストのために別のソフトウェアで動作させたい場合など、仮想化愛好家ならではのニーズが挙げられます。
本記事では、VirtualBoxが使用する「.vdi」形式からVMwareが使用する「.vmdk」形式へ(そしてその逆方向へ)、仮想ハードディスクを変換する確実な2つの方法と、状況次第で使える可能性のある第3の方法を紹介します。さらに、VHDやRAWなど、その他のフォーマットへの変換方法も解説します。
使用するツールは、コマンドラインユーティリティの「VBoxManage」と「QEMU」、そして以前にも取り上げた「VMware Converter」です。これらを組み合わせれば、仮想環境の柔軟性とポータビリティは格段に向上するでしょう。
変換方法1:VBoxManageを使う
VBoxManageは、VirtualBoxのディスクをクローンする際にも使用したコマンドラインツールです。基本的な使い方は同じで、出力先のディスクフォーマットを指定する点だけが異なります。
具体的なコマンドは以下の通りです。
VBoxManage clonehd source.vdi target.vmdk --format VMDK
「source」が元となるVirtualBoxのディスク、「target」が変換後のVMware用ディスク、「--format VMDK」が出力フォーマットの指定です。もちろん逆方向、つまりVMDKをソースとしてVDIに出力することも可能です。その際は、目的のフォーマットを正しく指定するよう注意してください。「clonehd」コマンドはVMDK以外のフォーマットにも対応しています。
実行例:

なお、仮想マシンを外付けディスクに保存すると、大量のI/Oによるパフォーマンス低下を抑えられます。仮想マシンの最適化については、仮想化Tipsガイドで詳しく解説しています。
あとは処理が完了するのを待つだけです。


変換が正常に完了したら、VMware製品側で新しい仮想マシンを作成し、変換済みディスクをストレージとして割り当てます。
変換後の柔軟性は意外と高い
実際のところ、変換後の環境にはかなり融通が利きます。筆者は、クアッドコアIntelプロセッサ搭載の別マシンにインストールされていたVirtualBoxの仮想マシンを変換し、一世代前のデュアルコアIntelプロセッサを搭載したマシン上のVMwareで展開してみました。ゲストOSにはVirtualBox Guest Additionsがインストールされた状態でした。
さらに、VMware側ではPAE拡張を有効化(VirtualBoxでは無効化)、ディスクコントローラーもIDEからSCSIへ変更しましたが、起動時に新しいハードウェアドライバーのインストールを求められた程度で、ほぼ問題なく動作しました。つまり、変換には大きな許容範囲があり、柔軟に対応できるということです。
検証に使用した環境
ソース側ホストは、i5プロセッサを搭載したHP Pavilion dv6-2130ejノートPC(Ubuntu 10.04)。ターゲット側ホストは、やや古いものの依然高性能なCore 2 Duo P7450搭載のLG RD510ノートPCで、こちらもUbuntu 10.04にVirtualBoxとVMware Workstationの両方を導入した環境です。
余談ですが、VMware WorkstationはUbuntu 10.04(Lucid Lynx)に驚くほどスムーズにインストールできました。openSUSE 11.2へのインストールよりも快適で、UbuntuにおけるVMware Serverの複雑で難解なセットアップと比べると、隔世の感があります。

Workstation(および他のVMware製品)では、仮想マシンを最新バージョンのVMware形式へ変換するよう求められることがあります。承認しても構いませんが、旧バージョンの製品で使い続ける予定があるなら、変換は避けた方が無難です。

それでは結果を見てみましょう。

シリアル番号が元のまま引き継がれている点に注目してください。また、変換後の仮想マシンでもPAE機能が有効になっていることも確認できます。

注意:仮想マシンでWindowsを稼働させている場合、複数のOSインスタンスを並行して実行するために十分なライセンス数を保有していることを確認してください。短時間のテストであれば問題ないかもしれませんが、原則として仮想マシンごとに個別のライセンスが必要です。また、移行後にプロダクトの再認証(リアクティベーション)を求められる場合もあります。
逆方向(VMDK→VDI)への変換
逆方向への変換も非常に簡単です。以下のコマンドを実行するだけです。
VBoxManage clonehd source.vmdk target.vdi --format VDI
以上で完了です。
変換方法2:QEMUを使う
QEMUも仮想化分野でおなじみのツールです。過去には、VMDKディスクをRAW形式に変換してAmazon EC2で使えるようにする際にも活躍しました。ここでの考え方はまったく同じで、双方向の変換に対応しています。
VDIからVMDKへの変換
コマンド1つで完結する、非常にシンプルな操作です。
qemu-img convert something.vdi -O vmdk something.vmdk
VMDKからVDIへの変換
この方向には2通りの方法があります。ワンステップで処理できる「qemu-img-vdi」ツールを使うか、定番の「qemu-img」を使ってRAW形式を経由する方法です。
方法A:qemu-img-vdiを使う
他の変換と同様、シンプルなコマンドで実行できます。
qemu-img-vdi convert something.vmdk -O vdi something.vdi
方法B:qemu-img + VBoxManageを使う(2段階)
qemu-imgを使う場合は2段階の手順になります。まずRAW形式に変換し、その後VBoxManageでVDIへ変換します。なお、古いバージョンのVirtualBoxでは「vditool」というツールが使われていたため、オンラインの資料ではこのユーティリティ名を目にすることもあるでしょう。
ステップ1:VMDKをRAWに変換(拡張子は必須ではありません)
qemu-img convert something.vmdk something.raw
ステップ2:RAWをVDIに変換
VBoxManage convertdd something.raw something.vdi
注意:スパースディスク(可変サイズディスク)を使用している場合、RAWファイルは最大容量まで膨張します。たとえば使用量が2.4GBしかない20GBのディスクでも、RAW変換後はハードディスク上に20GBぶんの実データとして書き込まれる点に留意してください。
変換方法3(おまけ):VMware Converterを使う
筆者の知る限り、そして過去にも述べた通り、VMware ConverterはVirtualBoxを公式にはサポートしていないようです。そのため、この方法が機能するかどうかは保証できません。
ただし、回避策として次のような方法が考えられます。まずVirtualBoxの仮想マシンをアプライアンス(OVF)としてエクスポートします。このとき、.ovf形式のファイル群とともに、すぐに使えるVMDKディスクも出力されます。その後、VMware Converterでそのアプライアンスを変換するのです。成功を保証するものではありませんが、フォーラムでは成功したという報告もいくつか見かけたため、実際に可能なのかもしれません。
筆者自身はまだ成功させていないため、あくまで参考程度にとどめてください。


もうひとつの選択肢として、まず他のツールでVMDKへ変換しておき、その後VMware ConverterでESXi向けディスクなどへの追加変換を行う方法もあります。Converterを直接使えないケースでも、この流れなら後からその恩恵を受けられます。
変換時の一般的な注意点
ディスク変換にはある程度の柔軟性がありますが、VMwareとVirtualBoxでは仕様や対応範囲が微妙に異なることを考慮しましょう。マルチプロセッサやビデオアクセラレーションなどの特殊な機能を有効にしている場合、変換が失敗することがあります。
変換がうまくいかない場合は、以下の対処を試みてください。
- ディスクが複数のファイルに分割されている場合は、1つのファイルに結合する
- ビデオアクセラレーションなどの特殊機能を無効化する
- スナップショットを削除する
- VMware Tools / Guest Additionsをアンインストールする
- 移行元と移行先で仮想マシンの設定をできる限り揃える
これらの対処は、LinuxよりもWindows環境で特に重要になります。繰り返しになりますが、商用ソフトウェアを使用している場合はライセンス面の問題が発生する可能性があるため、仮想マシンの移行によってライセンスが無効にならないよう十分注意してください。
関連記事
仮想化に関するチュートリアル、ガイド、ヒント集は以下の関連記事も併せてご覧ください。
- VirtualBox 3 概要レビュー
- VirtualBox 3 でCompiz Fusionを使う方法
- VirtualBox 3 でDirectXを有効にする方法
- VirtualBoxのシームレスモード活用術
- VirtualBoxのデスクトップショートカット作成方法
- Portable VirtualBoxの使い方
- VirtualBoxに新しいハードディスクを追加する方法
- VirtualBoxでディスクをクローンする方法
- VirtualBoxでディスクを縮小・拡張する方法
- VirtualBox Guest Additionsのインストール方法
- VirtualBoxのネットワークと共有設定ガイド
- 新版VirtualBoxでCD-ROMから起動する方法
- VirtualBoxでUSBサポートを有効にする方法
まとめ
以上、仮想ディスク変換の完全ガイドでした。今回学んだテクニックを身につければ、仮想化製品間を自由に行き来できるようになり、作業の自由度と柔軟性が大きく広がります。仮想マシンを製品間で相互に変換し、必要に応じてマシン間で移行できるのは大きなメリットです。
実証済みの方法が2つ、さらにおまけの第3の方法まであり、しかもVDIとVMDK以外のフォーマット(VHD、RAWなど)にも応用可能です。ぜひ活用してみてください。
※冒頭の画像はWikipediaより引用(パブリックドメイン)。
-
VMDK仮想ハードディスクをAmazon EC2のAMI形式に変換する方法【QEMUとAMIツール活用ガイド】
まずは、Amazon Elastic Compute Cloud(EC2)について簡単にご紹介しましょう。Amazon EC2は、世界中のユーザーに対して即座に拡張・縮小できるコンピューティング能力を提供するために設計されたWebサービスです。Amazonの大規模データセンター内に構築された巨大な仮想化グリッドであり、必要な人に必要な分だけCPUパワーとディスク容量をオンデマンドで提供します。ユーザーがやるべきことは支払いだけ。しかも、そのコストは決して高くありません。 Amazonは非常に手頃な価格でこのサービスを提供しており、自前でインフラを購入・維持するコストと比較しても十分に割に合いま
-
VMware Serverで仮想マシンのクローンを作成する方法
はじめに仮想化がお好きな方なら、遅かれ早かれ「VMware Server」に行き当たることでしょう。VMware Serverは無料で利用できるソリューションで、既存のデスクトップ環境上に複数のOSインスタンスを実行できます。効率性、生産性、モジュール性、テスト、チューニングなど、さまざまな可能性が広がります。仮想化を使えば、実機ではなかなか試せないことも気軽に行えます。例えば、パーティションを壊す心配をせずにWindowsとLinuxのデュアルブート構成をテストしたり、実際の環境を汚さずに新しいソフトウェアを試したりすることが可能です。仮想化について仮想化についてさらに詳しく知りたい方は、当