Site icon MkS

[系統整合] 整合 Win7 & 10(7 包含 IE & 2017 12 月份所有更新)並置入 GRUB4DOS 製作系統碟

由於受朋友委託,需要幫忙製作一份系統碟,然而幫忙規劃可以安裝主流作業系統 Win7 & Win10,此外由於 Win7 更新眾多,安裝完成之後必須花很長的時間在等待更新完成,也希望我可以幫忙整合更新,當然這些要求對 MksYi 來說已經是輕而易舉,也爽快的答應了,系統 Menu 採用 GRUB4DOS 來進行設計,在此也將過程記錄下來,有興趣的朋友也可以自己製作屬於自己的系統隨身碟。


前言

什麼是系統碟? 一個隨身碟搭載了作業系統並擁有安裝作業系統的功能稱作為系統碟,可以參考:ISO to USB

什麼是量產U盤:傳送門
但在此篇文章中並沒有要提到任何的量產技術,之後將會發一篇關於MksYi所使用的 ADATA S102 PRO(2018年購入鈦藍)的量產文章,有興趣的朋友也可以看之前的量產文章S102 PRO 32G 隨身碟 IS916-D1主控量產成功

系統碟製作工具準備

WimTool(Download
會使用 WinTool 是因為他提供了簡易操作 DISM 的 GUI 介面,使得不需要什麼都透過CMD來操作,在此是使用 WimTool 如使用 DISM CLI 指令也是可行。

ISO
要整合的 Windows ISO(在此準備 MSDN Win7 SP1 & Win 10)
在此不提供任何 ISO 使用。

IE11 安裝包(Download
用於整合 Win7 的 IE11安裝包,以及參考舊文「[系統整合] Windows 7 整合 SP1 & IE11 & 2016 1月更新」中的「整合 IE11 準備工作」,或是查看下方內文「IE 更新包先前準備」。

IE11 所須套件 KB2670838(Download
安裝 IE11 之前必要安裝的套件 KB2670838。

Win7 更新包(WANMP Win7更新包
先行下載所有 Win7 的離線更新包。

UltraISO
將 WIM 檔案重新燒回 Windows ISO 之中。

準備工作

在所有的 Windows 系統安裝 ISO 中都包含 install.wim 用於存放所有待安裝的所有系統資料,所以首要的工作就是提取 install.wim 檔案,如果是使用 Win10 的用戶可以雙擊打開 ISO,Win 10便會直接掛載,如果使用 Win7 的用戶可以透過掛載工具,或是直接使用 WinRAR、UltraISO 直接打開 ISO 來進行提取。

WIM 的放置位置為 /sources/install.wim

提取之後我們可以使用 Windows 內建指令 DISM 來進行查看,語法如下。

DISM /GET-WIMINFO /WIMFILE:[WIM檔案路徑]

Windows 7 整合

需要部屬的檔案包含 IE11 整合與更新包,所以都需要先將檔案下載下來,由於現今32位元已經慢慢退場,在此以64位元為主,使用的 ISO 為 MSDN Win7 全版本(家用基本版、家用進階版、專業版、旗艦版)。

IE 更新包先前準備

首先先下載好 x64 的 IE 更新檔案,並且放置於 WIM 同一個資料夾 IE(自行創建)之下,由於安裝包是 exe 檔,無法透過 DISM 進行安裝,所以需要將 exe 解成 msu。

IE11-Windows6.1-x64-zh-tw.exe /x:[路徑]
範例:
IE11-Windows6.1-x64-zh-tw.exe /x:D:\Windows\IE11_x64

提取更新檔案

將下載下來的更新包解壓縮出裡面的 setup.exe,再透過 WinRAR 開啟 setup.exe ,可以看見檔案內容有 01、02、03、NET 四個資料夾,將檔案提取出來與 WIM 檔放置在一塊。

step1

step2

樹狀圖

IE11 放置 IE 相關檔案
MSDN 放置原始 install.wim
Updata 放置更新包資料
WIM-Backup 放置整合完畢的 install.wim
Windows7Tmp 暫存解出 WIM 的檔案內容

進行 Windows7 更新整合

以上工作都完成之後就可以開始進行整合,整合指令一樣使用微軟內建的 DISM,在指令指行之前請先確認指令正確無誤,路徑的部分通常使用絕對路徑,最好再三檢查。

工作路徑為:D:\加工廠\Seg\Windows7\
IE11 路徑為:D:\加工廠\Seg\Windows7\IE11\
更新包路徑為:D:\加工廠\Seg\Windows7\Updata\
解出WIM暫存:D:\加工廠\Seg\Windows7\Windows7Tmp\

以下批次檔案將整合更新 Win7 WIM 檔案中的所有版本,使用前請注意路徑是否相符,並且確認是否啟用管理員身分執行,整合過程可能會耗費較長時間,請耐心等候。

@echo off
DISM /Mount-Wim /WimFile:D:\加工廠\Seg\Windows7\install.wim /Index:1 /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\Windows6.1-KB2670838-x64.msu
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Win7.CAB /PackagePath:D:\加工廠\Seg\Windows7\IE11\ielangpack-zh-TW.CAB
DISM /image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Hyphenation-en.MSU /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Spelling-en.MSU
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\01
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\02
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\03
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\net
DISM /Unmount-Wim /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp /commit

DISM /Mount-Wim /WimFile:D:\加工廠\Seg\Windows7\install.wim /Index:2 /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\Windows6.1-KB2670838-x64.msu
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Win7.CAB /PackagePath:D:\加工廠\Seg\Windows7\IE11\ielangpack-zh-TW.CAB
DISM /image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Hyphenation-en.MSU /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Spelling-en.MSU
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\01
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\02
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\03
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\net
DISM /Unmount-Wim /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp /commit

DISM /Mount-Wim /WimFile:D:\加工廠\Seg\Windows7\install.wim /Index:3 /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\Windows6.1-KB2670838-x64.msu
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Win7.CAB /PackagePath:D:\加工廠\Seg\Windows7\IE11\ielangpack-zh-TW.CAB
DISM /image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Hyphenation-en.MSU /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Spelling-en.MSU
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\01
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\02
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\03
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\net
DISM /Unmount-Wim /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp /commit

DISM /Mount-Wim /WimFile:D:\加工廠\Seg\Windows7\install.wim /Index:4 /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\Windows6.1-KB2670838-x64.msu
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Win7.CAB /PackagePath:D:\加工廠\Seg\Windows7\IE11\ielangpack-zh-TW.CAB
DISM /image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Hyphenation-en.MSU /PackagePath:D:\加工廠\Seg\Windows7\IE11\IE-Spelling-en.MSU
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\01
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\02
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\03
DISM /Image:D:\加工廠\Seg\Windows7\Windows7Tmp /Add-Package /PackagePath:D:\加工廠\Seg\Windows7\Updata\net
DISM /Unmount-Wim /MountDir:D:\加工廠\Seg\Windows7\Windows7Tmp /commit

Windows7 WIM 整合前後比較

整合 Win7 & Win10

為了節省更新問題 Windows 10 的部分採用 MSDN Windows10 1709 版本,由於 1709 已經是 Windows 10 最新的版本了,所以可以省略掉不少大小型更新直接進行整合。

更新的部分可以使用 DISM 指令也可以使用 WIMTool 來進行整合,這部分為求方便直接使用 WIMTool 將 Win7 的卷宗整合到 Win10 的 WIM 中。

檢視整合

整合完畢大小

會發現容量遠超出一張 CD/DVD 的可接受容量,不過我們的目標是建置在 USB 中,製作系統隨身碟,所以沒有容量限制的問題。

透過 UltraISO 製作系統映像檔

首先準備好 UltraISO,並且用 UltraISO 打開 Windows 10 的 ISO。

打開之後,將整合好的 WIM 檔案丟入。

容量炸開沒關係,由於放置在隨身碟之中,所以可以忽略 CD/DVD 的限制,接下來可以選擇另存新檔新建出一個 ISO,這樣整合 Windows7 & 10 的系統就大功告成了。

測試

製作好 ISO 之後呢,可以透過 VM 來測試是否可以正常開機以便安裝。

下一頁:將進行 GRUB4DOS 的整合,打造完整的系統碟。

製作包含 GRUB4DOS 的 ISO

過去曾經寫過「[系統救援] 製作 GRUB4DOS 多功能系統救援隨身碟」,教大家如何製作救援隨身碟,但回去看過之後發現有內文寫錯,截圖也有些問題,所以打算在從新寫過一次,關於什麼是 GRUB4DOS 也不再重述。

首先 GRUB4DOS 一直是有人在維護的,可以至 http://grub4dos.chenall.net/categories/downloads/ 下載最新版本。

使用方法很簡單,將下載下來的壓縮檔打開,並解壓縮裡面的 grldr(無附檔名),並且在透過 UltraISO 打開稍早製作的 ISO,將 grldr 匯入並點選右鍵設定開機檔案。

其中 grldr 這個檔案還需要 menu.lst 當設定選單內容。

menu.lst

選單的語法可以參考這裡,GRUB4DOS 的 menu 還可以附加許多 DOS 工具進行使用,使系統碟進化變得更加強大。

中文字型檔案:下載
工具部分打包在 boot 檔案內(Download
解壓縮密碼為:MksYi分享

以下為 MksYi 的 menu 檔參考:

color yellow/black black/yellow
timeout 20
graphicsmode -1 1024
font /unifont.hex.gz
terminal --font-spacing=0:18

write (md)0x220+1 !BAT\necho -n -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\t\t\t\t\necho -n -P:0100 $[0104]\tMKS 系統碟 由MksYi製作 \0
initscript (md)0x220+1

title 硬碟啟動
map (hd1) (hd0)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)

title 進入 NoName XPE 新版本
find --set-root /boot/XPE/XPE31.iso
map /boot/XPE/XPE31.iso (0xff) || map --mem /boot/XPE/XPE31.iso (0xff)
map --hook
chainloader (0xff)

title Windows Installer (不含軟件自動安裝)
chainloader /bootmgr

title Spfdisk 硬碟分割工具 (DOS版)
find --set-root --ignore-floppies /boot/spfdisk.ima
map --mem /boot/spfdisk.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title DiskGenius磁碟工具(簡體版)\n 數據無價,謹慎操作
map --mem /boot/DGDOS_IMG.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Ghost11.5\n 備份/還原工具
find --set-root --ignore-floppies /boot/ghost.img
map --mem /boot/ghost.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Memtest86+ V5.01\n 記憶體檢測工具
kernel /boot/memtest865.01.bin

title MHDD 壞軌掃描 \n不支援AHCI掃描壞軌 可切換IDE或兼容模式後使用
find --set-root --ignore-floppies /boot/MHDD.IMG
map --mem /boot/MHDD.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title HDD REGENERATOR 壞軌掃描 v1.71 \n支援AHCI
map /boot/HDDREG.img (fd0) || map --mem /boot/HDDREG.img (fd0)
map --hook
find --set-root /hddreg.cab
chainloader ()+1

title Password Changer清除密碼工具\n 清除 WIN XP/2003/7 密碼
map --mem /boot/PASSWORD.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 重新開機
reboot

title 關機
halt

將上頭 GRUB4DOS 的 DOS 執行檔 grldr、menu.lst 與中文字型檔一同 匯入到 ISO 之中並儲存即可。

測試

同樣使用 VM 來進行測試 ISO 是否有成功完成,在此只隨機測試 XPE 是否可以成功啟動。

大功告成。

Exit mobile version