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

/ 分類: , / 795 則回應

標籤: , ,

即便 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 驅動程式,整合至 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/6/22)

封裝基礎更新

  • KB3020369 服務堆疊更新 (April 2015 servicing stack update)
  • KB3125574 便利性彙總套件 (Convenience Rollup)
  • KB3172605 更新彙總套件 (July 2016 update rollup)
  • KB3179573 更新彙總套件 (August 2016 update rollup)
  • KB4022719 更新彙總套件 (2017-06 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 驅動程式包
  • windows-7-sp1-x64-cht_20170621.ulz : 自訂更新下載清單
  • install.bat : install.wim 整合批次檔
  • driver.bat : USB 3.0/3.1 驅動程式整合批次檔
  • 建立下載更新路徑.bat : 建立更新檔下載資料夾
  • SetupComplete.cmd : 安裝 .NET Framework 4.7 & 可轉發套件

操作流程

  • 下載自訂整合工具包,將壓縮檔中的所有資料夾以及檔案解壓縮到 C:\W7SP2
  • 執行 C:\W7SP2\建立下載更新路徑.bat 建立下載更新檔對應資料夾
  • 下載最新版本 Windows Updates Downloader 並安裝
  • 雙擊 windows-7-sp1-x64-cht_20170621.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、ROFESSIONAL、ULTIMATE,企業版請使用 index:1)
  • 在批次檔中加入了暫停的動作,使用者可以參考下文精簡封裝的項次,來手動刪除一些冗餘的檔案
  • 不想異動或者刪除完畢後,可以按任意鍵完成剩餘封裝流程
  • 當封裝完成之後,把 install.wim 拉回 UltraISO 的 \sources\ 覆蓋原始檔,然後另存 iSO 檔之後,整合 IE11+Hotfix 的步驟就告一段落,不過建議實際拿去安裝電腦之前,可以先透過 VMWare 或者 VirtualBox 來驗證整合光碟是否成功
  • 若是想要額外封裝 USB 3.0/3.1 驅動程式,詳見 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 驅動程式

