无忧启动论坛

标题: Win7PE升级及NVME/USB3.0/3.1R的注入 [打印本页]

作者: hhh333    时间: 2016-12-8 17:49
标题: Win7PE升级及NVME/USB3.0/3.1R的注入
本帖最后由 hhh333 于 2016-12-8 19:08 编辑

Win7PE还有一些需求,经过查阅资料NVME补丁需要SP1,而很多的Win7PE不是SP1的,因此必须要先将PE系统升级到SP1,没办法只有用Win7SP1的光盘重做Win7PE,做好后再注入NVME和USB3.x驱动。

一、系统环境的准备
主要是安装Windows ADK,可以安装最新的win10 ADK,或者使用提取的ADK,主要是为了获取DISM组件。

二、Win7sp1的boot.wim升级及NVME注入
1、需要下载两个补丁:477474_intl_i386_zip.exe、486574_intl_i386_zip.exe解压后为Windows6.1-KB3087873-v2-x86.msu和Windows6.1-KB2990941-v3-x86.msu(对应)
2、将补丁注入BOOT.WIM
在硬盘上建一个目录,在其下面建WIM、DRV、hotfix三个文件夹,将Win7SP1安装盘中的BOOT.WIM拷贝到WIM文件夹中,将上面两个msu补丁文件放hotfix文件夹,再建一个如下的批处理文件
  1. md bot
  2. dism /Mount-Image /ImageFile:WIM\boot.wim /Index:1 /MountDir:bot
  3. pause
  4. dism /Image:%cd%\bot /Add-Package /PackagePath:hotfix /ScratchDir:Temp
  5. rem dism /Image:%cd%\bot /Add-Driver /Driver:%cd%\drv /Recurse
  6. pause
  7. rem dism /Unmount-Image /MountDir:%cd%\bot /discard
  8. dism /Unmount-Image /MountDir:%cd%\bot /commit
复制代码

运行批处理,会将两个补丁打到boot.wim文件中

三、制作Win7SP1的PE
这个手工做,用脚本做都行,就不详述了

四、注入USB3.0/3.1驱动
可以下本论坛红毛网友收集的USB驱动,将之放入上述DRV文件夹中,将WIN7PE的WIM文件放入WIM中,再建一个批处理
  1. @Echo Off
  2. REM 原创by chiannet,修改by TCLSHX、H3
  3. COLOR 1F

  4. Echo.
  5. ECHO 本工具用来给W7PE增加驱动,各文件夹及文件意义如下:
  6. ECHO   w7pe文件夹----w7pe.wim之挂载目标
  7. ECHO   bot文件夹-----boot.wim之挂载目标
  8. ECHO   wim文件夹-----boot.wim w7pe.wim等WIM文件存放处
  9. ECHO   drv文件夹-----欲添加的驱动文件存放处
  10. Echo.
  11. ECHO 请按以上要求将WIM文件和驱动文件准备好(以上位于根或子文件夹均可)!
  12. ECHO 本批处理必须要在安装了Windows AIK(KB3AIK_CN.ISO)的环境中运行!
  13. Echo.
  14. ECHO 如果已经作好上述准备工作,按任意键继续......
  15. pause>nul

  16. Echo.
  17. ECHO 第1步:检查用于挂载的WIM文件......
  18. Echo.
  19. set nowim=0
  20. If not Exist wim\W7PE.WIM set nowim=1 &&echo 没有Win7PE镜像文件w7pe.wim!
  21. If not Exist wim\boot.wim set nowim=1 &&echo 没有Win7原版boot.wim镜像文件!
  22. if not "%nowim%"=="0" pause&&goto end

  23. Echo.
  24. ECHO 第2步:挂载WIM镜像......
  25. Echo.
  26. If Exist w7pe RD w7pe /S /Q>NUL 2>NUL
  27. If Exist bot RD bot /S /Q>NUL 2>NUL
  28. md w7pe
  29. md bot
  30. Dism /Mount-Wim /WimFile:wim\W7PE.WIM /index:1 /MountDir:%CD%\w7pe
  31. Dism /Mount-Wim /WimFile:wim\boot.wim /index:1 /MountDir:%CD%\bot
  32. dir /a-d /b bot\windows\system32\*.dll >BOOTFN.OLD

  33. ECHO .
  34. ECHO 第3步:集成驱动文件......
  35. ECHO .
  36. REM 将w7pe中驱动有关文件移到bot中
  37. rd bot\windows\inf  /s /q
  38. rd bot\windows\system32\drivers /s /q
  39. rd bot\windows\system32\config  /s /q
  40. rd bot\windows\system32\DriverStore /s /q
  41. move w7pe\windows\inf bot\windows\
  42. move w7pe\windows\system32\drivers bot\windows\system32\
  43. move w7pe\windows\system32\config bot\windows\system32\
  44. move w7pe\windows\system32\DriverStore bot\windows\system32\
  45. REM 集成驱动
  46. Dism /image:bot /Add-Driver /driver:"DRV" /recurse /ForceUnsigned  
  47. REM 将已经集成好的位于bot中的原w7pe中驱动有关文件移回w7pe中
  48. move "bot\windows\inf" "w7pe\windows"
  49. move "bot\windows\system32\config" "w7pe\windows\system32"
  50. move "bot\windows\system32\drivers" "w7pe\windows\system32"
  51. move "bot\windows\system32\DriverStore" "w7pe\windows\system32"
  52. del "w7pe\windows\system32\*.pnf" /s /q
  53. del "w7pe\windows\system32\config\*.log?" /s /q /a:h
  54. del "w7pe\windows\inf\*.log" /q
  55. del "w7pe\windows\system32\config\*.blf" /s /q /a:h
  56. del "w7pe\windows\system32\config\*.regtrans-ms" /s /q /a:h
  57. del "w7pe\Windows\System32\DriverStore\*.1" /q

  58. ECHO .
  59. ECHO 第4步:更新DLL文件......
  60. ECHO .
  61. ECHO .  

  62. setlocal EnableDelayedExpansion
  63. REM 比较文件列表
  64. if exist ADDDLL.TXT del ADDDLL.TXT /q
  65. dir /a-d /b bot\windows\system32\*.dll >BOOTFN.NEW
  66. for /f "tokens=*" %%i in (BOOTFN.OLD) do (
  67.         set %%i=m
  68. )
  69. for /f "delims=" %%a in (BOOTFN.NEW) do (
  70.         if not defined %%a >>ADDDLL.TXT echo %%a
  71. )

  72. IF NOT EXIST ADDDLL.TXT GOTO UNMOUNT
  73. REM 复制差异文件......
  74. for /f "delims=" %%a in (ADDDLL.TXT) do (
  75.    copy /y "bot\windows\system32\%%a" "w7pe\windows\system32"
  76. )

  77. :UNMOUNT
  78. ECHO .  
  79. ECHO 第5步:更新DLL已经完成,按任意键写入wim\w7pe.wim并卸挂boot......
  80. pause>nul
  81. for %%i in (ADDDLL.TXT BOOTFN.OLD BOOTFN.NEW) do del %%i /Q
  82. Dism /unmount-Wim /MountDir:"%CD%\w7pe" /Commit
  83. Dism /unmount-Wim /MountDir:"%CD%\bot" /discard

  84. :END
