有在更新 Windows 7 的朋友應該都知道,更新是非常耗時,且麻煩的工作,如果使用乾淨的系統進行重灌,更新要從 SP1 開始,完全更新完畢就至少要花費至少3小時,甚至更久(依電腦而有所不同),所以如果可以在安裝之前就先將 Windows 整合,安裝時間也許會耗費較久的時間,但也會比安裝完後更新來得有效率許多。
前言
過去曾經有發過同樣的文章,但由於最近又重新整合了一次在學校方便作業用的 Windows 7 系統,所以就順手寫了這篇,內容幾乎大同小異,不過在這篇文章,也因為比上次更為精熟的關西,帶給各位的東西也比較有整理過、規劃過,如果有問題也希望大家可以提出來共同討論。
已經有 Windows 7 整合的新文章嘍:傳送門
Windows 7 整合前置作業
1.Windows 7 ISO(有無包含 SP1 皆可)
不提供檔案
2.下載 SP1 離線安裝包
下載:x86 版
下載:x64 版
3. Internet Explorer 11:
下載: x86 版
下載: x64 版
4. 整合 Internet Explorer 11 所須的套件 KB2670838 修正檔
下載: x86 版
下載: x64 版
5.Windows 7 更新包(2016/01)
下載:傳送門
更新包相關:傳送門
關於位元,如果只想要單整合 x86 或 x64,請自行選擇下載,另外請在電腦環境中建立如下方圖示中的環境。
在 D:\ 根目錄下建立 Windows 資料夾,並將 IE、SP1、更新資料放置在相對位置。
install.wim 檔案位於 Windows 安裝光碟中的 sources 目錄下,請自行提取。
imagex.exe 為映像檔編輯工具,在本教學中並沒有使用到,如果需要編輯映像檔案,可以自行上網 Google。************************************************************************
*本教學中,所有有關 CMD 命令提示字元的部分,皆使用系統管理員權限。*
************************************************************************
整合 SP1 準備工作
首先將 SP1 檔案下載下來,上方先前準備有提供連結,下載後,運行 CMD(請使用系統管理員權限),並移動到下載檔案的目錄下,運行下方指令將 SP1 檔案解出來。
windows6.1-KB976932-X86.exe /X:d:Windows\WindowsSP1_x86 windows6.1-KB976932-X64.exe /X:d:Windows\WindowsSP1_x64
指令解析:[檔案名稱] /X:[解出路徑]
解開 windows6.1-KB976932-[Bit].cab 檔案
這邊以 x64 為例,使用 7-ZIP 將 windows6.1-KB976932-X64.cab 進行解壓縮工作,點擊右鍵,解壓縮至此。
解出 NestedMPPContent.cab 檔案
與 windows6.1-KB976932-X64.cab 同樣的方式解壓縮至此。
編輯檔案
這邊共需要編輯三個檔案,分別為 update.ses、update.mum、Windows7SP1-KB976933~31bf3856ad364e35~x64~~6.1.1.17514.mum(如果是 x86,請找相對應的檔案)。
update.ses
將下方 <Tasks operationMode=”OfflineInstall”> 位置的 targetState=”Absent” 改成 Installed 並儲存。
<Tasks operationMode="OfflineInstall"> <Phase> <package id="Windows7SP1-KB976933~31bf3856ad364e35~x86~~6.1.1.17514" targetState="Absent"/> </Phase> </Tasks>
update.mum & Windows7SP1-KB976933~31bf3856ad364e35~x86~~6.1.1.17514.mum
這兩個檔案更改之處可以一起講,要改的地方都相同,在檔案的最下方,將 allowedOffline=”false” 改為 allowedOffline=”true” 即可儲存。
解壓縮 KB976933-LangsCab0.cab 到 KB976933-LangsCab6.cab
完成了以上步驟之後,接下來就是要收尾的時候了,選取 KB976933-LangsCab0.cab 到 KB976933-LangsCab6.cab 七個檔案,直接解壓縮至此,如果有檔案衝突,一律選擇覆蓋。
以上就完成了 SP1 的前置作業。
整合 IE11 準備工作
操作方式與整合 SP1 的前置作業雷同,先將檔案下載至電腦中,並透過 CMD 指令將檔案解出。
IE11-Windows6.1-x86-zh-tw.exe /x:D:\Windows\IE11_x86 IE11-Windows6.1-x64-zh-tw.exe /x:D:\Windows\IE11_x64
因為懶得重新截圖了,指令指向路徑還是舊的。
置入 IE11 修正檔
將下載下來的 IE11 修正檔與解出的 IE11 檔案放置相同目錄,例如上方解出位置為”D:\Windows\IE\[Bit]”,則將 x86 及 x64 修正檔放置相對應的目錄。
更新 Windows7 前置作業
將下載下來的更新包(2016/01),對檔案 Setup.exe 使用壓縮軟體開啟(7-Zip / WinRAR 皆可),開啟後將 7SP1 中的 1、2、3、4,解壓縮到 “D:\Windows\UPdate_[Bit]” 資料夾。
setup.exe 可以不用放入沒關西,站長是為了方便操作才順便將他丟進去的。
開始建置並整合 Windows
首先需要注意的地方是指令 Mount-Wim 掛載卷宗 Index 的部分,在這邊站長的 ISO 卷宗 1 與 2 分別為 x86 與 x64,如果你不確定你的 ISO 卷宗分配的話可以用以下指令查看。
DISM /GET-WIMINFO /WIMFILE:[路徑]
確認之後,在你整合的 Windows 資料夾下,建立一個記事本,參考以下指令,並存成 .bat 或是 .cmd 的檔案,接著使用系統管理員權限開啟,便會自動開始整合。(需長時間工作,建議有充足時間再進行整合)
DISM /Mount-Wim /WimFile:D:\Windows\install.wim /Index:1 /MountDir:D:\Windows\WIM DISM /Image:D:\Windows\WIM /Add-package /Packagepath:D:\Windows\Windows7SP1_x86 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\IE11_x86\Windows6.1-KB2670838-x86.msu DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\IE11_x86\IE-Win7.CAB /PackagePath:D:\Windows\IE11_x86\ielangpack-zh-TW.CAB DISM /image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\IE11_x86\IE-Hyphenation-en.MSU /PackagePath:D:\Windows\IE11_x86\IE-Spelling-en.MSU DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x86\01 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x86\02 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x86\03 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x86\04 DISM /Unmount-Wim /MountDir:D:\Windows\WIM /commit pause > nul DISM /Mount-Wim /WimFile:D:\Windows\install.wim /Index:2 /MountDir:D:\Windows\WIM DISM /Image:D:\Windows\WIM /Add-package /Packagepath:D:\Windows\Windows7SP1_x64 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\IE11_x64\Windows6.1-KB2670838-x64.msu DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\IE11_x64\IE-Win7.CAB /PackagePath:D:\Windows\IE11_x64\ielangpack-zh-TW.CAB DISM /image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\IE11_x64\IE-Hyphenation-en.MSU /PackagePath:D:\Windows\IE11_x64\IE-Spelling-en.MSU DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x64\01 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x64\02 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x64\03 DISM /Image:D:\Windows\WIM /Add-Package /PackagePath:D:\Windows\UPdate_x64\04 DISM /Unmount-Wim /MountDir:D:\Windows\WIM /commit
在更新 x86 完成後,我有設定一個 按下任意件繼續 的指令 pause > nul,由於整合更新的時間很長,為了方便檢視有無更新上的問題,來決定 x64 是否該繼續更新,也可以在每一個部分更新完就新增一個 pause。
整合示意圖
封裝開始
封裝完成
簡單解析指令
將 WIM 檔案的特定卷宗解出到指定目錄。
DISM /Mount-Wim /WimFile:[WIM 檔案位置] /Index:[卷宗] /MountDir:[解出位置]
加入檔案封裝指令
DISM /Image:[WIM 解出位置] /Add-package /Packagepath:[要加入封裝的檔案路徑]
封裝 WIM 檔案
DISM /Unmount-Wim /MountDir:[WIM 解出位置] /commit
*******
另外發現一點,原本路徑是直接設定 /WimFile:install 及 /MountDir:WIM,甚至所有有關路徑的部分,在 Windows 10 下會找不到路徑…,所以之後全部改用絕對路徑,上方的指令也已經修正,請各位如果沿用指令,務必確定指令所指定的目錄是否正確。
*******
無法順利卸除
如果無法卸載完成,請嘗試以下指令,之後再進行一次卸除指令。
DISM /Cleanup-Wim
或者可以向 MkS 一樣建立一個 .bat 或 .cmd,指令如下:
DISM /Cleanup-Wim DISM /Unmount-Wim /MountDir:D:\Windows\WIM /commit
基本上這邊清除有兩個作法,分別為 DISM 指令與第三方工具 imagex,兩種方式都可以做卸除的工作。
DISM /Cleanup-Wim
imagex.exe /Cleanup
如何使用 WIM 檔案
Q:由於我們整合的部分只有 WIM 檔,而 WIM 檔又該如何使用呢?
A:站長的方式是將 Windows 7 安裝光碟內的檔案全部取出,改用隨身碟建立 Grub4dos 的方式來做 MBR 引導,同時又兼具檢測功能。
總結
整合時間站長並沒有實際算過,包含 x86 及 x64 兩個位元的整合時間,但估計至少要 3 小時,甚至更長久的時間,再包含整合的前置作業,幾乎用掉半天時間了。
最後比較一下整合前與整合後的 WIM 檔案大小,大概差了1.8倍左右。
最後經過測試,安裝成功,確認已是 SP1,同時也包含更新。