Skip to content

Instantly share code, notes, and snippets.

@muink
Last active December 29, 2024 10:29
Show Gist options
  • Save muink/6523b401af0e383d90ab189c85e860cd to your computer and use it in GitHub Desktop.
Save muink/6523b401af0e383d90ab189c85e860cd to your computer and use it in GitHub Desktop.
Windows 7 x64 镜像整合 (ie11 sp2 sha-2 xhci NVMe uefi 规避硬件检查 常用运行库)

Windows 7 x64 镜像整合 (ie11 sp2 sha-2 xhci NVMe uefi 规避硬件检查 常用运行库)

[toc]

工具与材料准备

  1. Windows 7 64位 MSDN 镜像
  1. Windows 10 64位 MSDN 镜像 (建议至少1703版本) 原生支持xhci nvme uefi的引导镜像
  2. DISM GUI 4.0Dism++ 用于修改wim档内容
  3. GImageX v2.1.1 用于压缩合并和修改wim档信息
  4. UltraISO 用于修改Iso档
  5. BOOTICE 用于创建u盘引导
  6. VirtualBox 用于安装win7虚拟机来提取ie安装文件

准备动作

  1. 选择一个空余空间大的磁盘, 至少大于20G, 这里暂定为D
  2. 在其根目录下建立 BootInstall 两个文件夹(可自定义名称, 自己舒服就好)
  3. 使用 UltraISO 或 解压缩软件取出 xxxxxxx.iso\sources\ 文件夹下的 boot.wiminstall.wim 两个文件
  4. 找一个空闲地方放下就好, 这里暂定 D:\boot.wimD:\install.wim
  5. 打开gimagex.exe, 切换到Info选项卡, 来源这里选 D:\install.wim 并点Get Info获取信息
  6. win7的话会有4个目录, 第一个是家庭版, 第二个是家庭高级版, 然后是专业版和旗舰版
  7. 确认数量后, 切换到Export选项卡, 来源这里选 D:\install.wim, 镜像号选4, 目标填 D:\install_Ori.wim, 导出旗舰版
  8. 删除 D:\install.wim

向wim档中整合xhci驱动

适用于牙膏厂200系以及之前版本的主板, 300系及AMD主板以及华硕Asmedia晶片的主板未测试过, 理论上有驱动就没问题

  1. 根据xhci晶片组厂商获取适合自己型号的驱动或从主板厂商处获取驱动
  2. amd的xchi驱动通常包含于其芯片组驱动中, 可以用7-zip在xxxxxxx.exe\Packages\Drivers\目录中寻找
  3. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Ori.wim
  4. 下面选择挂载目录 D:\Install
  5. Mount WIM 进行挂载
  6. 切换到Driver Managent选项卡, 选择驱动文件夹, 除非勾选Recurse, 否则文件夹中不应该包含多个驱动
  7. Add Drivers 添加驱动, 等待完成
  8. 切回到Mount Control选项卡, Dismount WIM 进行卸载
  9. 如果不使用win10的启动iso, 则需要同时为 boot.wim 的两个目录添加驱动
  10. 打开gimagex.exe, 切换到Info选项卡, 来源这里选 D:\boot.wim 并点Get Info获取信息
  11. 一般情况下会有两个目录, 第一个是pe环境, 第二个是安装精灵, 也就是插入光碟后一步步安装系统的那个微型pe
  12. 确认数量后, 切换到Export选项卡, 来源这里选 D:\boot.wim, 镜像号选1, 目标填 D:\boot_01PE.wim, 然后导出
  13. 将镜像号改为2, 目标填 D:\boot_02SETUP.wim, 然后导出
  14. 删除 D:\boot.wim
  15. 打开DISM GUI 4.0.exe, WIM File 这里选择刚才导出的其中一个wim文件
    1. 下面选择挂载目录 D:\Boot
    2. Mount WIM 进行挂载
    3. 切换到Driver Managent选项卡, 选择驱动文件夹, 除非勾选Recurse, 否则文件夹中不应该包含多个驱动
    4. Add Drivers 添加驱动, 等待完成
    5. 切回到Mount Control选项卡, Dismount WIM 进行卸载
    6. 选择另一个wim文件, 重新执行以上步骤

