QEMU QCOW2 (.qcow2)

QEMU 标准

QEMU 写时复制第 2 版(QCOW2)是现代 Linux 虚拟化(KVM、Proxmox、OpenStack、QEMU)的旗舰级虚拟磁盘格式,支持精简配置、内部快照、后备文件和透明压缩。

将 QCOW2 转换为 RAW

免费的浏览器端 QCOW2 转 RAW 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 QCOW2 文件:

选择或将文件拖放到此处

隐私保护 - 文件不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (魔数)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 QCOW2 文件:

十六进制签名 (偏移量 0):

51 46 49 FB 00 00 00 02 / 03

ASCII 表示形式: QFIû...

标准化: QEMU QCOW2 Image Format Specification

技术规格

容器架构两级簇分配表(L1 和 L2 表),支持写时复制后备文件、快照和加密
压缩方式簇级 zlib Deflate 或 Zstandard(Zstd)压缩
字节序标头和簇偏移量均采用大端序
色彩空间不适用(虚拟机磁盘)
通道与结构虚拟机硬盘分区、文件系统和时间点快照
最大尺寸最高可达 2 拍字节(支持 64 位簇地址)
透明度无
流式传输与渐进式加载高速写时复制随机访问块映射

技术对比矩阵:QCOW2 对比同类产品

技术属性QCOW2 (当前)RAWVHDVMDK
虚拟化生态系统KVM / QEMU / Proxmox / OpenStack直接物理 / KVMMicrosoft Hyper-V / AzureVMware ESXi / Workstation
精简配置原生按需集群分配无(完全分配)动态 VHD 分配精简 VMDK 分配
后端文件 (CoW)原生核心功能无差异磁盘链接克隆
内部压缩原生 zlib 和 Zstandard (Zstd)无无针对流优化的压缩

常见损坏模式与十六进制恢复指南

QEMU 错误:"qemu-system-x86_64: qcow2: 镜像已损坏:找不到引用计数块"。

根本原因: 宿主机异常关机,导致簇分配引用计数更新中断。

恢复方法: 使用“qemu-img check -r all broken.qcow2”或 File2File.app 修复簇分配。

安全分析与解析器攻击向量

QCOW2 解析器会处理簇偏移表,其中格式错误的引用可能导致虚拟机管理程序中的宿主机内存损坏。

已知攻击向量

  • 易受攻击的 QEMU 块驱动程序发生簇越界写入,可能导致逃逸出虚拟机管理程序。
  • 后备文件路径引用中的路径遍历漏洞。
  • 通过循环后备文件引用链实施拒绝服务攻击。

防御性最佳实践: 限制后备文件路径,并在非特权用户命名空间中运行虚拟机。

历史渊源与里程碑

2019QEMU 4.0 为 QCOW2 簇引入原生 Zstandard(Zstd)压缩。
2012QCOW2 第 3 版规范新增子簇零标志,并改进元数据缓存。
2006Fabrice Bellard 设计了 QCOW2,以克服原始 QCOW 的性能和快照局限性。

核心优势与特点

  • 精简配置:仅为已写入数据的簇占用物理磁盘空间。
  • 写时复制(CoW)后备文件:可从单个基础模板启动数百台虚拟机,而无需复制存储。
  • 内部快照:在不停止运行中的虚拟机实例的情况下捕获时间点虚拟机状态。

技术局限与劣势

  • 由于需要进行两级集群表查找,I/O 开销略高于原始块设备。
  • 经过长时间、高负载的随机写入后,可能会出现元数据碎片化。
  • 在 Linux 环境之外检查或操作时,需要使用 qemu-img 或虚拟化工具。

趣味技术冷知识

  • 前 4 个魔术字节是 0x51 0x46 0x49 0xFB,转换为 ASCII 码即为后跟 0xFB 字节的"QFI"(意为"QEMU 文件镜像")。
  • QCOW2 由传奇的法国程序员 Fabrice Bellard 创建,他还创建了 FFmpeg、QEMU 和 QuickJS。
  • Proxmox VE 和 OpenStack 将 QCOW2 用作其企业云部署的主要虚拟存储格式。

常见技术问题

什么是 QCOW2 文件?

QCOW2 文件是 Linux 虚拟化软件(如 QEMU 和 KVM)使用的虚拟硬盘映像,具有精简配置和即时快照功能。

如何将 QCOW2 转换为 RAW 或 VMDK?

您可以使用 File2File.app 或“qemu-img convert”命令将 QCOW2 磁盘映像转换为 RAW、VMDK 或 VHD 格式。

什么是写时复制(Copy-on-Write)?

写时复制意味着磁盘仅保存对系统所做的更改。原始基础映像保持不变,从而允许数百个虚拟机共享相同的基本模板。