虛擬硬碟 (.vhd)

Microsoft 標準

Virtual Hard Disk (VHD) 是微軟的虛擬磁碟格式,隨 Virtual PC 推出,並被某些虛擬化工具用於儲存虛擬磁碟機。

將 VMDK 轉換為 VHD

免費的瀏覽器端 VMDK 轉 VHD 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 VHD 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 VHD 檔案:

十六進位簽章(偏移量 0):

63 6F 6E 65 63 74 69 78

ASCII 表示法: conectix

標準化: Microsoft Virtual Hard Disk Image Format Specification

技術規格

容器架構位於檔案結尾(動態與差異磁碟則在開頭複製一份)包含「conectix」Cookie 的 512 位元組頁尾
壓縮未壓縮;動態磁碟採用稀疏配置
位元組序大端序(Big-Endian)頁尾與區塊配置表(BAT)
色彩空間不適用(虛擬硬碟)
色版與結構完整的虛擬硬碟:MBR/GPT 分割表、NTFS/FAT 檔案系統與磁區區塊
最大尺寸2 TiB(十進位約 2.2 TB),受 VHD 格式中的 32 位元磁區數限制
透明度無
串流與漸進式直接磁區對應,用於即時作業系統虛擬化

技術比較矩陣:VHD 對比競爭格式

技術屬性VHD (目前)VHDXVMDKQCOW2
最大容量2 TiB(十進位約 2.2 TB)64 TB62 TB2 PB
原生 Windows 掛載100% 原生(磁碟管理)100% 原生(磁碟管理)需要 VMware 或驅動程式需要第三方工具
檔案簽章(magic bytes)conectix (0x63 0x6F 0x6E 0x65...)vhdxfileKDMV (0x4B 0x44 0x4D 0x56)QFIû (0x51 0x46 0x49 0xFB)
韌性中等(無寫入日誌)高(基於記錄檔的中繼資料日誌)高高

常見損壞模式與十六進位修復指南

Windows 磁碟管理錯誤:「The virtual disk file is corrupted and cannot be opened」。

根本原因: 檔案結尾缺少或截斷了 512 位元組的「conectix」頁尾。

修復: 使用 File2File.app VHD 工具重新產生並附加缺少的頁尾。

安全性分析與解析器攻擊向量

虛擬化虛擬機器監視器中的 VHD 解析器會評估區塊配置表(BAT),該表必須受到限制以防止主機記憶體損毀。

已知攻擊向量

  • 在區塊配置表(BAT)位移計算期間發生整數溢位。
  • 透過虛擬儲存驅動程式中的越界磁區寫入達成虛擬機器監視器逃逸。
  • 透過格式錯誤的母碟差異鏈迴圈造成阻斷服務。

防禦最佳實務: 嚴格在隔離沙箱內以唯讀模式掛載未受信任的 VHD 檔案。

歷史起源與里程碑

2012Windows Server 2012 推出 VHDX,將最大容量從 2 TB 擴充至 64 TB。
2008Windows 7 與 Windows Server 2008 R2 引入原生 VHD 掛載與直接 VHD 開機功能。
2003微軟收購 Connectix Corporation 並公開發布 VHD 規格。

主要優勢與優點

  • 原生 Windows 整合:可在 Windows 磁碟管理中直接掛載為實體磁碟代號。
  • 原生 VHD 開機:Windows 可以直接從實體硬體上的 .vhd 檔案開機,而無需虛擬機器監視器。
  • 支援固定大小、動態擴充(稀疏)以及差異父子磁碟設定。

技術限制與缺點

  • 硬性的 2 TB 架構容量限制(對於更大的磁碟機已被 VHDX 取代)。
  • 如果在動態區塊配置表更新期間斷電,容易損毀。
  • 缺乏像 QCOW2 等現代格式所具有的原生叢集壓縮功能。

有趣的技術冷知識

  • 每個有效的 VHD 檔案在其 512 位元組頁尾內都包含 ASCII 檔案簽章字串「conectix」,以紀念發明 Virtual PC 的原始公司。
  • 在固定大小的 VHD 中,512 位元組頁尾僅位於檔案結尾;在動態 VHD 中,頁尾的複本則置於位元組 0 作為標頭。
  • Azure 曾支援基於 VHD 的虛擬硬碟,但其磁碟格式與工作流程隨著時間有所改變。

常見技術問題

VHD 與 VHDX 之間有什麼區別?

VHD 是微軟較舊的格式,容量限制為 2 TB。VHDX 支援高達 64 TB 的磁碟,並使用日誌在電源故障後復原特定的中繼資料更新;它並不能保護所有磁碟資料免於遺失或損毀。

如何在 Windows 上掛載 VHD 檔案?

在 Windows 中,按下 Win+X,開啟「磁碟管理」,按一下上方選單中的「動作」,然後選取「附加 VHD」以將其掛載為磁碟機代號。

如何將 VHD 轉換為 VMDK 或 ISO?

您可以在瀏覽器中使用 File2File.app,直接將 VHD 檔案轉換為 VMware VMDK、原始磁碟映像檔或 ISO。