QEMU QCOW2 (.qcow2)
QEMU 標準QEMU Copy-On-Write v2(QCOW2)はQEMUで使われ、一部の仮想化プラットフォームも対応するディスクイメージ形式です。スナップショットなどの機能に対応します。
QCOW2 を RAW に変換
無料のブラウザ内 QCOW2 から RAW へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してQCOW2ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してQCOW2ファイルを識別します:
16進数シグネチャ(オフセット0):
51 46 49 FB 00 00 00 02 / 03ASCII表現: QFIû...
標準化: QEMU QCOW2イメージ形式仕様
技術仕様
| コンテナアーキテクチャ | Copy-on-Writeのバッキングファイル、スナップショット、暗号化に対応する2階層クラスタ割り当てテーブル(L1およびL2テーブル) |
| 圧縮 | Zlib DeflateまたはZstandard(Zstd)によるクラスターレベル圧縮 |
| バイトエンディアン | ヘッダーとクラスターオフセットはビッグエンディアン |
| 色空間 | 該当なし(仮想マシンディスク) |
| チャンネルと構造 | 仮想マシンのハードドライブパーティション、ファイルシステム、特定時点のスナップショット |
| 最大寸法 | 最大2ペタバイト(64ビットのクラスターアドレスに対応) |
| 透過性 | なし |
| ストリーミングとプログレッシブ | 高速なCopy-on-Writeランダムアクセスブロックマッピング |
技術比較表:QCOW2と競合製品
| 技術属性 | QCOW2 (現在) | RAW | VHD | VMDK |
|---|---|---|---|---|
| 仮想化エコシステム | KVM / QEMU / Proxmox / OpenStack | 物理ディスクを直接使用 / KVM | Microsoft Hyper-V / Azure | VMware 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 ブロックドライバーにおける、境界外クラスター書き込みを介したハイパーバイザーのブレイクアウト。
- バッキングファイルのパス参照におけるパストラバーサル脆弱性。
- 循環的なバッキングファイルの参照チェーンを通じたサービス拒否。
防御的ベストプラクティス: バッキングファイルパスを制限し、特権を持たないユーザー名前空間で仮想マシンを実行します。
歴史的背景とマイルストーン
主なメリット
- シンプロビジョニング:実際に書き込まれたクラスターに対してのみ物理ディスクスペースを消費します。
- 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が同じベーステンプレートを共有できます。