QEMU QCOW2 (.qcow2)

QEMU 標準

QEMU Copy-On-Write v2(QCOW2)はQEMUで使われ、一部の仮想化プラットフォームも対応するディスクイメージ形式です。スナップショットなどの機能に対応します。

QCOW2 を RAW に変換

無料のブラウザ内 QCOW2 から RAW へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してQCOW2ファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してQCOW2ファイルを識別します:

16進数シグネチャ(オフセット0):

51 46 49 FB 00 00 00 02 / 03

ASCII表現: QFIû...

標準化: QEMU QCOW2イメージ形式仕様

技術仕様

コンテナアーキテクチャCopy-on-Writeのバッキングファイル、スナップショット、暗号化に対応する2階層クラスタ割り当てテーブル(L1およびL2テーブル)
圧縮Zlib DeflateまたはZstandard(Zstd)によるクラスターレベル圧縮
バイトエンディアンヘッダーとクラスターオフセットはビッグエンディアン
色空間該当なし(仮想マシンディスク)
チャンネルと構造仮想マシンのハードドライブパーティション、ファイルシステム、特定時点のスナップショット
最大寸法最大2ペタバイト(64ビットのクラスターアドレスに対応)
透過性なし
ストリーミングとプログレッシブ高速なCopy-on-Writeランダムアクセスブロックマッピング

技術比較表:QCOW2と競合製品

技術属性QCOW2 (現在)RAWVHDVMDK
仮想化エコシステムKVM / QEMU / Proxmox / OpenStack物理ディスクを直接使用 / KVMMicrosoft Hyper-V / AzureVMware ESXi / Workstation
シンプロビジョニングネイティブなオンデマンドクラスター割り当てなし (完全に割り当て済み)動的 VHD 割り当てシン VMDK 割り当て
バッキングファイル (CoW)標準搭載の機能なし差分ディスクリンククローン
内部圧縮ネイティブな zlib および Zstandard (Zstd)なしなしストリーム最適化圧縮

一般的な破損モードと16進数リカバリガイド

QEMU のエラー:「qemu-system-x86_64: qcow2: イメージが破損しています: refcount ブロックが見つかりません」。

根本原因: ホストのクリーンではないシャットダウンにより、クラスター割り当て参照カウントが中断されました。

復旧: 「qemu-img check -r all broken.qcow2」または File2File.app を使用してクラスター割り当てを修復します。

セキュリティ分析とパーサー攻撃ベクトル

QCOW2 パーサーはクラスターオフセットテーブルを評価しますが、不正な参照があるとハイパーバイザーでホストのメモリ破損を引き起こす可能性があります。

既知の攻撃ベクター

  • 脆弱な QEMU ブロックドライバーにおける、境界外クラスター書き込みを介したハイパーバイザーのブレイクアウト。
  • バッキングファイルのパス参照におけるパストラバーサル脆弱性。
  • 循環的なバッキングファイルの参照チェーンを通じたサービス拒否。

防御的ベストプラクティス: バッキングファイルパスを制限し、特権を持たないユーザー名前空間で仮想マシンを実行します。

歴史的背景とマイルストーン

2019QEMU 4.0で、QCOW2クラスター向けのネイティブなZstandard (Zstd) 圧縮が導入されました。
2012QCOW2バージョン3が規定され、サブクラスターのゼロフラグと改善されたメタデータキャッシュが追加されました。
2006Fabrice Bellardが、初代QCOWのパフォーマンスとスナップショットの制限を克服するためにQCOW2を設計しました。

主なメリット

  • シンプロビジョニング:実際に書き込まれたクラスターに対してのみ物理ディスクスペースを消費します。
  • Copy-on-Write(CoW)のバッキングファイルを使うと、複数の仮想マシンがベースイメージを共有し、変更分を個別に保存できます。ストレージ削減量はワークロードや構成によって異なります。
  • 内部スナップショット:実行中の仮想インスタンスを停止することなく、特定の時点の仮想マシンの状態をキャプチャします。

技術的な制限とデメリット

  • 2 レベルのクラスターテーブル検索のため、生ブロックデバイスよりもわずかに高い I/O オーバーヘッド。
  • 長時間にわたる高負荷のランダム書き込みの繰り返しによって生じる可能性があるメタデータの断片化。
  • Linux 以外の環境で検査または操作するには、qemu-img などの仮想化ツールが必要です。

興味深い技術トリビア

  • 最初の 4 つのマジックバイトは 0x51 0x46 0x49 0xFB であり、ASCII の「QFI」の後にバイト 0xFB (「QEMU File Image」の略) が続きます。
  • QCOW2 は、伝説的なフランスのプログラマーである Fabrice Bellard によって作成されました。彼は FFmpeg、QEMU、QuickJS も作成しています。
  • QCOW2はQEMUでサポートされ、Proxmox VEやOpenStackなどのプラットフォームでも使えますが、ストレージ形式は構成によって異なります。

よくある技術的な質問

QCOW2ファイルとは何ですか?

QCOW2ファイルは、QEMUやKVMなどのLinux仮想化ソフトウェアで使用される仮想ハードディスクイメージであり、シンプロビジョニングとインスタントスナップショット機能を備えています。

QCOW2をRAWやVMDKに変換するにはどうすればよいですか?

File2File.appを使用するか、「qemu-img convert」コマンドを使用して、QCOW2ディスクイメージをRAW、VMDK、またはVHD形式に変換できます。

Copy-on-Write(書き込み時コピー)とはどういう意味ですか?

Copy-on-Writeとは、ディスクがシステムに対する変更のみを保存することを意味します。元のベースイメージは変更されないままであるため、何百ものVMが同じベーステンプレートを共有できます。