向wim档中整合NVMe驱动

  1. 下载微软的NVMe补丁(无法直接从微软获得, 可在网上寻找资源)
  2. Windows6.1-KB2990941-v3-x64.msu
  3. Windows6.1-KB3087873-v2-x64.msu
  4. 根据NVMe控制器厂商获取适合自己型号的驱动或从主板厂商处获取驱动
  5. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Ori.wim
  6. 下面选择挂载目录 D:\Install
  7. Mount WIM 进行挂载
  8. 切换到Package Managent选项卡, 选择一个文件夹, 往其中添加第一个补丁
    1. Add Packages 安装更新, 等待完成
    2. 删掉文件夹中的第一个补丁, 往其中添加第二个补丁
    3. Add Packages 安装更新, 等待完成
  9. 可选: 安装厂商NVMe驱动(如果补丁不管用, 用这招就对了)
    1. 切换到Driver Managent选项卡, 选择驱动文件夹, 除非勾选Recurse, 否则文件夹中不应该包含多个驱动
    2. Add Drivers 添加驱动, 等待完成
  10. 切回到Mount Control选项卡, Dismount WIM 进行卸载
  11. 如果不使用win10的启动iso, 则需要同时为 boot.wim 的两个目录添加驱动
  12. 打开gimagex.exe, 在Export选项卡, 来源这里选 D:\boot.wim, 镜像号选1, 目标填 D:\boot_01PE.wim, 然后导出
  13. 将镜像号改为2, 目标填 D:\boot_02SETUP.wim, 然后导出
  14. 删除 D:\boot.wim
  15. 打开DISM GUI 4.0.exe, WIM File 这里选 D:\boot_01PE.wim
    1. 下面选择挂载目录 D:\Boot
    2. Mount WIM 进行挂载
    3. 切换到Package Managent选项卡, 选择放置NVMe补丁的文件夹
    4. Add Packages 添加补丁, 等待完成
    5. 切回到Mount Control选项卡, Dismount WIM 进行卸载
    6. 选择 D:\boot_02SETUP.wim 进行挂载, 按同样方式添加补丁
    7. 将目录 D:\Boot\sources 下的文件按文件修改日期排序
    8. 复制出最新修改的部分文件, 将这些文件替换iso封装档下 \sources 目录下的文件
    9. 切回到Mount Control选项卡, Dismount WIM 进行卸载

为 windows 恢复环境添加nvme或xchi支持

  1. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Ori.wim
  2. 下面选择挂载目录 D:\Install
  3. Mount WIM 进行挂载
    1. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\Install\Windows\System32\Recovery\winRE.wim
    2. 下面选择挂载目录 D:\winre
    3. 按照前面的方法举一反三添加nvme或xhci支持
    4. 切回到Mount Control选项卡, Dismount WIM 进行卸载
  4. 切回到Mount Control选项卡, Dismount WIM 进行卸载

向wim档中整合sp2补丁

  1. 前往Microsoft®Update Catalog下载适合自己电脑系统的以下补丁
  2. kb3020369 (装KB3125574前必须)
  3. KB3125574 (大家在说的sp2补丁)
  4. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Ori.wim
  5. 下面选择挂载目录 D:\Install
  6. Mount WIM 进行挂载
  7. 切换到Package Managent选项卡, 选择一个文件夹, 往其中添加第一个补丁
    1. Add Packages 安装更新, 等待完成
    2. 删掉文件夹中的第一个补丁, 往其中添加第二个补丁
    3. Add Packages 安装更新, 等待完成
  8. 切回到Mount Control选项卡, Dismount WIM 进行卸载

向wim档中整合sha-2补丁

  1. 前往Microsoft®Update Catalog下载适合自己电脑系统的以下补丁
  2. kb4474419
  3. kb4490628
  4. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Ori.wim
  5. 下面选择挂载目录 D:\Install
  6. Mount WIM 进行挂载
  7. 切换到Package Managent选项卡, 选择一个文件夹, 往其中添加第一个补丁
    1. Add Packages 安装更新, 等待完成
    2. 删掉文件夹中的第一个补丁, 往其中添加第二个补丁
    3. Add Packages 安装更新, 等待完成
  8. 切回到Mount Control选项卡, Dismount WIM 进行卸载

