[教學] Windows 7 x64 SP1 整合光碟製作 (IE11+Hotfix+.NET 4.7+USB 3.0+NVMe)

/ 分類: , / 860 則回應

標籤: , ,

即便 Windows 7 在 2015/13 結束了主流支援的生命週期,加上微軟在 1/21 於西雅圖的發表會推出了 Windows 10,似乎也宣告了新時代的來臨,只是不可至否的是,Windows 7 依然是目前佔有率最高的微軟作業系統,遠遠將 Windows 8/8.1 拋在後頭,就算 Windows 10 正式推出後想要靠著免費升級的方式吸引使用者來拉抬佔有率,不過要到 2020/1/14 才會中止延伸支援的 Windows 7 要延續 XP 再戰十年的口號,應該還是很有機會。

由於微軟的更新有很嚴重的依存關係,甚至不同版本的瀏覽器或者 .NET Framework,也會因為使用者環境差異代出不完全相同的更新清單,部份更新更有取代關係,雖然坊間有不少打包好的離線更新包,縮短了下載的時間,只是在 Windows 7 SP1 之後微軟就沒有推出新的整合版本,重要更新和選擇性更新全部加起來也是超過 150 個以上,即便目前很多人的系統碟改成 SSD,安裝所有更新會耗費的時間還是讓人無法忽略。

至於整合項目還是有個人偏好的成份在內,主要是以 Internet Explorer 11 & .NET Framework 3.5.1 為基礎,將微軟所提供的最新 Hotfix (不包含每月更新彙總套件預覽)以及常見 USB 3.0/3.1 與 NVMe 驅動程式,整合至 Windows 7 Service Pack 1 x64 版本之中,詳細封裝內容可參考 Changelog。

這陣子花了不少時間在安裝流程的調整,以及安裝更新檔的下載來源做簡化,由於個人傾向於不做打包的動作,所有的檔案還是經由微軟的網站下載來減少疑慮,自訂下載清單的部份,最後是透過 Windows Updates Downloader (WUD) 來輔助,下面就是整合光碟製作需要的相關批次檔連結,除非有能力自行配置,不然建議還是依樣畫葫蘆,免得處理過程中造成批次檔執行過程中出現錯誤。

一般封裝會建議還是使用微軟官方所提供的光碟映像,若是不確定手中的版本是否為已經封裝過的整合版本或者手邊無現成可使用的ISO檔,可以參考微軟光碟映像下載工具這篇文章使用 Microsoft Windows and Office ISO Download Tool 產生下載連結並直接從微軟網站取得光碟映像。

另外要注意的是,微軟從 KB4012218 (三月份更新彙總套件預覽)開始導入檢查安裝作業系統電腦處理器,使用 Intel Kaby Lake 或者 AMD Bristol Ridge 系列之後的新款處理器的使用者,會在執行更新時看到 Unsupported Hardware 的字樣,告知使用者未來不會獲得任何的安全更新,KB4015549 四月份彙總套件更失手阻擋 AMD Carrizo 系列處理器取得更新,目前解決無法繼續更新的問題,可以透過 zeffy 在 Github 上釋出的 wuaueng.dll 補丁修補工具來規避處理器檢查機制,詳見 kb4012218-19 專案說明。

Changelog (2017/8/11)

封裝基礎更新

  • KB3020369 服務堆疊更新 (April 2015 servicing stack update)
  • KB3125574 便利性彙總套件 (Convenience Rollup)
  • KB3172605 更新彙總套件 (July 2016 update rollup)
  • KB3179573 更新彙總套件 (August 2016 update rollup)
  • KB4034664 更新彙總套件 (2017-08 Security Monthly Quality Rollup)

額外封裝軟體

  • Microsoft Visual C++ 可轉散發套件 (含2005~2015)
  • .NET Framework 4.7 (含語言套件)
  • KB4019112 更新彙總套件 (May, 2017 Security and Quality Rollup for .NET Framework 3.5.1)

重要更新未封裝

  • KB890830 微軟惡意軟體移除工具
  • KB915597 Windows Defender 更新
  • KB971033 You-Know-Who 😈

選擇性更新未封裝

  • KB2952664 Windows 10 推廣相關
  • KB3021917 客戶經驗改進計畫 (CEIP),涉及使用者隱私
  • KB3068708 客戶經驗改進計畫 (CEIP),涉及使用者隱私
  • KB3080149 客戶經驗改進計畫 (CEIP),涉及使用者隱私
  • KB3035583 Windows 10 推廣相關
  • KB3075249 客戶經驗改進計畫 (CEIP),涉及使用者隱私
  • KB3123862 Windows 10 推廣相關
  • KB3173040 Windows 10 推廣相關

Windows 7 x64 iSO & 打包相關工具

