|
Win7/R2 原生VHD 啓動 詳解 |
|
|
|
以前,雖然聽説過這個特性,但一直沒有嘗試過。
好的,接下來,説説要求和限制
限制
要強調的是,
1、準備 VHD鏡像文件 這個部分又分成 2 中方式,一是從 安裝鏡像中,直接提取系統文件。二是在虛機中安裝系統,然後使用 sysprep 進行封裝。 1.1 從安裝鏡像提取文件 這個需要用到 Windows(R) 7 的 Windows(R) 自動安裝工具包 (AIK) 中的 ImageX 工具。
首先是建立 VHD 磁盤,步驟如下:
2: 單擊 “顯示/隱藏控制枱樹”(位於“磁盤管理”中)按鈕。
3: 在“磁盤管理 (框線項目)”上右鍵單擊。
4: 單擊“創建 VHD (菜單項目)”。
5: 單擊“瀏覽(B)... ” ,並選擇一個虛擬磁盤的保存位置, 並起一個文件名,這裏是 "Test.vhd”,然後單擊保存。
6: 選擇一個磁盤類型,這裏選擇“動態擴展 (D) ”。(注:選擇哪個都可以,只不過,選擇固定的創建起來有點費時,另外,後期可以通過虛擬機的磁盤管理器進行轉換。)
7: 在“虛擬硬盤大小(S): ” 輸入要創建的虛擬硬盤大小,這裏輸入 "60” 單位選擇 "GB”,然後單擊確定。 (注:有關這個大小的注意,請看後面)
8: 在“磁盤管理”中,右鍵單擊新建的磁盤 行頭,選擇“初始化磁盤(I) ”。
9: 在彈出的“初始化磁盤”對話框中,選擇需要初始化的磁盤,並單擊“確定”。
10: 右鍵單擊 虛擬磁盤的空白區域,選擇“新建簡單卷(I)... ”。
11: 按照“新建簡單卷嚮導”中的提示操作,創建一個新的分區。
再來就是提取安裝鏡像文件 1: 單擊“開始”,“所有程序”, "Microsoft Windows AIK” ,單擊“部署工具命令提示 ”,打開 PE 環境控制枱。(如果不這麼做的話,會提示 ImageX 文件無法找到,當然,你也可以指定完整路徑)
2: 在“管理員: 部署工具命令提示”中輸入 "imagex /apply "D:/Sources/Win7 X64/sources/install.wim" "Windows 7 ULTIMATE" g:/”,展開鏡像
好,到此為止就算解壓完鏡像文件了。
1、定位到虛擬磁盤上的 Windows 目錄下,然後新建一個文件夾,名字是 "Panther”(注:一定要是這個名字)
那麼接下來,就是卸載 VHD 虛擬磁盤文件了 1: 打開“磁盤管理”,在虛擬磁盤的行標頭上右鍵單擊,選擇“分離 VHD ”。
2: 在“分離虛擬硬盤”對話框中單擊“確定”,即可分離磁盤了。
1.2 使用虛機制作 VHD 文件 其實,使用虛機制作,就是用虛機去來安裝系統,然後把 VHD 文件拿出來的過程。
1、打開“Hyper-V 管理器”,在操作中選擇“新建”,“虛擬機”。
2、在打開的“新建虛擬機嚮導”對話框,單擊下一步,輸入虛機的名字,然後單擊下一步。
3、設置分配給虛機的內存,這裏輸入1024,即 1G,然後單擊下一步。(注:內存最少可以是 512M,最大是物理內存大小,請根據具體情況選擇合適大小)
4、配置網絡,選擇一個可用的網絡,如果想配置乾淨的虛機,可以不設置或者選擇一個不能上網的測試網絡,免得安裝補丁,單擊下一步繼續。
5、創建虛擬磁盤,可以創建一個新的虛擬磁盤,也可以選擇一個現有的,單擊下一步繼續。(關於虛擬磁盤的大小問題,稍後會有説明)
6、設置安裝光盤鏡像的位置,單擊下一步繼續。
7、單擊 “完成”,開始創建虛機。
8、在“Hyper-V 管理器”中,選中新建的虛機,單擊操作中的連接。
9、啓動虛機,並安裝系統。
10、(可選)如果希望減少以後安裝的麻煩,可以現在先安裝上必要的工具。(如:VS,輸入法,什麼的)(注:虛機插件可以不用安裝,Win7 自帶了對 Hyper-V 的驅動) 11、封裝系統,用管理員權限打開命令行, 執行如下命令:(如果怕出問題,可以先做個備份或者快照)
當封裝完畢後,虛機系統會自動關閉。
1、參考上一部分的內容,將 VHD 文件附加到計算機上。
7、在“編輯虛擬磁盤嚮導”對話框中單擊下一步繼續。
8、選擇剛才確定文件位置,然後單擊下一步繼續。
9、選擇“壓縮”,然後單擊下一步。
10、單擊確定,開始壓縮 VHD。
好,這樣就獲得了 VHD 系統文件。
2、部署 VHD 文件 部署 VHD 也分成 2 個部分,一個是裸機部署,一個是在已有系統上進行部署。
1、使用 Win7 或者 Win2008 R2 的安裝光盤,U 盤也可以,啓動機器。(注:在啓動之前,可以往 U 盤中複製一些 FTP 工具等,方便操作。至於使用是 X64 位還是 X86 安裝盤,請根據 VHD 文件內的系統類型選擇。還有 X64 的安裝盤啓動的 PE 裏面也是 X64 的,精簡掉了 32 位運行子系統,所以工具需要是 64 位版的)
3、選擇“修復計算機”,稍等一會,之後出來系統恢復選項,單擊下一步,然後選擇“命令提示符”。
4、可以先輸入 "start” 命令,打開一個新的命令行窗口, 然後在輸入 "startnet” 開啓網絡支持。
5、切換到另一個窗口,輸入 "Diskpart”,對系統進行分區。
6、(可選)清除硬盤上的分區,在命令提示窗口中輸入:
List Disk 查看系統上磁盤
Select disk 1 選擇一個系統硬盤,根據上面返回的索引信息。
Clean 清除磁盤上的所有內容。
7、創建系統分區(用於啓動引導)。例如,這裏建立一個 100MB 的系統分區。在命令提示窗口中輸入:
9、接下來,將 VHD 複製到計算機上,切換到另一個命令窗口。 如果使用 Windows 共享,請按一下步驟操作
先用 Net use 連接網絡共享文件夾,如果提示要用户名話,建議輸入“機器名/用户名”的形式
net
use y: //network_share/
然後複製 VHD 文件到本地磁盤
copy y:/Windows7.vhd c:
如果使用 FTP 的話,建議使用第三方工具,系統內部的 FTP 因為一些問題無法正常工作。 10、下載完成後,就可以附加 VHD 文件到系統了,切換回原來的窗口。這裏假設 VHD 文件名字是 "Windows7.vhd”,在命令提示窗口中輸入:
select vdisk file=c:/windows7.vhd attach vdisk 11、當附加完 VHD 文件之後,系統會自動分配一個盤符。可以通過卷列表查看盤符。在命令提示窗口中輸入:
12、使用 BCDboot 工具(位於 VHD內的Windows/System32 或者 Windows PE 媒體中),來將啓動環境文件從 VHD 中的 /Windows 文件夾複製到系統分區。BCDboot 工具會自動創建 BCD 配置文件來啓動 VHD。有關 BCDboot 的更多信息,請看本文最後的參考。
13、這完成後就可以分離VHD文件了。在命令提示窗口中輸入:
14、重啓計算機。 2.2 在已有系統的機器上 部署原生VHD啓動 其實,這個部分,可以換一個説法。就是將 VHD 文件添加到啓動菜單中。
/copy {current} /d "vhd boot (locate)"
(將 {GUID} 替換成 之前複製的內容, [locate] 內容換成本地盤符)
bcdedit /set {guid} detecthal on 7、重啓計算機 重啓玩之後,Windows 啓動管理器將會啓動 VHD 文件中包含的系統。
大家可能會有一些疑問,那麼接下來,我來做一些回答。
2、從 VHD 啓動,還需要哪些必備的條件?
XP 和 Vista 是不行的,因為驅動問題。而 Win7 的版本必須是企業版之上,這個策略限制,如果版本不對的話,會提示不支持,然後關機的。 3、是否會有性能的損失?
4、VHD 文件格式如何選擇?
下圖就是一個事例,Win7Base.vhd 是父盤,Win7Disk.VHD 是當前正在使用的系統文件。 可以看到 它的大小 已經變成了設置的最大大小(127G)
另外,也可以看到頁面文件 ,因為 VHD 文件本身會有一點性能損失,加上一些其他問題等,所以 頁面文件不會放到 VHD 文件內部。 5、在裸機部署完之後,重啓後,看到菜單是英文的?
6、是否可以掛接 X64 和 X86 系統?
參考:
使用工具
最後附上一個自動應答文件,也可以使用 “Windows 系統映像管理器”創建一個。
|
|
|
|
如果,你安裝的系統是 WIn7,請先執行這個,否則封裝將會出錯。Win2008R2 沒有這個問題。
"Net stop WMPNetworkSvc”
(關閉 "Windows Media Player Network Sharing Service” 服務)
"cd %windir%/system32/sysprep”
"sysprep.exe /oobe /shutdown /unattend:win7.xml”
(/unattend 是 設置自動應答文件的,如果不需要可以不指定)
|