虛擬硬碟 (.vhd)
Microsoft 標準Virtual Hard Disk (VHD) 是微軟的虛擬磁碟格式,隨 Virtual PC 推出,並被某些虛擬化工具用於儲存虛擬磁碟機。
將 VMDK 轉換為 VHD
免費的瀏覽器端 VMDK 轉 VHD 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 VHD 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 VHD 檔案:
十六進位簽章(偏移量 0):
63 6F 6E 65 63 74 69 78ASCII 表示法: 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 (目前) | VHDX | VMDK | QCOW2 |
|---|---|---|---|---|
| 最大容量 | 2 TiB(十進位約 2.2 TB) | 64 TB | 62 TB | 2 PB |
| 原生 Windows 掛載 | 100% 原生(磁碟管理) | 100% 原生(磁碟管理) | 需要 VMware 或驅動程式 | 需要第三方工具 |
| 檔案簽章(magic bytes) | conectix (0x63 0x6F 0x6E 0x65...) | vhdxfile | KDMV (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。