复制代码


比较遗憾的是尽管升级到SP1,Win7PE固有的问题并没有得到解决:
一是启动速度还是比较慢,SP1似乎更慢
二是使用wimfltr.sys来挂载时如果包含播放器和浏览器的WIM位于只读介质中,直接在挂载的文件夹中运行会无声音
作者: 红毛樱木    时间: 2016-12-8 18:01
usb3.0/3.1注意一下不到把intel 7系列主板的塞进去了。和后面的文件名相同会冲突。
作者: hhh333    时间: 2016-12-8 18:06
红毛樱木 发表于 2016-12-8 18:01
usb3.0/3.1注意一下不到把intel 7系列主板的塞进去了。和后面的文件名相同会冲突。

整个intel都不要,还是只保留一个,看了一下有两个目录7和891020
作者: 红毛樱木    时间: 2016-12-8 18:18
本帖最后由 红毛樱木 于 2016-12-8 18:20 编辑
hhh333 发表于 2016-12-8 18:06
整个intel都不要,还是只保留一个,看了一下有两个目录7和891020


踢掉7目录就行了

-------------------------------
驱动有更新,我还没发布新版的。
先给你地址吧
http://soft.sysceo.com/usm/CeoMSX_20161207.7z
作者: hhh333    时间: 2016-12-8 19:11
好的,看了一下,冲突倒不会,不过后面的会替换掉前面的。
作者: 红毛樱木    时间: 2016-12-8 19:18
hhh333 发表于 2016-12-8 19:11
好的,看了一下,冲突倒不会,不过后面的会替换掉前面的。

替换掉了就不支持了,这个测试过了。所以还是不要一起。
作者: 2010sya    时间: 2016-12-8 22:29
又有的玩了,哈哈
作者: nf17b    时间: 2016-12-9 14:20
红毛樱木 发表于 2016-12-8 18:18
踢掉7目录就行了

-------------------------------

大師 是否可以把說明檔改成 unicode , 繁體會亂碼 , 謝謝




作者: 红毛樱木    时间: 2016-12-9 14:47
nf17b 发表于 2016-12-9 14:20
大師 是否可以把說明檔改成 unicode , 繁體會亂碼 , 謝謝

db文件就是记事本,自己转下试试
作者: daier    时间: 2016-12-11 12:44
谢谢分享
作者: 红毛樱木    时间: 2016-12-17 15:48
nf17b 发表于 2016-12-9 14:20
大師 是否可以把說明檔改成 unicode , 繁體會亂碼 , 謝謝

http://soft.sysceo.com/usm/CeoMSX_20161217.7z
麻烦兄弟再试试这个新版,看乱码不乱码了。
作者: nf17b    时间: 2016-12-24 18:54
红毛樱木 发表于 2016-12-17 15:48
http://soft.sysceo.com/usm/CeoMSX_20161217.7z
麻烦兄弟再试试这个新版,看乱码不乱码了。

可以 , 相當感謝







欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3