Windows 7 Enterprise/Ultimate 及 Windows Server 2008 R2 引入 VHD Native Boot,讓作業系統能直接從虛擬硬碟檔(.vhd)開機,無需傳統分區。本文整理官方技術文件與實戰經驗,提供完整指令級部署流程。
| 項目 | 需求 |
|---|---|
| 客戶端版本 | Windows 7 Enterprise / Ultimate |
| 伺服器版本 | Windows Server 2008 R2(Foundation 除外) |
| 磁碟分區 | 至少兩個分區:System 分區(含 Bootmgr、BCD)+ 資料分區(存放 VHD) |
| VHD 類型 | 建議固定大小;動態擴充需確保實體空間足夠 |
| 掛載上限 | 最多 512 個 VHD |
| 不支援功能 | 休眠、SMB 共享開機、BitLocker 加密 VHD 所在卷、VHD 做動態磁盤/軟體 RAID |
| 效能特性 | 讀取接近實體硬碟;寫入無 Cache,稍慢於實體 |
# 建立 10GB 固定大小 VHD
create vdisk file=E:\Win7.vhd maximum=10000 type=fixed
# 選取並掛載
select vdisk file=E:\Win7.vhd
attach vdisk
# 建立主分區、指派磁碟代號、快速格式化
create partition primary
assign letter=R
format quick fs=ntfs
# 釋放安裝映像(假設 WIM 索引 1 為 Enterprise)
imagex /apply D:\sources\install.wim 1 R:\
# 寫入開機檔案到系統分區(假設系統分區為 S:)
bcdboot R:\Windows /s S: /l zh-TW
# 在 BCD 中新增開機項目(需先取得 {GUID})
bcdedit /copy {current} /d "Windows 7 VHD Boot"
bcdedit /set {new_guid} device vhd=[E:]\Win7.vhd
bcdedit /set {new_guid} osdevice vhd=[E:]\Win7.vhd
bcdedit /displayorder {new_guid} /addlast
bcdboot R:\Windows 更新本機 BCD(會自動新增開機項目)。bcdboot VHD磁碟機:\Windows /s 系統分區磁碟機: /l zh-TW 寫入開機檔。# 建立父 VHD(已裝好基礎環境)
create vdisk file=E:\Base.vhd maximum=20000 type=fixed
# ... 安裝完成並 Sysprep 封裝 ...
# 建立子 VHD(差異磁碟),所有寫入導向子 VHD,父 VHD 保持唯讀
create vdisk file=E:\Test1.vhd parent=E:\Base.vhd type=differencing
# 掛載 Test1.vhd 並加入 BCD,即可擁有乾淨、可還原的測試環境
bcdedit /export backup.bcd 備份。
掌握 VHD Native Boot,不僅能輕鬆管理多版本測試環境,還能將整個作業系統當作可攜式檔案帶著走。對開發、測試、教學場景極具價值。