向wim档中整合IE11

  1. prerequisite-updates-for-internet-explorer-11 处获取必要的补丁
  2. 必要补丁
    * kb2533623
    * kb2670838
    * kb2729094
    * kb2731771
    * kb2786081
    * kb2834140
  3. 可选补丁
    * kb2639308
    * kb2882822
    * kb2888049
  4. Download Internet Explorer 11 (Offline installer)处获取对应语言的离线安装包
  5. 可选: 提取IE安装文件(你可以使用后面我提供的)
  6. 准备一个win7 64位的虚拟机并禁用其网络连接
  7. 开启IE11的离线安装包但不要点安装
  8. 打开C:\Windows\Temp\文件夹, 寻找IE?????.tmp格式的文件夹, 打开它, 应包含IE11字样的文件
  9. cabmsu格式的文件拷贝出来, 应该包含以下文件, 便是IE11离线安装文件
    1. Spelling_en.msu
    2. Hyphenation_en.msu
    3. IE11-neutral.Extracted.cab
    4. IE11_amd64_<区域语言代码>.cab
  10. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Ori.wim
  11. 下面选择挂载目录 D:\Install
  12. Mount WIM 进行挂载
  13. 切换到Package Managent选项卡, 选择一个文件夹, 添加以上补丁
    1. Add Packages 安装更新, 等待完成
    2. 删掉文件夹中的补丁, 往其中添加之前的IE11离线安装文件
    3. Add Packages 安装更新, 等待完成
  14. 如果前面没有对IE安装文件进行提取
  15. 可以将IE11的离线安装包放置到D:\Install\Users\Public\Desktop目录下
  16. 待系统安装完毕后手动执行安装
  17. 切回到Mount Control选项卡, Dismount WIM 进行卸载

添加uefi启动支持

  1. 添加uefi csm支持, 如果使用win10的启动iso做封装, 则不需要此步骤
  2. 使用 7-zip 打开 D:\install_Ori.wim 或打开挂载目录 D:\Install
    1. 拷贝 \Windows\Boot\EFI\bootmgfw.efi
    2. 找个位置存放并改名, 例如 D:\bootx64.efi
    3. 放着, 待封装时使用
    4. 注意, 此模式的启动iso仅能在UEFI CSM下引导, 在UEFI GOP模式下无法使用
  3. 如果还要继续添加uefi gop支持, 则进行下面步骤, 并请直接使用win10的启动iso做封装
  4. D:\install_Ori.wim 制作一个副本 D:\install_Efi.wim
  5. 打开DISM GUI 4.0.exe, WIM File 这里选择 D:\install_Efi.wim
    1. 下面选择挂载目录 D:\Install
    2. Mount WIM 进行挂载
    3. 打开目录 D:\Install\Windows\System32\config\ 找到 SYSTEMBCD-Template 两个文件
    3. 禁用vga驱动(注意: 设定这些参数可能会导致电脑黑屏, 仅应在纯uefi启动模式下开启)
    1. 以管理员方式打开cmd
    2. 输入命令 pushd D:\Install\Windows\System32\config\ 回车
    3. 输入命令 reg load hklm\systemp SYSTEM 回车
    4. 输入命令 for /f "tokens=2* delims= " %i in ('reg query hklm\systemp\select /v current^|findstr /i current') do set /a "conum=%j" 回车
    5. 输入命令 reg add "hklm\systemp\ControlSet00%conum%\services\vga" /v Start /t reg_dword /d 4 /f 回车
    6. 输入命令 reg add "hklm\systemp\ControlSet00%conum%\services\VgaSave" /v Start /t reg_dword /d 4 /f 回车
    7. 输入命令 reg unload hklm\systemp 回车
    8. 设定novesa启动选项(注意: 开启这个启动选项可能会导致电脑以安全色显示, 仅应在纯uefi启动模式下开启)
    9. 打开 BOOTICE, 切换到BCD 编辑选项卡, 选择 D:\Install\Windows\System32\config\BCD-Template
    10. 进入高级编辑模式, 可以看到四个 Windows 7/8 Loader 启动项, 选中可以在右侧看到参数和值
    11. 注意ApplicationRelativePath参数, 有两个启动文件是efi的启动项, 是需要修改的
    12. 选中要修改的两个启动项, 在右侧添加新参数 DisableVesaBios 值为 True
  6. 切回到Mount Control选项卡, Dismount WIM 进行卸载
  7. 打开gimagex.exe, 切换到Info选项卡, 来源这里选 D:\install_Efi.wim 并点Get Info获取信息
    1. 取得 Name Description DISPLAYNAME DISPLAYDESCRIPTION 的值
  8. 打开gimagex.exe, 切换到Change选项卡, 来源这里选 D:\install_Efi.wim 参考之前获取的值在下面填入自定义的名字和描述, 按Change保存