自訂整合工具包包含項目

  • DRIVER : USB 3.0/3.1 與 NVMe 驅動程式包
  • windows-7-sp1-x64-cht_20170811.ulz : 自訂更新下載清單
  • install.bat : install.wim 整合批次檔
  • driver.bat : USB 3.0/3.1 與 NVMe 驅動程式整合批次檔
  • 建立下載更新路徑.bat : 建立更新檔下載資料夾
  • SetupComplete.cmd : 安裝 .NET Framework 4.7 & 可轉發套件

操作流程

  • 下載自訂整合工具包,將壓縮檔中的所有資料夾以及檔案解壓縮到 C:\W7SP2
  • 執行 C:\W7SP2\建立下載更新路徑.bat 建立下載更新檔對應資料夾
  • 下載最新版本 Windows Updates Downloader 並安裝
  • 雙擊 windows-7-sp1-x64-cht_20170811.ulz 載入更新檔下載清單
  • 開啟 WUD 並依序確認①選取要下載 Update List (日期),②忽略軟體預設下載路徑 (ulz已經寫死下載路徑到 C:\W7SP2),③勾選清單內所有下載更新類別

  • 啟用 WUD 後,勾選所有項目,按下 Download,會直接從微軟網站下載相關更新檔
  • 使用 UltraISO 開啟 iSO 檔,將 \sources\install.wim 複製到 C:\W7SP2

  • 等待 WUD 下載更新檔完畢之後,點選 install.bat 按下滑鼠右鍵,選取 “以系統管理員身份執行” (批次檔內容如上,要注意的是上面 index 的參數,請依照手邊的 iSO 版本進行修改,1~4 分別代表 HOME BASIC、HOME PREMIUM、PROFESSIONAL、ULTIMATE,企業版請使用 index:1)
  • 在批次檔中加入了暫停的動作,使用者可以參考下文精簡封裝的項次,來手動刪除一些冗餘的檔案
  • 不想異動或者刪除完畢後,可以按任意鍵完成剩餘封裝流程
  • 當封裝完成之後,把 install.wim 拉回 UltraISO 的 \sources\ 覆蓋原始檔,然後另存 iSO 檔之後,整合 IE11+Hotfix 的步驟就告一段落,不過建議實際拿去安裝電腦之前,可以先透過 VMWare 或者 VirtualBox 來驗證整合光碟是否成功
  • 若是想要額外封裝 USB 3.0/3.1 與 NVMe 驅動程式,詳見 Page 2
  • 想要提高 install.wim 壓縮比來減低檔案大小,詳見 Page 3

精簡封裝檔

原始的 iSO 檔中,其實有不少東西對一般使用者並無太大用處,封裝更新檔的同時,也會產生備份資訊,相較於原始的 install.wim,整個檔案會變成非常的臃腫,在上面封裝流程暫停的時候,可依照下方的參照資訊移除冗餘的檔案,不過由於\mount\資料夾還處於掛載的狀態,因為檔案權限關係,請參考 取得檔案/資料夾存取權限 (Windows7/8/10) 一文,取得資料夾/檔案管理者權限才能刪除。

  • 移除對象 : 更新還原檔
  • 檔案路徑 : C:\W7SP2\mount\Windows\winsxs\Backup
  • 注意事項 : 若是不打算還原更新,路徑下方檔案可以全數移除
  • 移除對象 : 公用範例檔
  • 檔案路徑 : C:\W7SP2\mount\Users\Public
  • 注意事項 : 公用資料夾下方的範例檔案全數都可以刪除
  • 移除對象 : 桌布檔
  • 檔案路徑 : C:\W7SP2\mount\Windows\Web\Wallpaper
  • 注意事項 : 建議僅保留 Windows 下的桌布檔案,其餘分項皆可直接移除
  • 移除對象 : 預先搭載驅動程式
  • 檔案路徑 : C:\W7SP2\mount\Windows\System32\DriverStore\FileRepository
  • 檔案路徑 : C:\W7SP2\mount\Windows\inf
  • 注意事項 : 預先搭載的驅動程式,種類繁雜,個人會刪除 mdm*、prn*
  • 移除對象 : 微軟輸入法
  • 檔案路徑 : C:\W7SP2\mount\Windows\IME
  • 檔案路徑 : C:\W7SP2\mount\Windows\System32\IME
  • 檔案路徑 : C:\W7SP2\mount\Windows\SysWOW64\IME
  • 注意事項 : 移除 IMEJP10、imekr8、IMESC5 (日文、韓文、簡體中文輸入法)
  • 移除對象 : 開機語系檔
  • 檔案路徑 : C:\W7SP2\mount\Windows\Boot\EFI
  • 檔案路徑 : C:\W7SP2\mount\Windows\Boot\PCAT
  • 注意事項 : 移除不需要的語系資料夾,僅保留 en-US 和 zh-TW (不要動到其餘檔案)
  • 檔案路徑 : C:\W7SP2\mount\Windows\Boot\Fonts
  • 注意事項 : 移除不需要字型檔,包含 chs、jpn、kor_boot.ttf

