使用 Windows Deployment Services 部署 VHD Native Boot——蘇繁

使用 Windows Deployment Services 部署 VHD Native Boot

       VHD Native Boot 是一個能夠實現從本地直接啓動 VHD(Virtual HardDisk)的技術。通過 VHD Native Boot,我們最終能夠實現在一臺裸機上部署一套完整的 Windows 操作系統,而這個操作系統僅被包含在一個 VHD 文件中。該技術目前僅支持 Windows 7的企業版、旗艦版,以及Windows Server 2008 R2 系列。VHD Native Boot 的特性和優勢是顯而易見的,用戶可以在 Windows 7 中創建一個 VHD,並將系統灌入到 VHD 中,通過 Windows 7 bootmgr 來啓動 VHD。不論簡單還是複雜的系統環境都被存儲到了一個 VHD 中作爲一個獨立系統,所以維護起來更加方便。此外,用戶還能夠在同一臺計算機上創建最多達512個實例的 VHD Native Boot,很輕易地創建出多個系統環境,用於生產、測試、評估和開發。
在一臺 Windows 7操作系統的單機上添加一個 VHD Native Boot 的過程並不複雜,準備好 系統源文件install.wim和imagex.exe 工具(該工具能夠從 WAIK 中獲取,也可以從http://goxia.maytide.net/up/imagex.exe下載。),先使用 diskpart 創建一個 VHD,然後使用 imagex 釋放 install.wim 對應的系統到 VHD 中,最後使用bcdedit命令爲這個 VHD 創建引導信息,最後重新啓動計算機在 bootmgr 列表中選擇從這個 VHD啓動即可。
使用diskpart創建VHD的命令行如下:
diskpart
create vdisk file=d:\windows7ult.vhd maximum=20480 type=expandable
sel vdisk file=d:\windows7ult.vhd
attach vdisk
create partition primary
format fs=ntfs quick label=win7nativeboot
assign letter=v
exit
上面的命令行將在D盤創建一個名爲windows7ult.vhd的動態擴展類型,大小爲20480M的VHD,併爲其創建一個NTFS格式的主分區,卷標命名爲win7nativeboot,掛載到當前系統中,分配盤符v。
使用 imagex 工具釋放 Windows 7 安裝源 install.wim 中的旗艦版本到“v:\”,爲此執行下列命令:
imagex /apply f:\soruces\install.wim 5 v:
當系統文件釋放完畢之後就可以爲其添加 VHD Native Boot 引導信息,爲此執行下面的命令行:
bcdedit /copy {current} /d “Windows 7 Ultimate VHD Native Boot”
bcdedit /set {GUID} device vhd=[d:]\windows7ult.vhd
bcdedit /set {GUID} osdevice vhd=[d:]\windows7ult.vhd
bcdedit /set {GUID} detecthal on
完成引導信息的創建之後,重新啓動計算機,此時會在引導菜單中看到一個名“Windows 7 Ultimate VHD Native Boot”的引導項,選擇它進行引導啓動。經過短暫的系統初始化過程後,將進入這個 VHD 系統。
需要注意的是 VHD Native Boot 方式的系統將不支持睡眠功能,且無法使用BitLocker對磁盤進行加密,也不支持 RAID功能。此外,存放 VHD 文件的分區將不支持 Volume Snapshot,更爲重要的是不論 VHD 是固定大小還是動態擴展類型,其容量必須小於當前 VHD 存儲的分區大小。
到這裏,我們已經對 VHD Native Boot 的創建有了詳細的認識,雖然過程非常簡單,但是在企業環境中 VHD Native Boot 具體能爲我們帶來什麼優勢?!我們又應當如何來應用這項技術呢?!
Windows 7 的開發階段,我就有幸加入到了 Windows 7 Beta Program,對 Windows 7 進行測試和評估。從 Windows 7 M3 階段提供系統對 VHD 的原生支持,到 Windows 7 Beta 提供的 VHD Native Boot,讓我看到了 VHD Native Boot 的前景。那時我便在PC和NoteBook上開始應用 VHD Native Boot創建我的多系統環境,安裝多種語言和架構版本,用於執行測試和評估工作。直至Windows 7和Windows Server 2008 R2 RTM後,公司便開始着手如何過渡到 Windows 7 系統,由於當時的企業環境還是以Windows XP系統居多,難麼直接將Windows XP升級到Windows 7不免存在諸多問題,唯恐會影響正常的生產工作。但是依照常規手段安裝多系統環境,除了要準備單獨用於安裝 Windows 7的分區,還會出現目錄文件混亂的情況。要知道,企業的普通員工並不個個都是電腦高手,當他們進入系統打開資源管理器後看到兩個分區都存在系統文件夾會使他們感到迷茫併產生厭煩情緒!此時,如果利用VHD Native Boot將能夠化解這些憂慮和煩惱。而依照前面介紹的單機添加 VHD Native Boot的步驟,將會非常複雜,並增加額外的工作量,因爲計算機已有的系統是 Windows XP,要實現 VHD Native Boot 必須要將原先的引導程序改爲 Windows 7 bootmgr。手工一臺一臺安裝 VHD Native Boot 將是一個噩夢!
OK,先別絕望!微軟已經替我們考慮到了這點,現在通過Windows Server 2008 R2中的Windows Deployment Services(WDS)將能夠輕而易舉的將 VHD Native Boot 批量部署到用戶計算機中。因爲 WDS 會自動幫你在裸機上創建相關的引導信息。此外,如果現有分區上已經存在系統,WDS 部署的 VHD Native Boot 能夠自動創建配置多引導。更酷的是可以部署多個 VHD Native Boot 到計算機上,同時支持差異磁盤方式以及動態磁盤。
正如我之前所介紹的,現在便可以利用Windows Server 2008 R2中WDS支持部署VHD Native Boot的這一新功能特性,向企業中已經安裝有Windows XP或Windows Vista 的計算機部署一個Windows 7 VHD,或是一個事先經過預安裝配置的Windows 7 VHD。此外使用VHD還同步支持物理機和虛擬機的部署,我們只需要維護一份VHD,便可以將其部署到物理計算機或虛擬系統上,效率方面也將得到進一步的提升。
因爲當前企業環境已經構建在微軟AD之上,現在只需要部署一臺基於Windows Server 2008 R2的WDS服務器即可。通過WDS控制器,將Windows 7或Windows Server 2008 R2安裝盤中的boot.wim添加到WDS啓動映像中。因爲 WDS 目前還不支持 UI 方式來添加VHD,即通過 WDS 管理器添加 VHD 的操作,所以我們需要藉助 WDS 命令行工具 – wdsutil.exe 來完成工作。爲了便於管理,我們可以單獨爲 VHD 類型的安裝映像建立一個安裝組,該操作可以使用 WDS 管理器進行添加,或使用下列命令行:
wdsutil /add-imagegroup /imagegroup:VHDs
安裝組創建完畢之後就可以開始添加 VHD 映像,爲此請執行下列命令:
wdsutil /verbose /progress /add-image /imagefile:d:\vhdimages\windows7ultimate.vhd /imagetype:install /imagegroup:VHDs

 

 

命令行中的 verbose 和 progress 參數可以省略,用來顯示詳細信息和處理進度。其他參數都很容易理解,或是用“/?”獲取相關的幫助,這裏不再單獨說明。到這裏 VHD 的添加就完成了,非常之簡單!如果是差異磁盤,那麼只需要直接添加差異磁盤即可,父盤會自動添加到 WDS 存儲 images 的目錄中,出於安全原因原父盤名稱會被自動修改爲 Base-1.vhd 並被賦予隱藏屬性。此外,打開 WDS 管理器我們能看到 VHDs 安裝組中會存在兩個剛添加好的映像,其中被禁用的便是 Base-1.vhd。因爲添加的 VHD 都使用內部版本名+版本號作爲映像名稱,所以存在多個 VHD 時容易混淆,我們可以直接修改這些映像名稱!

 

 

一切準備工作就緒後,啓動一臺客戶端計算機(物理機或虛擬機均可)通過 PXE 引導進入 WDS 的安裝嚮導界面,選擇之前添加的 VHD 執行安裝,這個過程大概有10分鐘左右。

 

 

 

 下圖可以看到 VHD 被部署到客戶端後的存儲方式,默認 WDS 會在客戶端計算機目標分區建立名爲 WindowsImages 的根目錄,其中會依序創建000、001 這樣的子目錄存儲部署的 VHD 文件。此外,差異磁盤的父盤也會一同部署到客戶端計算機上。至於網上有網友提到的使用差異磁盤來做客戶端的還原和快速恢復應用,是一個很不錯的想法,但是在實際中我個人認爲 VHD Native Boot 更多考慮的應該是應用中會遇到的阻礙等問題。要細心設計如何更好的應用,而不是功能本身的操作。如果要使用差異盤,則需要使用diskpart命令來創建,命令行如下:
create vdisk file=child.vhd parent=parentname.vhd

 

 

WDS部署VHD同樣支持無人值守腳本,能夠實現自動化部署,從而減少工作量,有效提升了效率。目前,利用 Windows Server 2008 R2的WDS已經成功地在企業中實施了 Windows 7 VHD Native Boot 方式的部署,在保留原有 Windows XP生產平臺的同時,還能夠讓員工輕鬆的開始向 Windows 7平臺的過渡。高效且有保障!此外對於企業中一些特殊部門,還可以部署多種應用環境的Windows 7滿足特殊需求。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章