整合wim档

  1. 对于boot.wim
  2. 打开gimagex.exe, 切换到Export选项卡, 来源这里选 D:\boot_01PE.wim
  3. 目标选 D:\boot.wim
  4. 压缩模式设为 Maximum
  5. 导出
  6. 来源选 D:\boot_02SETUP.wim
  7. 压缩模式设为 Maximum
  8. 并且勾选 Boot
  9. 目标选 D:\boot.wim
  10. 导出
  11. 删除 D:\boot_01PE.wimD:\boot_02SETUP.wim
  12. 对于install.wim (需要注意最终的wim文件不能超过4GB, 否则无法用于u盘引导)
  13. 打开gimagex.exe, 切换到Export选项卡, 来源这里选 D:\install_Ori.wim
  14. 目标选 D:\install.wim
  15. 压缩模式设为 Maximum
  16. 导出
  17. 如果有其他的wim文件, 例如 D:\install_Efi.wim
    1. 来源选 D:\install_Efi.wim
    2. 压缩模式设为 Maximum
    3. 目标选 D:\install.wim
    4. 导出
  18. 删除 用于导入的wim文件
  19. 对于winRE.wim
  20. 打开gimagex.exe, 切换到Export选项卡, 来源这里选 D:\winRE.wim
  21. 压缩模式设为 Maximum
  22. 随便找个位置进行导出
  23. 按原名称 D:\winRE.wim 覆盖回 install.wim 下的 \Windows\System32\Recovery\winRE.wim

封装iso档

  1. 使用win7的iso档进行封装
  2. 准备好之前导出的 boot.wiminstall.wim
  3. 用UltraISO方式打开win7镜像
  4. 如果添加uefi启动支持需要使用之前准备的 bootx64.efi 则进行下面步骤
    1. 在UltraISO界面中, 选中光盘根目录下的efi文件夹
    2. 在右侧内容栏中新建一个boot文件夹
    3. 打开这个文件夹, 将bootx64.efi文件拖入其中
  5. 在UltraISO界面中, 打开光盘根目录下的sources文件夹
    1. 将准备好的wim文件拖入右侧栏中
    2. 覆盖选项选全是
    3. 寻找 ei.cfg 文件并将其删除
  6. 所有手续完成后, 点击左上的另存为按钮, 存为新镜像
  7. 现在你可以删除之前产生的文件了
  8. 使用win10的iso档进行封装
  9. 准备好之前导出的 install.wim
  10. 用UltraISO方式打开win7镜像
  11. 在UltraISO界面中, 打开光盘根目录下的sources文件夹
    1. 将准备好的wim文件拖入右侧栏中
    2. 覆盖选项选全是
  12. 所有手续完成后, 点击左上的另存为按钮, 存为新镜像
  13. 现在你可以删除之前产生的文件了

规避微软硬件检查

  1. 使用此工具wufuc

那些需要注意的更新档

  1. 月度更新汇总 所有的月度包都在这
  • 建议先安装完2016年7-10月的更新包之后再进行Windows Update更新检查, 不容易出错
  1. 用于解决Windows Update更新无速度的补丁(如果更新有问题, 就用这个)
  • KB3102810
  • kb3112343
  • kb3135445
  • kb3138612
  1. 一些和收集用户隐私以及推广有关的补丁(检查更新会收到推送, 如果介意, 可以隐藏更新)
  • KB2952664 注意这个补丁会时不时的从已隐藏的更新中出来并重新推送给用户, 如果你有升级到win10的打算, 安装这个能在升级时提高驱动兼容性
  • KB3021917
  • KB3068708
  • KB3080149
  • KB3022345
  • KB3075249

常用运行库

  • 常用运行库列表参考(可以将其做成单独的iso档, 方便)
  • 大部分运行库都可以在互联网上收集到, 有空我可以发个副本档

D:.

├─DirectX
│ directx_feb2010_redist.exe
│ directx_Jun2011_redist.exe

├─JAVA
│ ├─6
│ │ jre-6u37-windows-i586.exe
│ │
│ ├─7
│ │ jre-7u55-windows-i586.exe
│ │ jre-7u55-windows-x64.exe
│ │
│ └─8
│ jre-8u65-windows-i586.exe
│ jre-8u65-windows-x64.exe

