兩個版本的WinPE 3.0製作完成以後,接下來就是開始整合Win7光碟的階段了,32位元Win7有5種版本(簡易版、家用入門版、家用進階版、專業版與旗艦版),而64位元有4個(不包含簡易版),因此將32及64位元整合在一起時,就是九合一的安裝光碟囉!
所需工具
Step 1
首先我們要先將Windows 7安裝光碟中的WIM映像檔輸出到電腦上,方便我們後續整合的動作,安裝並開啟UltraISO以後,先開啟32位元版的Windows 7映像檔,展開「sources」資料夾以後,在「install.wim」上按一下滑鼠右鍵,然後在選單中選擇【提取到…】。
Step 2
接著選取我們待會要用來編輯WIM檔的資料夾,按下〔確定〕即可將「install.wim」複製到此資料夾中。
Step 3
看到沒有?我們將「install.wim」複製到硬碟中的任一資料夾中(例如「F:\Win7\」)。
Step 4
接著將64位元版的Windows 7映像檔中的「install.wim」也用UltraISO解壓縮出來,並改名為「install_x64.wim」。
Step 5
GimageX是一個圖形化的ImageX工具介面,它能將我們在之前安裝的WAIK中的ImageX從完全看不懂的文字模式轉變為視窗化的軟體,方便讀者們修改WIM映像檔。下載完成以後解壓縮到電腦中的任何一個資料夾中,再依照你目前所使用的Windows版本,按兩下「x86」或「x64」資料夾中的「gimagex.exe」即可開啟。
Step 6
開啟GImageX以後,先在「Source WIM」欄位中載入64位元的WIM檔,然後在「Destination WIM」中載入32位元的WIM,我們要將64位元安裝映像檔合併進32位元中,按下〔Select〕。
Step 7
依順序反白第一個安裝映像後,按下〔Select〕。
Step 8
接著在「Destination WIM」中設定「Compression」(壓縮比)為「Maximum」(最大),並在「Name」欄位中將新加入的映像檔改個容易分辨的名稱,按下〔Export〕就會開始合併了
Step 9
合併完成以後,按下〔Close〕。接著重複以上動作,將64位元版的4個Windows 7映像檔整合到32位元中。
(下一頁,接著完成GimageX及UltraISO的設定)
Step 10
將WIM檔整合完畢後,再切換到〔Change〕標籤,然後按下〔Browse〕載入剛剛整合完成的「install.wim」,更改裡頭每一個映像檔的「Name」及「Description」欄位名稱,分別依照實際狀況輸入「32bit」及「64bit」等文字描述(英文),才能清楚分辨各版本的不同。
Step 11
將全部名稱都改完,再切換到〔Info〕標籤,按下〔Browse〕載入合併後的「install.wim」,此時按右下角的〔Get Info〕鈕,就能看到總共9個映像檔的各種資料囉!
Step 12
開啟UltraISO,並載入原來的32位元版Windows 7光碟ISO檔。如果光碟中有「ei.cfg」的話,先將此檔案刪除。
由於Windows 7的光碟中其實包含了所有版本的安裝映像,因此「ei.cfg」這個檔案是用來指定安裝Windows 7時可選擇的版本,不過我們要在安裝前看到所有版本的選擇清單,因此可將它刪掉。
Step 13
在「sources」資料夾中,有幾個副檔名為「clg」的檔案,例如「install_Windows 7 HOMEBASIC.clg」,改為「install_Windows 7 HOMEBASIC 32bit.clg」,並將其他的clg檔也改名,因為我們待會要將64位元版的clg檔也整合到此映像檔中,以免搞混。
Step 14
接著再開啟另一個UltraISO視窗,並載入64位元的Windows 7映像檔。載入完成以後,將「sources」資料夾中的4個clg檔反白並按下滑鼠右鍵,選擇【提取】。
Step 15
將clg檔提取出來以後,跟之前一樣在檔名後方加上「64bit」文字。
Step 16
接著將這4個64位元版的clg檔放入32位元版的映像中。
Step 17
最後將「install.wim」替換成我們整合好的九合一映像安裝檔即可。
Step 18
按下【檔案】→【儲存】,將ISO檔先存著備用,在之後的步驟中我們還要在此ISO中添加開機選單及WinPE的映像檔。
(下一頁,編輯光碟開機選單)
編輯光碟開機選單
所需工具
- Windows Vista/7:這兩個作業系統中才有「bcdedit.exe」。
- CDBurnerXP
利用BCDEDIT編輯開機項目
Step 1
將Windows 7光碟映像檔中的「boot」資料夾,複製到電腦上,例如「D:\boot」。
Step 2
按下【Win】→【附屬應用程式】→【命令提示字元】,然後在上面按一下滑鼠右鍵,選擇【以系統管理員身分執行】。
Step 3
開啟「命令提示字元」視窗以後,切換到「D:\boot\」資料夾中。
Step 4
輸入「bcdedit /store bcd /create /d "Windows PE 3.0 x86" /application osloader」並按下〔Enter〕,建立一個新的開機項目,並將「已順利建立」後的一串文字記下來,下一步會用到。
Step 5
接著輸入「set WINPE_GUID={9eab99db-ea1e-11de-a486-000c2997450f}」將「WINPE_GUID」這個變數設為剛剛產生新項目時建立的文字。
Step 6
開啟GImageX後,切換到〔Info〕活頁標籤,接著按下〔Browse〕載入「boot_x86.wim」,按下〔Get Info〕以後會看到有一行「GUID」,將此行文字反白以後,按下滑鼠右鍵選擇【複製】。
Step 7
回到命令提示字元視窗以後,輸入「set ramdiskGUID={8E0491D5-388F-4F16-9A0E-FEEDF87EEC48}」,即是剛剛我們開啟GImageX查到「boot_x86.wim」的GUID。
Step 8
輸入「bcdedit /store bcd /set %WINPE_GUID% device ramdisk=[boot]\WinPE\winpe_x86.wim,%ramdiskGUID%」,將「winpe_x86.wim」設定為ramdisk。
Step 9
輸入「bcdedit /store bcd /set %WINPE_GUID% path \windows\system32\boot\winload.exe」設定開機時載入的exe檔。
Step 10
輸入「bcdedit /store bcd /set %WINPE_GUID% osdevice ramdisk=[boot]\WinPE\winpe_x86.wim,%ramdiskGUID%」設定要當做作業系統的映像檔所在的路徑。
Step 11
輸入「bcdedit /store bcd /set %WINPE_GUID% locale en-us」設定WinPE的語系。
Step 12
輸入「bcdedit /store bcd /set %WINPE_GUID% detecthal yes」,在開機時自動檢測HAL(硬體抽象層)。
Step 13
加入「bcdedit /store bcd /set %WINPE_GUID% winpe yes」此命令,可以以WinPE的模式啟動映像檔。
Step 14
輸入「bcdedit /store bcd /set %WINPE_GUID% ems yes」開啟延伸記憶體支援。
Step 15
輸入「bcdedit /store bcd /set %WINPE_GUID% systemroot \windows」設定WinPE的系統資料夾。
Step 16
輸入「bcdedit /store bcd /set %WINPE_GUID% inherit {bootloadersettings}」設定開機載入器的設定值。
Step 17
最後輸入「bcdedit /store bcd /displayorder %WINPE_GUID% /addlast」,就完成新增32位元版WinPE 3.0的開機項目囉。
(下一頁,接著新增64位元版的WinPE到BCD檔中)
Step 18
接著我們要新增64位元版的WinPE到BCD檔中,同樣輸入「bcdedit /store bcd /create /d "Windows PE 3.0 x64" /application osloader」,新增一個開機項目。
Step 19
接著將上個步驟產生的字串記下來,然後輸入「set WINPE_GUID={3d883504-ea23-11de-a486-000c2997450f}」,將WINPE_GUID設定為這個字串。
Step 20
一樣再回到GImageX中,在〔Info〕開啟「boot_x64.wim」,複製「GUID」項目的一串文字。
Step 21
輸入「set ramdiskGUID={C98D4E36-36A0-464E-8C18-278CB3576303}」,將剛剛用GImageX查詢得到的GUID值代入。
Step 22
輸入「bcdedit /store bcd /set %WINPE_GUID% device ramdisk=[boot]\WinPE\winpe_x64.wim,%ramdiskGUID%」,將「winpe_x64.wim」設定為ramdisk。
Step 23
輸入「bcdedit /store bcd /set %WINPE_GUID% path \windows\system32\boot\winload.exe」設定開機時載入的exe檔。
Step 24
輸入「bcdedit /store bcd /set %WINPE_GUID% osdevice ramdisk=[boot]\WinPE\winpe_x64.wim,%ramdiskGUID%」設定要當做作業系統的映像檔所在的路徑。
Step 25
輸入「bcdedit /store bcd /set %WINPE_GUID% locale en-us」設定WinPE的語系。
Step 26
輸入「bcdedit /store bcd /set %WINPE_GUID% detecthal yes」,在開機時自動檢測硬體抽象層。
Step 27
加入「bcdedit /store bcd /set %WINPE_GUID% winpe yes」此命令,可以以WinPE的模式啟動映像檔。
Step 28
輸入「bcdedit /store bcd /set %WINPE_GUID% ems yes」開啟延伸記憶體支援。
Step 29
輸入「bcdedit /store bcd /set %WINPE_GUID% systemroot \windows」設定WinPE的系統資料夾。
Step 30
輸入「bcdedit /store bcd /set %WINPE_GUID% inherit {bootloadersettings}」設定開機載入器的設定值。
Step 31
輸入「bcdedit /store bcd /displayorder %WINPE_GUID% /addlast」,完成新增64位元版WinPE 3.0的開機項目。
Step 32
開機項目都新增完成後,輸入「bcdedit /store bcd /enum all」按下〔Enter〕可以看到會有3個「Windows開機載入器」欄位,也就是我們剛剛新增的兩個PE項目及原本的Win7安裝程式。
Step 33
記下上個步驟的「identifier」欄位的GUID值,如果你想自訂32位元WinP、64位元WinPE、Win7安裝程式在選單上的前後次序,請輸入「bcdedit /store bcd /displayorder {x86 WinPE的GUID} { x64 WinPE的GUID } {default}」,即可改變先後排序。
對BCD檔的操作都完成以後,直接關閉命令提示字視窗即可,不需存檔。
(下一頁,整合所有修改後的檔案)
整合所有修改後的檔案
Step 1
開啟UltraISO並載入之前替換過「install.wim」的ISO檔,然後把修改後的「boot」資料夾替換掉原本的同名資料夾。
Step 2
接著在映像檔根目錄中新增「WinPE」資料夾(如果你想修改資料夾名稱,也同時要修改BCD檔中的『boot_x86.wim』、『boot_x64wim』路徑位置。),再將「boot_x86.wim」、「boot_x64.wim」拖入此資料夾中。
Step 3
如果你想製作安裝即啟用的Win7安裝光碟,也可以在此步驟中將「$OEM$」資料夾放入「sources」資料夾中。
Step 4
最後按下【檔案】→【另存新檔】,將映像檔保存起來,就完成32/64位元WinPE 3.0+九合一Win7安裝即啟用光碟囉!
Step 5
辛苦許久後總算將ISO製作完成了,雖然在整合以後,光碟容量暴增到4.3G左右,不過還是可以燒進一般的DVD空片中。
Step 6
將此映像檔以燒錄軟體燒錄到光碟上,就能在電腦上安裝囉!
Step 7
開機時按下〔DEL〕或〔F2〕,在BIOS中設定以光碟機開機,然後存檔並離開。
Step 8
重新開機後就能看到如下的光碟選單,當然你也可以發揮創意新增更多功能,例如在WinPE中加入檔案總管圖形介面,製成獨一無二的超強救援天碟。這部份在網路上都有不少討論,可以搜尋 "winpe" 來研究一下。
Step 9
而且在安裝Windows 7時,真的能看到9個版本同時存在安裝選單中,不管安裝哪個版本都好方便!
本文同步刊載於>>
Windows 7 頂級重灌術作者╱PCuSER研究室
全新系統+全新密技
生猛重灌技法一次公開