VHD 差異硬碟之應用 以前我一直搞不太懂差異硬碟到底是幹啥用的,直到看到 MCSE Lab 之後才恍然大悟, 「原來要這樣玩啊~!!」 微軟的各種虛擬化環境,包含桌面虛擬化的 Virtual PC、伺服器應用的 Virtual Server, 以及最新的 Hyper-V,都一樣用 .vhd 做為硬碟格式,所以以下就不區分環境了。 VHD 是微軟虛擬化技術中的硬碟格式,就如同其他競爭廠商的虛擬硬碟技術一樣, 一個 *.vhd 代表一個磁碟機(Disk),一樣有動態延伸、固定大小、連結實體磁碟機等三種型態, 另一個比較特別的就是「差異硬碟」,這到底是做啥用的呢? 應用在桌面測試環境的 Virtual PC,經常要不斷的回溯系統,這一點我是覺得比 VMware Workstation 弱了很多, 但深入瞭解差異硬碟後,就會瞭解微軟是用比較另類的方法來處理這問題, 差異硬碟是由父硬碟衍生而來的,適用於「多台 GuestOS 相同系統」的環境下, 例如建立一個 Active Directory Lab,需要多台 Windows XP 與 Windows Server 2003, 這時候我們只需要先分別建立一顆 WinXP 與 Win2003 的硬碟,做為父系, 然後再用差異硬碟做出多個不同的 WinXP 與 Win2003,就能建立好測試環境。 建置環境用 Virtual PC、Virtual Server、Hyper-V 都可以, 不過這邊以 Virtual PC 2007 SP1 比較順手,其實原理都一樣。 做法如下: 1. 先建立一個 Guest OS,設定檔為 WinXP,硬碟配置選動態延伸或固定大小都可以, 但容量一定要預先配置好足夠容量,因為衍生的差異硬碟是無法變更容量的。 硬體配置隨意,反正灌完就要拆掉了。 2. 安裝完 Guest OS 裡的 WinXP 以及 Additions,安裝過程應該不用說明了吧? 由於這個 OS 是要拿來做為範本的,所以都用最標準正規的方法安裝。 (我個人是用 XP SP3 不含任何 hotfix,以保持環境最單純) 3. 全部安裝完畢,得到了一個「安裝好 WinXP 的硬碟機 .vhd」, 重點來了, 把組態檔 .vmc 刪除! 因為待會要用這顆父硬碟產生新的差異硬碟,所以這顆父硬碟應該保持唯讀狀態, 用實體電腦來比喻,就是說把...