VMDKをVHDに変換
VMware 仮想ディスクファイルを仮想ハードディスクフォーマットに変換することで、VMware Workstation で作成した仮想マシンを Microsoft Hyper-V または Windows 仮想 PC 環境内で直接実行できるようになります。
フォーマットの比較と技術仕様
| 仕様 | VMDK | VHD |
|---|---|---|
| MIMEタイプ | application/ | application/ |
| タイプ | 仮想ディスクコンテナ | 仮想ハードディスク |
| 圧縮 | スパース / 動的割り当て(zlibはオプション) | 固定 / 動的スパースジオメトリ |
| 標準仕様 | VMware 仮想ディスク形式 5.0 | Microsoft VHD イメージ形式仕様書 |
| マジックバイトヘッダー | 4B 44 4D 56 (KDMV) | 63 6F 6E 65 63 74 69 78 (conectix at footer) |
フォーマットの概要と用途
システム管理者や IT テクニシャンは、異なるハイパーバイザープラットフォーム間で仮想マシンを頻繁に移動させます。たとえば、VMware 環境内で構築およびテストされた仮想サーバーを、Microsoft Azure クラウドインスタンスや、Hyper-V を実行しているオンプレミスの Windows Server にデプロイする必要が生じることがあります。Hyper-V はネイティブに Microsoft ディスクコンテナを要求するため、VMware ストレージファイルを Microsoft フォーマットに変換する必要があります。 この移行を実行するには、Microsoft Virtual Machine Converter、StarWind V2V Converter、または QEMU-img などのコマンドラインユーティリティといった専用のディスク変換ツールが必要です。これらのツールは、ソースのストレージブロックを読み取り、ファイル割り当てテーブルを解釈し、Microsoft ハイパーバイザーがエラーなしでマウントおよび起動できる新しいコンテナを出力します。
技術仕様とコーデックの詳細
MIME タイプ application/x-vmdk の VMware 仮想ディスクは、フラット構造か、ディスク容量を節約するためのオプションの zlib 圧縮を組み込めるスパース動的割り当て方式のいずれかを使用します。単一のスパース VMDK ファイルは、多くの場合、ヘッダーがマジックバイト列 'KDMV' で始まります。対照的に、MIME タイプ application/x-vhd の仮想ハードディスクは、固定または動的なスパースジオメトリ構造でデータを整理します。VHD 形式は、「conectix」というクッキー文字列、作成アプリケーションのバージョン、正確なディスクジオメトリデータを含む、特徴的な 512 バイトのフッターを使用します。変換中、ツールはソースのエクステントマップを解析し、スパースブロックをデコードして、セクターを Microsoft のフッターおよび動的割り当てブロック割り当てテーブルのレイアウトに再編成します。
OSとブラウザの互換性
VMware 仮想ディスクファイルは、Windows および Linux ホストオペレーティングシステム上の VMware ESXi、Workstation、および Fusion によってネイティブにサポートされています。仮想ハードディスクファイルは、Microsoft Hyper-V、Windows Virtual PC、および Azure によってネイティブにサポートされています。どちらのフォーマットも、Android や iOS などの最新のモバイルオペレーティングシステムではネイティブにサポートされておらず、標準の Web ブラウザもバックエンドの仮想化サービスなしではこれらのディスクイメージコンテナの直接レンダリングやマウントをサポートしていません。
役立つ情報
大容量のディスクイメージを変換する場合、固定サイズのターゲットではなく、動的に拡張する VHD ターゲットを選択するとホストドライブの物理ストレージスペースを節約できますが、固定サイズのターゲットはシーケンシャルな読み取りおよび書き込みパフォーマンスがわずかに優れています。
よくある質問
品質を落とさずに VMware 仮想ディスクを仮想ハードディスクに変換するにはどうすればよいですか?
ディスクイメージの変換は厳密にロスレスです。仮想ディスクには正確なセクタ単位のデータブロックとファイルシステムが保存されているため、コンテナ構造を VMDK から VHD に変換しても、メタデータとデータブロックのインデックス付け方法が再編成されるだけです。実際のファイルデータやオペレーティングシステムのセクタが圧縮されたり、変換プロセス中に変更されたりすることはありません。
VMware 仮想ディスクと仮想ハードディスクの違いは何ですか?
VMDK は、分割ファイル、モノリシックフラット構造、およびテキストベースの記述子ファイルによって追跡される圧縮スパースエクステントをサポートする VMware によって作成された独自のコンテナです。VHD は、動的な成長を管理するためにディスクジオメトリとブロック割り当てテーブルを含む構造化されたフッターを使用する古い Microsoft 仕様ですが、主に近代的な VHDX フォーマットに取って代わられています。