├─NET Framework
│ ├─2.0sp2
│ │ │ NetFx20SP2_ia64.exe
│ │ │ NetFx20SP2_x64.exe
│ │ │ netfx20sp2_x64zh-CHS.exe
│ │ │ netfx20sp2_x64zh-cht.exe
│ │ │ NetFx20SP2_x86.exe
│ │ │
│ │ └─2.0x64
│ │ NetFx64.exe
│ │
│ ├─3.5sp1
│ │ dotnetfx35.exe
│ │ dotnetfx35langpack_ia64zh-CHS.exe
│ │ dotnetfx35langpack_ia64zh-cht.exe
│ │ dotnetfx35langpack_x64zh-CHS.exe
│ │ dotnetfx35langpack_x64zh-cht.exe
│ │ dotnetfx35langpack_x86zh-CHS.exe
│ │ dotnetfx35langpack_x86zh-cht.exe
│ │
│ ├─4.0
│ │ dotNetFx40LP_Full_x86_x64zh-Hans.exe
│ │ dotNetFx40LP_Full_x86_x64zh-Hant.exe
│ │ dotNetFx40_Full_x86_x64.exe
│ │
│ ├─4.5.2
│ │ NDP452-KB2901907-x86-x64-AllOS-CHS.exe
│ │ NDP452-KB2901907-x86-x64-AllOS-CHT.exe
│ │ NDP452-KB2901907-x86-x64-AllOS-ENU.exe
│ │
│ ├─4.6
│ │ NDP46-KB3045557-x86-x64-AllOS-CHS.exe
│ │ NDP46-KB3045557-x86-x64-AllOS-CHT.exe
│ │ NDP46-KB3045557-x86-x64-AllOS-ENU.exe
│ │
│ ├─4.6.1
│ │ NDP461-KB3102436-x86-x64-AllOS-CHS.exe
│ │ NDP461-KB3102436-x86-x64-AllOS-CHT.exe
│ │ NDP461-KB3102436-x86-x64-AllOS-ENU.exe
│ │
│ ├─4.6.2
│ │ NDP462-KB3151800-x86-x64-AllOS-CHS.exe
│ │ NDP462-KB3151800-x86-x64-AllOS-CHT.exe
│ │ NDP462-KB3151800-x86-x64-AllOS-ENU.exe
│ │
│ ├─4.7
│ │ NDP47-KB3186497-x86-x64-AllOS-CHS.exe
│ │ NDP47-KB3186497-x86-x64-AllOS-CHT.exe
│ │ NDP47-KB3186497-x86-x64-AllOS-ENU.exe
│ │
│ └─4.7.1
│ NDP471-KB4033342-x86-x64-AllOS-CHS.exe
│ NDP471-KB4033342-x86-x64-AllOS-CHT.exe
│ NDP471-KB4033342-x86-x64-AllOS-ENU.exe

├─OpenAL
│ oalinst_1.1.zip

├─Visual C++ Redistributable
│ ├─2005
│ │ vcredist_x64.exe
│ │ vcredist_x86.exe
│ │
│ ├─2005_sp1
│ │ vcredist_x64.exe
│ │ vcredist_x86.exe
│ │
│ ├─2008
│ │ vcredist_x64.exe
│ │ vcredist_x86.exe
│ │
│ ├─2010
│ │ vcredist_x64.exe
│ │ vcredist_x86.exe
│ │
│ ├─2012
│ │ vcredist_arm.exe
│ │ vcredist_x64.exe
│ │ vcredist_x86.exe
│ │
│ ├─2013
│ │ vcredist_arm.exe
│ │ vcredist_x64.exe
│ │ vcredist_x86.exe
│ │
│ └─2015
│ vc_redist.x64.exe
│ vc_redist.x86.exe

└─XNA Framework Redistributable
xnafx31_redist.msi
xnafx40_redist.msi


参考资料

纯uefi下搞定win7 64位系统完美篇
KB2990941
求三星PM981 SSD的驱动
Windows 7 x64 SP1 更新整合光碟製作教學 (IE11+Hotfix+.NET 4.7+USB 3.0+NVMe)
安裝 WINDOWS 7 到 NVME SSD 及解決 XHCI 問題
使用 批次檔 整合自己的Windows 7 Pre-SP2: = Windows 7 SP1 + KB3125574「Windows 7 SP1 和 Windows Server 2008 R2 SP1 的便利性彙總套件更新」(1)
電腦組裝】 intel第7代cpu + win7 跑線上更新出現「不支援的硬體」,如何解決? (2017.04.14更新)
破解微軟限制!讓Windows 7/8.1系統也能用到 Kaby Lake/AMD Ryzen 處理器並更新的方法
微软越来越恶心了
Win7/Win8.1装完这四枚更新,学会Win10信息收集技能
Install Windows 7 at UEFI Graphics Output Protocol (GOP) hardware

@muink
Copy link
Author

muink commented Feb 20, 2018

排版似乎有问题, 建议直接原档查看

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment