qcow2からVMDKへの変換完全ガイド:qemu-imgの使い方

qcow2形式をVMware用のVMDK形式に変換する完全ガイド

クラウドサービスやLinux環境で使用されているqcow2形式の仮想ディスクイメージを、VMware環境で使用できるVMDK形式に変換する方法を、初心者の方でも確実に実行できるよう詳しく解説します。

背景と準備

なぜ変換が必要か

qcow2(QEMU Copy On Write 2)形式はQEMU/KVM環境で使用される仮想ディスク形式で、多くのLinuxディストリビューションやクラウドサービスで採用されています。一方、VMwareではVMDK(Virtual Machine Disk)形式が標準となっており、qcow2ファイルを直接使用することはできません。

2025年における状況の変化

2021年当時と比較して、以下の点が改善されています:

  • QEMU for Windowsの安定性向上: バージョン10.1.0(2025年8月リリース)により、Windows環境での動作が大幅に安定しました
  • 公式インストーラーの充実: Stefan Weil氏による公式Windows版が定期的に更新されており、インストールが簡単になりました
  • Windows 11対応: Windows 11環境でも問題なく動作することが確認されています

方法1: qemu-imgツールを使用した変換(推奨)

最も信頼性が高く、公式にサポートされている方法です。

ステップ1: QEMU for Windowsのダウンロードとインストール

  1. 公式サイトへアクセス
    • QEMUの最新バージョンは10.1.50(2025年版)です
    • https://qemu.weilnetz.de/w64/ にアクセスします(64ビット版Windows用)
  2. インストーラーのダウンロード
    • ページ内の qemu-w64-setup-20250826.exe (最新版)をクリックしてダウンロード
    • ファイルサイズは約172MBです
    • SHA-512ハッシュ値も提供されているため、ダウンロード後に整合性を確認できます
  3. インストールの実行
    • ダウンロードしたインストーラーを管理者権限で実行します
    • インストール先フォルダを選択(推奨: C:\Program Files\qemu
    • 全てのコンポーネントを選択してインストール

ステップ2: 環境変数PATHの設定(重要)

PowerShellやコマンドプロンプトからqemu-imgを使用できるようにします。

  1. システムのプロパティを開く
    • Windows 11/10: スタートボタンを右クリック → システム → システムの詳細設定
    • または: Windowsキー + Pause → システムの詳細設定
  2. 環境変数の編集
    • 「詳細設定」タブ → 「環境変数」ボタンをクリック
    • 「システム環境変数」の「Path」を選択して「編集」をクリック
  3. QEMUのパスを追加
    • 「新規」ボタンをクリック
    • C:\Program Files\qemu と入力(インストール先に合わせて変更)
    • 「OK」を3回クリックして設定を保存
  4. 設定の確認
    • 新しいPowerShellまたはコマンドプロンプトを開く
    • qemu-img --version と入力して、バージョン情報が表示されることを確認

ステップ3: 変換の実行

変換元ファイルの準備

  • qcow2ファイルを作業しやすい場所に配置(例: C:\VMs\
  • ファイルパスにスペースが含まれていないことを確認

PowerShellで作業フォルダに移動

cd C:\VMs

変換コマンドの実行基本的な変換(推奨):

qemu-img convert -f qcow2 -O vmdk centos.qcow2 centos.vmdk

VMware ESXi用の最適化変換:

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=monolithicSparse centos.qcow2 centos.vmdk

進捗表示付きの変換(大きなファイルの場合):

qemu-img convert -f qcow2 -O vmdk -p centos.qcow2 centos.vmdk

ステップ4: 変換結果の確認

変換が完了したら、以下のコマンドで詳細情報を確認できます:

qemu-img info centos.vmdk

出力例:

image: centos.vmdk
file format: vmdk
virtual size: 20 GiB (21474836480 bytes)
disk size: 1.5 GiB

方法2: StarWind V2V Converterを使用(GUI操作希望者向け)

コマンドライン操作が苦手な方には、GUIツールの使用をお勧めします。

手順

  1. StarWind V2V Converterのダウンロード
  2. インストールと起動
    • インストーラーを実行し、指示に従ってインストール
    • スタートメニューから「StarWind V2V Converter」を起動
  3. 変換の実行
    • Source: Local file → qcow2ファイルを選択
    • Destination: Local file → VMDK形式を選択
    • VMware WorkstationまたはESXi用の設定を選択
    • 「Convert」ボタンをクリックして変換開始

トラブルシューティング

よくある問題と解決方法

1. PowerShellでqemu-imgが認識されない場合

元の記事にあった問題です。以下の対処法があります:

  • 一時的な解決: コマンドの前に.\を付ける
    .\qemu-img convert -f qcow2 -O vmdk centos.qcow2 centos.vmdk
  • 恒久的な解決: 環境変数PATHを正しく設定し、PowerShellを再起動

2. 変換後のVMDKがVMwareで認識されない

ESXi 6.0以降では、adapter_typeとsubformatの指定が必要な場合があります:

qemu-img convert -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 source.qcow2 destination.vmdk

3. ディスクサイズが大きくなりすぎる

圧縮オプション(-c)を使用することで、ゼロ領域を効率的に圧縮できます:

qemu-img convert -f qcow2 -O vmdk -c -p source.qcow2 destination.vmdk

VMwareでの使用

VMware Workstationの場合

  1. VMware Workstationを起動
  2. 「新規仮想マシンの作成」を選択
  3. カスタム(詳細)を選択
  4. 「既存の仮想ディスクを使用」を選択
  5. 変換したVMDKファイルを指定

VMware ESXiの場合

  1. vSphere ClientまたはWeb Clientでデータストアブラウザを開く
  2. VMDKファイルをアップロード
  3. 新規仮想マシン作成時に「既存のディスクを使用」を選択

パフォーマンス最適化のヒント

変換時の最適化オプション

thin provisioning(推奨):

qemu-img convert -f qcow2 -O vmdk -o subformat=twoGbMaxExtentSparse source.qcow2 destination.vmdk

固定サイズディスク(パフォーマンス重視):

qemu-img convert -f qcow2 -O vmdk -o subformat=monolithicFlat source.qcow2 destination.vmdk

変換前の準備

  1. ディスクの最適化
    • Linux仮想マシン内でfstrim -avコマンドを実行して未使用領域を解放
    • Windowsの場合はディスクのデフラグを実行
  2. スナップショットの統合
    • qcow2ファイルにスナップショットが含まれている場合は、事前に統合

その他の変換方法

VirtualBox経由での変換

VirtualBoxをインストールしている場合:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" convertfromraw source.qcow2 destination.vmdk --format VMDK

オンライン変換サービス

セキュリティ上の理由から推奨しませんが、小さなテストファイルの場合は各種オンライン変換サービスも利用可能です。

まとめ

qcow2からVMDKへの変換は、適切なツールを使用すれば簡単に実行できます。2025年現在、qemu-imgツールは最も信頼性が高く、複数のフォーマット(qcow2、qed、raw、vdi、vhd、vmdk)間の変換をサポートしています。

重要なポイント:

  • 最新版のQEMU for Windowsを使用する
  • 環境変数PATHを正しく設定する
  • VMwareの種類(Workstation/ESXi)に応じて適切なオプションを選択する
  • 大きなファイルの場合は進捗表示(-p)オプションを使用する

変換作業を行う前には、必ず元のqcow2ファイルのバックアップを取っておくことをお勧めします。

以下の記事は2021年掲載のものですが進化の状況を把握するため残してあります。

先日、LinuxのISOを探してダウンロードしましたが、拡張子が違っていました。クラウドサービスなどで使用するイメージだったのでこれをVMwareで使用できるようにしたいと思います。
まずは、下記のサイトで変換ツールをダウンロードします。
https://cloudbase.it/qemu-img-windows/
ダウンロードしたファイルを解凍すると、「qemu-img.exe」があります。このツールを使用して変換をします。
PowerShellを起動して、サイトに記載してある変換コマンドを参考にして、ファイルを変換します。
まずはツールのあるフォルダに移動して下記のコマンドを入力します。

qemu-img.exe convert centos.qcow2 -O vmdk test.vmdk

エラーが発生しました。

qemu-img.exe : 用語 ‘qemu-img.exe’ は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前とし
て認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、
再試行してください。
発生場所 行:1 文字:1

  • qemu-img.exe convert centos.qcow2 -O vmdk test.vmdk
  • ~~~~
    • CategoryInfo : ObjectNotFound: (qemu-img.exe:String) [], CommandNotFoundException
    • FullyQualifiedErrorId : CommandNotFoundException

Suggestion [3,General]: コマンド qemu-img.exe は見つかりませんでしたが、現在の場所に存在します。Windows PowerShell は、 既定では、現在の場所からコマンドを読み込みません。このコマンドを信頼する場合は、”.\qemu-img.exe” と入力してください。詳 細については、”get-help about_Command_Precedence” と入力してヘルプを参照してください。

エラー内容を参考にして、コマンドを修正します。

.\qemu-img.exe convert centos.qcow2 -O vmdk test.vmdk

変換したファイルは実際にVMwareで使用することができました。

タイトルとURLをコピーしました