一般留言 (795)

  1. 先前用VM測試自動安裝 .net 462 都失敗,後來將語法改成以下,VM跟MSVC 都有正常安裝,可以參考看看。

    @echo off

    “%WINDIR%\Setup\Files\MSVC\2005SP1\vcredist_x86.exe” /Q
    “%WINDIR%\Setup\Files\MSVC\2008SP1\vcredist_x86.exe” /q
    “%WINDIR%\Setup\Files\MSVC\2010SP1\vcredist_x86.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2010SP1\vcredist_x64.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2012U4\vcredist_x86.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2012U4\vcredist_x64.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2013\vcredist_x86.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2013\vcredist_x64.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2015\vc_redist.x86.exe” /q /norestart
    “%WINDIR%\Setup\Files\MSVC\2015\vc_redist.x64.exe” /q /norestart

    cd %WINDIR%\Setup\Files\NET462

    “%WINDIR%\Setup\Files\NET462\NDP462-KB3151800-x86-x64-AllOS-ENU.exe” /passive /norestart
    “%WINDIR%\Setup\Files\NET462\NDP462-KB3151800-x86-x64-AllOS-CHT.exe” /q /norestart
    “%WINDIR%\Setup\Files\NET462\NDP46-KB3205379-x64.exe” /q /norestart

    rd /q /s “%WINDIR%\Setup\Files”
    del /q /f “%0”

    但是… Files 這個資料可能會刪除失敗,後來再 firstrun.cmd 指令最下面再加一次
    rd /q /s “%WINDIR%\Setup\Files”

    • 有沒有試過 要刪除資料夾之前 先 CD 回到上一層再來處理 ?! (感謝測試心得分享)

      • 沒!! 感謝分享,我再加指令看看

      • 這次測試 2017.01.26 的部分,SetupComplete.cmd 一樣把 NDP462 三個搬到下面,優先安裝MSVC,指令 補了

        cd %WINDIR%\Setup
        rd /q /s “%WINDIR%\Setup\Files”

        安裝後,C:\Windows\Setup 裡面該移除的都移除了,點控制台的[程式和功能]
        也都有把MSVC 跟 .net +語系 都安裝進去,點Windows Update 無發現異常!

  2. 請問用WIN10 ISO 做開機碟,那USB3.0開放哪個路徑(可以用大大的USB驅動放入嗎)?

    • 常用USB3.0控制晶片的驅動程式 Windows 10 應該都已經內建了,無須刻意封裝才是 (文中整理的驅動程式是 for Windows 7 x64 使用)

  3. 大大您好 我之前在回覆地區第八頁 時間是10-14的那位 我原本放棄研究驅動後,近日搞系統的熱情突然出來,之前是說您提供的USB3.0 AMD.TI這兩個 驅動無法安裝進到boot.wim裡面,後來經過一番測試後發現結果是您給的驅動是64位元專用的,而如果不是WIN8以上的boot.wim應該是x86的PE,所以後來我去補了您給的那AMD跟TI(x86)驅動後就能正常安裝到boot.wim瞜~~~
    希望這發現能對後面有出現這問題的人有幫助 也對站長有所貢獻>~<

    • 上面有點小錯誤 文章是給X64的驅動 但因為我本身做整合的時候PE是X86的 所以才無法把驅動整合進去 只要更換X64的PE就能正常整合進去了

  4. izaka版大您好,想請教您一個問題,就是這邊已經有看過您之前的回文(關於整合所有的更新到index1~4),但小弟新手眼拙看不大懂,想請教以2016/12/29這個版本來說,想要整合所有的更新到index1~4的話,install.bat這個檔案要如何修改呢?? 還請您不吝賜教,謝謝您。

  5. 最新版封裝過程為何要重複mount-unmount 這樣好花時間喔
    不能一次或者少次一點嗎

  6. 新版 2016.12.29 的 install.bat
    疑似 少了一行指令
    if not exist C:\W7SP2\mount\Windows\Setup\Files\MSVC md C:\W7SP2\mount\Windows\Setup\Files\MSVC

    執行到後面會出現要複製[目錄]還是[檔案]??!!
    上一版的我個人測試時候, VM裡面是不會自動安裝 .net ,方法尋找中
    其他持續測試中…

  7. 好像很複雜,這個會否比較容易 https://www.ntlite.com/

  8. 您好, 精簡封裝後會產生 C:\install.wim, 請問在”按任意鍵完成剩餘封裝流程”前, 是不是要將此 wim 檔拿去蓋掉 C:\W7SP2\install.wim 再按任意鍵完成剩餘封裝 ?

    • 這樣解釋好了,當 dism mount install.wim,會在指定路徑展開檔案,完成封裝之前,增加一個暫停指令,可以切換到對應的資料夾去刪除不需要的檔案之後,在完成後續封裝,若不打算精簡檔案,直接敲下任意鍵完成封裝,最後產生的 install.wim 在覆蓋 iSO 原本的 install.wim

  9. 有點問題 我製作後的windows7安裝後在windows update中仍有部份patch過的更新檔要更新

  10. 您好 第一次使用封裝動做 處理ISO 檔 ,想請問 封裝過程 部分出現 系統找不到檔案… 這部分我需要檢查什麼嗎?還是可以不理他?
    (有些是寫成功 有些寫失敗)

  11. 版主您好
    小弟跟隨您的教學已久
    每一版都有製作
    最後這一版11/18
    今天剛好有機會裝機
    但安裝好
    卻發現系統只有安裝Microsoft Visual C++
    所有.NET Framework都沒有安裝
    請問這樣正常嗎?

    • 個人封裝過程中並沒有這個狀況,但是部分使用者還是會出現這個狀況,無有效解

  12. 我將usb3.0驅動程式包入後,開機安裝都正常,但是當程式裝完重開機要打入電腦名稱時發現USB3.0又無法啟動
    請問該如何解決?
    感謝

    • 文中將 USB 3.0 驅動程式封裝到 boot.wim 主要是用在安裝過程中可以辨識,進入作業系統之後,請依照主機板的 USB 3.0 晶片組安裝驅動程式

      • 您好
        但因為沒辦法輸入電腦名稱,所以無法完成安裝@@

        • 請先試著將鍵盤插到 USB 2.0 連接埠

          • 您好,因為電腦比較特殊,並沒有USB2.0
            想請教是否可以在install.wim裡面預先加載USB3.0 Driver呢?
            如果可以,請問該如何加入?
            感謝

          • 封裝方式可以參照 boot.bat,只是對應檔案從 boot.wim 換成 install.wim,另外建議 Driver 下僅保留你系統對應的 USB3.0 版本來進行封裝

  13. 請問WUB有下載清單有x86的版本嗎? 我在WUD的網站上選擇中文 , 找不到Win7的更新可以下載 , 還是選英文版本的win7更新就可以了呢? 另外WUD要怎麼自訂路徑至Wi7SP2?
    最後想請問版大是否有在install.wim裡面封裝usb3.0驅動呢?
    後學嘗試過封裝 Intel® USB 3.0 eXtensible Host Controller Driver 這個驅動 , 封裝完安裝可以成功 , 但是開機就會藍屏
    感謝版大的教學文以及經驗分享

    • WUD 官網已經好些時日沒有更新,目前文章內提供的下載清單為個人維護版本,ulz 可用解壓縮軟體解開進行編輯,其語法為 xml
      至於個人封裝 USB 僅針對安裝時需要的 boot.wim 進行驅動程式封裝,並未直接封裝到 install.wim

  14. 請問我的ISO沒有\sources\$OEM$\$$\Setup\這一串路徑是要自己創建資料夾 然後把NET462、MSVC、SetupComplete.cmd這三個東西放進去嗎?

  15. 版大您好:
    2016/11/18整合包有些已被取代的更新,大大有空了確認一下吧
    KB2574819,KB2603229,KB2639308,KB2731771,KB2732059,KB2773072,KB2786081,KB2830477,KB2834140,KB2882822,KB2888049,KB2919469,KB2923545,KB2970228,KB3006137,KB3102429,KB3118401
    已經被KB3125574取代
    KB3172605出現兩次
    KB3020369被KB3177467取代
    KB3184143是移除Win10推廣內容的,理論可以不需要

    • KB3177467會造成整合後續補丁異常,請暫時不要替換

    • 這次更新比較匆促,部分 Optional 是因為就算透過 Roll up 還是會跑出來,至於 IE 的 Prerequisite 的部份我會找時間調整封裝順序,預計 12 月份一併更新

      • KB3177467是在Microsoft®Update Catalog發現被替換掉的

        大大辛苦了

        • 其實我這邊封裝遇到的情況是,替換規替換,封裝的時候卻必須依照特定順序,像是 IE11 的 Prerequisite,位移到最後再來封裝還是會出問題,所以部分 Optional 保留勢不得已的,可能是哪個環節疏忽的,但是沒太多時間去 retry,所以只能持續封裝,這點請多包涵

  16. 下載更新會停止回應為什麼? 我如果用WUD官方的20155月的那個ult就可以正常下載

  17. windows-7-sp1-x64-cht_20160819.ulz導入後再Windows Updates Downloader把所有的下載選項打勾後點Download,出現”Windows Updates Downloader已經停止運作”可是我如果使用舊的windows-7-sp1-x64-enu.ulz就可以正常下載為什麼呢?

  18. 版大您好:
    我使用的是2016/08/19的版本,發現到.net好像都沒有安裝成功,只有vc++有裝到,我是用vmware驗證的,過程中有看到.net的安裝畫面,不過很快就消失了。

    • 可以先確認看看 SetupComplete.cmd 對應路徑以及檔案名稱是否正確

      • 我遇到使用者的反饋是,有的電腦會執行安裝,有的會跳過XD 原因可能還要再調查…

        • 我自己是有遇到在 VM 沒有安裝成功過,可是同樣的 iSO 重跑,又沒問題,所以一下子也抓不到問題出在哪邊 Orz

          • 1118的版本,並使用vmware檢驗,.net還是無法自動安裝,過程中安裝畫面都有出來,但就是會安裝失敗,不過網路有開跟沒開畫面又不太一樣,原本以為是我先把vm裡面的網卡關閉的關係,網卡打開後,安裝.net的畫面會不太一樣,但還是安裝失敗~

            真是怪…到現在我還是找不出原因…Orz…

發表迴響