Windows 7部署之VHD技術
Windows 7支持VHD的技術實現方式
在Virtual PC 和 Virtual Server 中,VHD就以一種文件形式的虛擬機磁盤出現了。早在2005年微軟就公開了VHD格式文件的全部細節,可以從微軟的TechNet網站下載到。這說明微軟不僅想把VHD應用在虛擬機領域,更希望VHD能夠成為一種新的磁盤格式和載體在業界得到更多的支持。通過詳細閱讀微軟的技術文檔可以了解到,我們可以把VHD理解為一塊硬盤,一塊虛擬出來的硬盤。簡單的說,要把VHD文件當作硬盤一樣讀寫,必須有相應的驅動程序。在Virtual PC和Virtual Server中,微軟就是通過在虛擬機中加入VHD的驅動程序,使得虛擬機可以從VHD啟動并進行后續的操作。
微軟把VHD的驅動程序內置進了Windows 7 操作系統和Windows 7的引導程序中。因此我們可在使用Windows 7的時候,直接訪問VHD文件中的內容,也可以通過Windows 7的引導程序,啟動位于VHD磁盤上的另一個操作系統。理解VHD驅動的工作細節,需要比較多的Windows底層知識,下圖是一個比較簡單和抽象的結構,可以發現,VHD的驅動是跟磁盤驅動和文件系統緊密結合的。

圖1 VHD虛擬硬盤的結構
VHD讀寫性能相對于物理磁盤,VHD讀寫I/O性能的指標如下。
圖2 VHD性能指標
我們可以發現,相對于物理硬盤,VHD的讀寫開銷非常小,只有在進行連續區塊寫入操作時,才跟物理硬盤有較明顯的性能差異。
VHD啟動方式的注意事項和局限性:
• UDFS文件系統暫時不被支持
• 啟動用的VHD文件,不能保存在壓縮或者加密的NTFS磁盤之上
• 根據一些朋友的反饋,動態的VHD文件無法啟動,需要在建立vhd是設置成立即分配才可以從vhd啟動
• 如果你的物理硬盤是RAID格式,則必須要在VHD中的操作系統鏡像中注入RAID的驅動程序,可以使用peimg命令。
• 最多可以同時映射的VHD文件數量是512個
• VHD磁盤的父分區,不支持Volume Snapshot
• 映射的VHD磁盤,不能被配置為動態磁盤,也就是不能在VHD上建軟RAID
【編輯推薦】