Page 2 : 整合 USB 3.0/3.1 與 NVMe 驅動程式

一般留言 (860)

  1. izaka 大大你好:
    經過一測試後目前intall.win的封裝以全部完成
    但是小弟的boot.win也有問題了:
    USB3.0的驅動封裝明明成功了 但是進行最後的印象檔掛載時卻出限權限問題= =
    我唯一做過的變動就只有把C:\W7SP2\DRIVER\USB3內的所有驅動刪到只剩我所需要的那個
    Intel_5.0.3.42 的driver而以,可不可以請大大再幫小第DeBug一下看是什麼問題??? QAQ
    付上問題之圖片:

    https://drive.google.com/file/d/0BwBUNR5p0km2bEdzcFhPN0FIR2s/view?usp=sharing

    • 感謝izaka 大大 , 我找出問題的所在了@@ 原來小弟boot.win的檔案根本就沒有從ios中題曲出來 , 這種低能的失誤還再這裡洗版 , 真的非常抱歉Orz…………….

  2. 大大 我在封裝上遇到了 以下的問題:

    C:\W7SP2>install.bat
    部署映像服務與管理工具
    版本: 6.3.9600.17031
    錯誤: 0xc1510113
    WIM 沒有指定的映像。
    請先檢查 WIM 是否已經有映像。
    在 C:\Windows\Logs\DISM\dism.log 中可找到 DISM 記錄檔
    部署映像服務與管理工具
    版本: 6.3.9600.17031
    錯誤: 2
    無法存取映像。
    請確定映像路徑和映像的 Windows 目錄存在,且您擁有資料夾的讀取權限。
    在 C:\Windows\Logs\DISM\dism.log 中可找到 DISM 記錄檔

    我有爬文去找其他的留言, 你們有提到 win7 x64 要使用ULTIMATE版提取的intall.wim 才能成功封裝 , 那請問我如果要裝 Pro版的是要 先用ULTIMATE版的wim封裝完整合的物件之後 , 再覆蓋到Pro版ios裡的intall.wim嗎? 還是這種封裝型態只能用在ULTIMATE版的win7? (完全不會程式的新手請教@@

    • 如果你的 ISO 是 PROFESSIONAL,請嘗試將 install.bat 裡面 index:4 全部至換成 index:3 試試看

      • izaka 大感謝教學 , 可以正常封裝了但是 , 現載有了另一個問題QAQ
        我封裝時只有一個更新會進行封裝 , 封裝完後會掛載映像檔3 , 但之後又會卸載 , 然後
        系統又會重新一次流程 , 但就卡在” 正在進行1之1- ” 然後就卡死了QAQ??? 請問是發生了什麼異常???(抱歉一直問但小弟真的很想學會QWQ
        PS:小弟的路徑跟檔案位置全部都有檢查過 附上:Cmd 跟 install.bat 的比對圖片
        https://drive.google.com/file/d/0BwBUNR5p0km2QmtrNTQ1YTE4TnM/view?usp=sharing

        • 原本的 install.bat 的確會在封裝一部分更新後卸載在重新掛起來,不過我目前沒辦法重現你的狀況,想請問一下你所使用的 ISO 版本為何?!下載管道是?!

          • 小弟的ios檔案是:Win7_Pro_SP1_Chinese(Traditional)_x64
            下載管道是透過最新版的 Windows Updates Downloader

          • 這樣應該是同一個版本

          • 回報izaka大大:
            小弟今天測試了一個早上發現, 很有可能是硬體的問題, 因為今天做一樣的測試, 小弟卡在一樣的階段, 但我擺了2個半小時之後發現居然開始封裝後面的檔案了(但是速度依然爆慢), 查了一下這台桌機的規格, 局然發現是win7 x86 然後記憶體只有3G… CPU也是很爛的那種…
            決定今天回家再用自己 i5 SSD的桌機封裝看看= =
            最好感謝izaka大大這兩天不厭其煩的教學, 讓晚輩獲益良多^_^

          • 這記憶體和處理器效能的確多少會造成一點影響,如果換電腦封裝還是出現類似問題再一起討論可能的解決方式

  3. 業界新手感謝 izaka 高手的無私分享 , 其實常常來這裡看教學文 , 但是都忘記要給個回復(真的很抱歉) , 最近公司有批新的備機 結果都沒有PS2介面 Q_Q Win7裝好後都卡死在輸入PC名稱的地方… 搞得小弟重灌到不要不要的= = 剛好找到這篇文章救了小弟一命 真的感激萬分QAQ

  4. izaka 大您好
    請問如果想封裝 Win10 可以參考您 Win7 這篇的教學步驟嗎?

    因為之前有參照您的文章成功整合,目前是想試試看整合 Win10 的 iso,不知道是否有特別須注意的地方?

    先感謝您的回覆~

  5. 版大你好、
    dotnet 4.7需要添加兩個更新檔才可,編號是
    KB4032113內的KB4024848、KB4014596、KB4019990
    KB4019112內的KB4014504
    這兩個更新檔的下載地址在 catalog.update.microsoft.com 可以抓取到

    望版大下次維護時添加一下

    • 這邊要說明一下,Security and Quality Rollup for .NET Framework 的部份個人不會去封裝帶有 Preview 字樣的選擇性更新,雖然 KB4032113 有更新 for .NET 4.7 的部份(KB4024848),另外也謝謝提醒 KB4019990 的部份,我真的漏掉沒上,至於 KB4014504 應該是有封裝才是 /NET351/,這個部份在麻煩你確認一下

      • 感謝版大對 Preview 字樣更新解惑
        KB4014504 這個大概是我這裡 download 時缺失所出現的問題、十分抱歉

        • 太客氣了,還是很謝謝每一位反饋的使用者

          • 分享一个自用的 install.bat 脚本代码好了、
            install.bat、install.wim、补丁在一个路径下时运行即可、如果需要指定其他路径可用如下指令

            install.bat [wim文件位置] [wim内索引编号] [补丁存放位置]

            [code]
            @ECHO OFF
            SETLOCAL

            SET WimFile=%1
            SET WimIndex=%2
            SET PatchPackagePath=%3

            IF NOT DEFINED WimFile SET WimFile=%~dp0\install.wim
            IF NOT DEFINED WimIndex SET WimIndex=4
            IF NOT DEFINED PatchPackagePath SET PatchPackagePath=%~dp0

            SET TMP=%~dp0\temp_%WimIndex%
            SET MountDir=%~dp0\mount_%WimIndex%

            IF NOT EXIST %TMP% MKDIR %TMP%
            IF NOT EXIST %MountDir% MKDIR %MountDir%

            dism /Mount-Wim /WimFile:%WimFile% /Index:%WimIndex% /MountDir:%MountDir%
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Convenience-Pre
            dism /Unmount-Wim /MountDir:%MountDir% /commit

            FOR /f %%b IN (‘DIR /b /s “%PatchPackagePath%\IE11\IE11*.exe”‘) DO “%%b” /X:%PatchPackagePath%\IE11\temp && DEL %PatchPackagePath%\IE11\temp\IE_SUPPORT_*.cab
            dism /Mount-Wim /WimFile:%WimFile% /Index:%WimIndex% /MountDir:%MountDir%
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Convenience

            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\IE11\Prerequisite
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\IE11\Neutral
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\IE11\temp

            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Other
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\NET351
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Optional
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Important
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Convenience-Month
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\NVMe

            PAUSE

            dism /Unmount-Wim /MountDir:%MountDir% /commit
            ::dism /Unmount-Wim /MountDir:%MountDir% /discard

            IF EXIST %TMP% RMDIR %TMP% /Q /S
            IF EXIST %MountDir% RMDIR %MountDir% /Q /S
            IF EXIST %PatchPackagePath%\IE11\temp RMDIR %PatchPackagePath%\IE11\temp /Q /S

            ENDLOCAL
            PAUSE

            [/code]

          • 謝謝你的分享 🙂

  6. 剛剛測試使用Dism++可以正常安裝,不會出現任何問題
    但是在win10 15063的dism就會卡死很久,舊版的win10應該是正常,因為之前都是OK的。

    • 這幾天我在試試看會不會有你提到的狀況

      • 我用了Dism++加入IE11之前的3個更新檔,加入的速度都很正常。
        但是我發現,跑到後面封裝一些更新的時候,問題又出現了,看來可能是整個dism的問題,再麻煩izaka測試看看,感謝!!

  7. izaka你好,
    想請問一下不知道有沒有人遇到KB3125574-v4更新檔
    套用更新的時候都會卡很久(起碼超過40分鐘)
    並且會癱瘓掉整個網路環境?
    (我已經嘗試過在SSD或HDD底下做,也換了另一台電腦,都是一樣的結果)

    • 個人封裝測試作業系統是 Windows 10 (15063.413),通常 DISM 的時候我都是丟在背景然後繼續忙,似乎沒有遇到卡住甚至網路癱瘓的情況發生

      • 我的環境是win10 (15063.483),以前製作都很正常,讓dism在後台跑就OK了
        現在不但不能同時做其他事情,還會影響到其他設備的上網。

  8. 請問如何整合 MSDaRT,並且可以按 Shift+F10 藉由 CMD 視窗調用

發表迴響