QEMU QCOW2 (.qcow2)
QEMU 標準QEMU Copy-On-Write v2 (QCOW2) 是 QEMU 使用的磁碟映像檔格式,也受到部分虛擬化平台支援。它支援快照、基礎映像檔與選用壓縮等功能。
將 QCOW2 轉換為 RAW
免費的瀏覽器端 QCOW2 轉 RAW 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 QCOW2 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 QCOW2 檔案:
十六進位簽章(偏移量 0):
51 46 49 FB 00 00 00 02 / 03ASCII 表示法: QFIû...
標準化: QEMU QCOW2 映像檔格式規格
技術規格
| 容器架構 | 雙層叢集配置表(L1 與 L2 表),支援寫時複製(Copy-on-Write)基礎映像檔、快照與加密 |
| 壓縮 | Zlib Deflate 或 Zstandard (Zstd) 叢集層級壓縮 |
| 位元組序 | 大端序(Big-Endian)標頭與叢集位移 |
| 色彩空間 | 不適用(虛擬機器磁碟) |
| 色版與結構 | 虛擬機器硬碟分割區、檔案系統與時間點快照 |
| 最大尺寸 | 最高 2 PB(支援 64 位元叢集位址) |
| 透明度 | 無 |
| 串流與漸進式 | 高速寫時複製隨機存取區塊對應 |
技術比較矩陣:QCOW2 對比競爭格式
| 技術屬性 | QCOW2 (目前) | RAW | VHD | VMDK |
|---|---|---|---|---|
| 虛擬化生態系統 | KVM / QEMU / Proxmox / OpenStack | 直接實體 / KVM | Microsoft Hyper-V / Azure | VMware ESXi / Workstation |
| 精簡佈建 | 原生隨需叢集配置 | 無(完整配置) | 動態 VHD 配置 | 精簡 VMDK 配置 |
| 基礎映像檔(CoW) | 完整的原生功能 | 無 | 差異磁碟 | 連結複本 |
| 內部壓縮 | 原生 zlib 與 Zstandard (Zstd) | 無 | 無 | 針對串流最佳化的壓縮 |
常見損壞模式與十六進位修復指南
QEMU 錯誤:「qemu-system-x86_64: qcow2: Image is corrupt: cannot find refcount block」。
根本原因: 主機不正常關機中斷了叢集配置參照計數。
修復: 使用「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 負荷略高於原始區塊裝置。
- 在長時間密集隨機寫入循環後,可能發生中繼資料碎片化。
- 需要 qemu-img 或虛擬化工具才能在 Linux 外部檢查或操作。
有趣的技術冷知識
- 前 4 個檔案簽章(magic bytes)為 0x51 0x46 0x49 0xFB,對應到 ASCII 的「QFI」加上位元組 0xFB(「QEMU File Image」的縮寫)。
- QCOW2 由傳奇法國程式設計師 Fabrice Bellard 建立,他也建立了 FFmpeg、QEMU 與 QuickJS。
- QCOW2 受到 QEMU 支援,且可搭配 Proxmox VE 與 OpenStack 等平台使用,但儲存格式取決於組態設定。
常見技術問題
什麼是 QCOW2 檔案?
QCOW2 檔案是 Linux 虛擬化軟體(例如 QEMU 和 KVM)使用的虛擬硬碟映像檔,具備精簡佈建與即時快照功能。
如何將 QCOW2 轉換為 RAW 或 VMDK?
您可以使用 File2File.app 或「qemu-img convert」指令,將 QCOW2 磁碟映像檔轉換為 RAW、VMDK 或 VHD 格式。
什麼是寫時複製(Copy-on-Write)?
寫時複製是指磁碟只儲存對系統所做的變更。原始的基礎映像檔保持不變,允許數百個虛擬機器共用相同的基礎範本。