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

/ 分類: , / 909 則回應

標籤: , ,

即便 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/10/16)

封裝基礎更新

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

額外封裝軟體

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

重要更新未封裝

  • 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_20171016.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_20171016.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 驅動程式

一般留言 (909)

  1. 請問為什麼我把mdm*、prn*驅動刪除後install.wim也沒縮小太多,刪除前我看print的driver就有500多MB可以刪除後unmount的wim檔縮小了不到100MB呢?

  2. 封裝完成後,在VirtualBox 測試win7 正常,但安裝 Bullzip PDF Printer 不成功
    想請問可造成原因. 謝謝!

  3. 請問可以更改 C:\W7SP2\ 這個預設路徑嗎?

    • 我有留意到這個新聞,不過這陣子真的忙到沒時間處理相關更新,下次更新大概會抓在清明連假,謝謝你的提醒

  4. 感謝大大提供的教學,照批次檔做已成功整合,但有個問題想請教,增加package或driver有順序的問題嗎?
    例如封裝install.wim,第一次掛載後加入KB3020369就卸載,然後再掛載第二次再加從KB3125574開始加全部,什麼情況下就需要分開封裝?

  5. 請問這個檔案SetupComplete.cmd有要執行嗎

  6. 1月26日在B75(華碩、技嘉)都抓不到USB3,但是華碩H77倒是可以。
    12月以前的USB3驅動程式包是可以正常啟動B75的USB3來繼續安裝Windows 7。

    • 這個部份一直都是比較難驗證的部份,由於手邊並無這樣多的硬體可以實際測試,只能在有新版驅動程式釋出時重新追加或調整,我會再想看看看這個部份該如何處理,很謝謝你的回饋資訊

      • 那好像是INTEL的驅動一直更新的部分,導致新驅動不支援舊驅動,像新的200系列主機板也沒辦法用100系列的USB驅動安裝QQ會抓不到USB

  7. 由於找不到中的ISO WIN7,手上只有:en_windows_7_ultimate_x64_dvd_x15-65922,但如果對應大大的windows-7-sp1-x64-cht_20170126.ulz,去到,
    點選 install.bat 按下滑鼠右鍵,選取 “以系統管理員身份執行” (批次檔內容如上,要注意的是上面 index 的參數,請依照手邊的 iSO 版本進行修改,1~4 分別代表 HOME BASIC、HOME PREMIUM、ROFESSIONAL、ULTIMATE,企業版請使用 index:1)
    這一步他顯示錯誤,求救下小弟

  8. 前輩請問有整合好的ISO檔下載嗎?

    試了好幾次USB開機後,都會顯示winload.exe遺失。

    • 可能的話,請下載微軟官方ISO進行封裝,然後使用 Rufus 製作可開機隨身碟試試看,因為微軟重製散佈的一些規範,不提供製作好的ISO檔,這點還請見諒

  9. 大大您好,想嘗試重灌自己的電腦,已經使用Windows7-USB-DVD-tool把程式用進USB裡面,並以USB開機,但目前卡在一個沒有背景 只有鼠標的畫面,請問該如何處理呢 !?

    • 個人沒遇過類似狀況,有點難判斷原因,可能的話,試試看 Rufus 來製作可安裝隨身碟試試看

  10. 您好 照大大的封裝步驟 WUD 全部下載 目前封裝正常
    但是發現
    無論是x86 or x64 系統安裝完成後
    程式管理 皆沒有看到 VC++ 系列或者 netframework 4.6.2 已安裝上去
    請問是哪裡可能有問題嗎

    • 這個部分可能要實際看 Windows 7 在安裝過程中,執行 SetupComplete.cmd 跳出的回應才能判斷了,下一版我會依照 Jia 的分享經驗調整一下,看看是否能夠解決沒有封裝進去的問題

  11. 請問大家Windows Updates Downloader 還能用嗎 用貴版提供X86 X64都會出現程式無法回應關閉ㄒ但是用官方其他ULZ是正常的 之前只成功下載一次後來換幾台電腦都這樣
    順便一問有人用RT 7 LITE封裝嗎 我4和1版本 封裝完只有其中一個版本成功
    還有.NET Framework 4.6.2這部分看不太懂 怎封裝在第一頁那邊就封裝過了嗎
    現下在WUD無法下載也不能試了
    謝謝

    • 你有沒有先點建立下載更新路徑.bat去產生資料夾
      因為ulz裡面izaka大把路徑寫死了 要是你沒有那些資料夾 程式就會沒有回應然後關閉

      RT 7 LITE我沒用過 就請有用過的回答了
      個人是用bat套用更新後 搭配Dism++和NTLite來封裝esd檔

      NET Framework封裝已經有在install.bat裡了 第三篇上面有寫純粹紀錄而已

      以上

    • 不要用RT 7 Lite,那玩意已經很久沒更新,微軟後來便利性彙總後就開始有些變動,軟體不夠新可能會出問題。

      .Net Framework 4.6.2是封裝完自動安裝,跟第1頁沒有直接關係。

    • 請確認開始下載之前,有先執行 “建立下載更新路徑.bat” 這個批次檔,預先建立下載對應路徑,至於 .NET Framework 那個部分僅作為記錄用途,另外 WUD 無法下載是指 ?!

  12. 這邊附上自己修改的1/26 x86版.ulz檔給大家下載:
    https://www.dropbox.com/s/vzbthfow3iook2i/windows-7-sp1-x86-cht_20170126.ulz?dl=0
    經過測試是可以正常封裝並安裝的
    記得在封裝的時候 要把install.bat裡面的x64都改過去x86 不然會封裝錯誤!
    如果有發生錯誤 再請回報 謝謝!

    把所有更新檔連結替換真是辛苦 還好現在有微軟的彙總更新包
    不然之前幾百個更新檔 連結根本換不完><

    對了 大概看了一下 在OPTIONAL 有部分更新檔都有被彙總更新代替掉
    再麻煩izaka大比對一下 謝謝囉!

    • 彙總更新替換掉的選擇性更新我有注意到,不過不確定是不是封裝流程的關係,還是會出現,所以就仍然包在 ulz 裏頭,另外謝謝你的 x86.ulz 分享

      • 了解 原來是這樣子啊!

        不客氣!如果izaka大方便的話 希望之後也可以順便把x86的一起更新XD

        話說x86/x64裡面都還是會出現一個SP1的更新(KB多少我忘了)
        不知道有沒有辦法修正?

        • 那個 KB 實際去找對應連結,出現的就是 Windows 7 升級 SP1 的更新,沒特別打算處理了

    • 感謝 Jia Chun Li
      用你的ulz x86正常
      但是 改成x64 後 皆找不到
      不知道是哪裡出了問題
      可以幫忙看一下嗎 或者 可以提供x64 版嗎
      http://nas.darrenspaces.ga:65300/sharing/F079BzWAq
      謝謝

      • 不曉得你所謂的 改成 x64 後,皆找不到是指 ?!

        • 感謝回覆
          兩種狀況
          1.WUD 會直接掛掉
          但有先執行 建立下載更新路徑.bat
          2.執行會找不到下載連結

          • 麻煩到 C:\Users\使用者\AppData\Local\Supremus Corporation\Windows Updates Downloader\ 下刪除之前所有的 ulz 再重新匯入 ulz 之後開啟 WUD 試試看

  13. 請問我WINDOWS是多合一版本INDEX那邊參數是要填多少 謝謝

  14. 想請問一下izaka大大, 我在執行install.bat後
    他一直卡在下圖的畫面, 請問是出了什麼問題嗎?
    http://imgur.com/a/tQLmU

    • 抱歉,不是很確定造成的原因,個人封裝過程中並未遭遇到類似狀況

    • 我也沒有發生!
      建議製作整合時,防毒軟體都關閉,
      還有系統C槽 要給一定的足夠空間,比較不會有異常發生,
      再跑整合的時候,盡量不要去點 C:\W7SP2\mount 這個資料夾
      不然可能會發生 install.wim 掛載或卸載異常

      (純個人經驗分享)

  15. 您好,我想編輯UL檔案,但是我要如何把編輯完的UL檔”封裝”成ulz檔呢?

    • 可用解壓縮工具把 ulz –> ul,編輯完畢後,再用壓縮軟體將 ul –> zip 然後 rename ulz 即可

  16. 你好 請問一下,我再整合NVME至BOOT.wim index:2,測試過程發現只要整合過這兩個hotfix,在開啟安裝程式時,都會找不到VMWARE得所有硬碟(SATA IDE SCSI),但是,經由cmd和瀏覽資料夾看得到硬碟,這樣的情形有遇過嗎?

  17. 目前整合驅動,除了用其他第三方程式之外,我個人是使用微軟的官方驅動
    是整合在 install.wim的,非boot.wim,提供給網友參考

    1.請到網站 http://catalog.update.microsoft.com/v7/site/home.aspx 搜尋驅動

    2.這裡的驅動就是 Windows Update 裡面顯示的驅動,只要把Windows Update 所顯示
    要更新的驅動名稱複製到這個網站搜尋幾乎都可以找到一模一樣的。但請注意
    32跟64位元、版本更新日期,因為最近一直都有win10的驅動在新增!相信這個方法
    在以後要轉到 win10 肯定會用到。

    考量光碟容量,以網卡驅動居多,常見的如下:
    Realtek – Network – Realtek PCIe GBE Family Controller
    PXI – Other hardware – HID-compliand device
    Intel – LAN, LAN (Server) – Intel(R) Gigabit CT Desktop Adapter
    Atheros – Network – Atheros AR8152 PCI-E Fast Ethernet Controller

    註:搜尋上請注意關鍵字
    例如:Realtek PCIe GBE Family Controller
    →→可能會把XP到win10全部列出來

    例如:Realtek PCIe GBE Family Controller windows7
    →→後面 空白鍵+ windows 7 會優先把windows 7 篩選出來

    3.下載後的檔案都是 *.cab 檔案,仿造 boot.cmd,將整合驅動指令
    boot.wim 改成 install.wim、Driver[資料夾] 改成Driver2 ,
    /index 的部分依照wim檔案配置,把所有下載的 *.cab 都放到 Driver2 就可以整合成功!

    註:
    1.為了增加光碟容量,我個人是把版本獨立出來單獨旗艦版或家用進階版
    2.個人衷心建議…別把所有驅動塞進去!建議只塞 極重要性的驅動就好!

發表迴響