无忧启动论坛

标题: 关于DEVI\DPINST及inf2cat和驱动数字签名的进一步探讨 [打印本页]

作者: hhh333    时间: 2016-11-2 18:15
标题: 关于DEVI\DPINST及inf2cat和驱动数字签名的进一步探讨
本帖最后由 hhh333 于 2016-11-10 18:05 编辑

缘起:
   用DEVI $XXX.CAB来安装驱动有一个最大的缺点就是CAB较大时解压需要较多的时间,感觉起来安装驱动就比较慢。后看ljycslg网友发布的win10采用了7z压缩形式,解压后用DPINST来安装,7z压缩的效率比CAB要高20%的样子,35M的CAB包如果用7z大概28M,如果更大节约的空间就更大,DPINST安装效率也很高,似乎是一种更好的方式,但无论CAB还是7z解压都另外需要时间和空间,实际效率是不高的。因此,红毛等提出一个设想用WIM映像的方式来存放驱动,我认为是可取的,于是进行测试,现碰到一些问题
1、驱动文件打包为WIM文件,挂载后用DEVI来安装
在pecmd有关devi的说明中有:DEVI *sub  D:\ABC,Net                     //D:\ABC下寻找并安装网络驱动。
因此可以用这个,后测试这个用法是无效的。于是利用forx循环来查找inf,再用DEVI XX.inf的形式来安装,但每运行一次DEVI就要对硬件进行一次列表,效率也不高,如果inf排列靠后就更慢!似乎不大可取。
2、驱动文件打包为WIM文件,挂载后用DPINST来安装
这个应该是较好的方案,不用解压直接挂载,节约了解压的时间和空间,同时DPINST为MS开发的驱动包安装工具,算法上应该是有保证的。从ljycslg网友的作品中将dpinst.exe和dpinst.xml提取出来,在win10中使用效果非常不错安装驱动很快,但放win7/8/8.1中又不行,不知何故?

测试了一下,红毛发布的64位显卡驱动,CAB-129M,打包成7z(正常压缩模式)112M,做成WIM为175M,原文件503M,因此性能上WIM应为最优,挂载几乎不要时间,真正安装的文件较少,从原盘和从挂载盘中读取文件的差异可以忽略不计。现在问题的关键要么解决DPINST的通用性问题,要么解决DEVI *sub的问题,各位有好的建议吗?
查看MS有关DPINST的说明似乎对系统没什么要求。

解决:
1、签名的破解:经过反复测试,之所以出现这个现象主要是由驱动数字签名校验引起,最彻底的解决办法是破解其签名校验,感谢yamingw 大侠提供了全套的破解文件: DRVINST.7z (391.08 KB, 下载次数: 462)
2、签名的制作:
  ①安装WDK工具以获取inf2cat;
  ②找到安装位置并把PATH环境变量设定到这个位置如:D:\Program Files\Windows Kits\10\bin\x86;
  ③为inf文件制作签名CAT文件:先看一下inf文件中[version]段有不有CatalogFile = xxxx.cat项目,没有的就加上。如从系统中提取的驱动athw8.inf中可以加上CatalogFile = athw8.cat,这样就指明了cat文件的名称,再运行Inf2Cat /driver:athw8.inf_x86_b4cfe0b424372367 /os:Server2008_x86,7_x86,8_x86,6_3_x86,这样就制作了适合Server2008、Win7/8/8.1的32数字签名,将上述OS后的x86改成x64就可制作64位的签名。其中athw8.inf_x86_b4cfe0b424372367 是驱动存放的目录名。如果批量制作,也可做成批处理文件如sn.cmd:
  1. set s=%1
  2. For /F %%I In ('dir /ad /b /s') DO Inf2Cat /driver:%%I /os:Server2008_%s%,7_%s%,8_%s%,6_3_%s%
复制代码

将所有驱动放到一个目录下,再将这个批处理也放到这个目录下,运行sn x86或sn x64就可以了一下子将所有的cat制作好;
3、进一步测试:
win8以后系统无论是32位还是64位,驱动必须有CAT文件,无论drvinst是否破解,没有cat就直接退出了,如果cat签名不对破解过的或者挂起的看一下安装的log会出现:
!!!  sig:                     Driver package INF file hash is not present in catalog file. Filename = netnvm64.inf, Error = 0xE000024B
!!!  sig:                     Driver package appears to be tampered, but error is ignored in WinPE.
用以上inf2cat制作cat后,以上提示似乎可以不出现,说明这个cat是有效的。

又:如果与显卡同时并发安装,会出现红色提示框,看log文件记录如下:
     sig:                          Catalog  = X:\windows\System32\DriverStore\Temp\{4ead746c-c950-0c4d-b166-182c607ffb46}\netnvm64.cat
!    sig:                          Verifying file against specific Authenticode(tm) catalog failed! (0x800b0100)
     sig:                     {_VERIFY_FILE_SIGNATURE exit(0x800b0100)} 17:58:02.040
!    sig:                     Driver package does not contain a signature, but user wants to install anyway.


注:WDK工具我可以到https://developer.microsoft.com/ ... /windows-driver-kit下载安装。
作者: hhh333    时间: 2016-11-2 18:28
本帖最后由 hhh333 于 2016-11-2 18:31 编辑

公布一段代码:

  1. _SUB DCAB
  2. IFEX %1,
  3. {
  4.         `REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#1
  5.         DEVI $%1,,%Temp%
  6.         WAIT 300
  7.         TEMP @Delete
  8.         `REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0
  9. }
  10. _END

  11. _SUB DpInsInf
  12. EXEC =!dpinst.exe /S /LM /SA /SH /Path %1
  13. WAIT 100
  14. _END

  15. _SUB DpIns7Z
  16. `FORX %1\*.7Z,fzip,1,
  17. ENVI fzip=%1
  18. IFEX %fzip%,
  19. {
  20.         NAME &&fname=%fzip%
  21.         EXEC =!7z.exe x %fzip% -o%temp%\%&fname%
  22.         CALL DpInsInf %temp%\%&fname%
  23.         FILE -q %temp%\%&fname%
  24. }
  25. _END

  26. _SUB DpInsWim        `挂WIM文件安装驱动(注意引入了一个外部参数MountDrv)
  27. `FORX %1\*.WIM,fzip,1,
  28. ENVI fzip=%1
  29. IFEX %fzip%,
  30. {
  31.         NAME &&fname=%fzip%
  32.         MOUN  %fzip%,%MountDrv%\%&fname%
  33.         CALL DpInsInf %MountDrv%\%&fname%
  34.         MOUN ,%MountDrv%\%&fname%,0
  35. }
  36. _END
  37. DEVI MountDrv=Y:
  38. DEVI ADD_DRV=XXXX
  39. ENVI FCAB=DRIVERS_VGA.CAB
  40. ENVI FWIM=DRIVERS_VGA.WIM
  41. ENVI F7Z=DRIVERS_VGA.7Z
  42. ENVI OUTCAB=%ADD_DRV%\%FCAB%

  43. CALL DpInsInf %ADD_DRV%
  44. CALL DpInsWim %ADD_DRV%\%FWIM%
  45. CALL DpIns7z %ADD_DRV%\%F7Z%
  46. DCAB %OUTCAB%
复制代码


这个可以支持原文件、WIM、7z和CAB四种存放方式的搜索驱动并安装,系统目录中有DPINST,Win10中运行无误,其他系统无反应。
作者: h2bx86    时间: 2016-11-2 20:04
是不是dpinst版本的问题?
作者: h2bx86    时间: 2016-11-2 20:12
可以这样测试
把7z的某一可用驱动移动为wim文件,如当前机的网卡,按你说的使用7z来加载没有网卡的驱动包,手动加载wim,再手动使用dpinst,就可以看问题出在哪儿了
作者: hhh333    时间: 2016-11-2 20:47
经跟踪,并不是dpinst没有工作,各系统中均有工作,但只是安装不成功而已
作者: slore    时间: 2016-11-2 21:20
cab或者的7z的内容,事前对inf进行索引,得到id和驱动的压缩包目录关系,进系统根据系统设备信息,解压特定的驱动文件,或者直接处理或者遍历相关inf应该是可以提高加载速度的。
作者: yamingw    时间: 2016-11-2 21:30
比较一下各系统的drvinst.exe与原版是否一样,win10的有可能是经过修改的
作者: 红毛樱木    时间: 2016-11-2 21:36
还是等M出来解决DEVI的一些问题才行。
作者: hhh333    时间: 2016-11-2 22:15
这是dpinst的log文件: dplog.7z (1.83 KB, 下载次数: 24)
作者: sp_star    时间: 2016-11-2 22:17
CAB文件体积大些,但是解压比7z压缩包要快。
作者: pseudo    时间: 2016-11-2 23:17
“从ljycslg网友的作品中将dpinst.exe和dpinst.xml提取出来,在win10中使用效果非常不错安装驱动很快,但放win7/8/8.1中又不行,不知何故?”
——我签名处0pe附带的win8.1也用到dpinst,没有肯定不行的印象。
作者: 红毛樱木    时间: 2016-11-3 01:11
私聊你的站内短信看到了么?
作者: hhh333    时间: 2016-11-3 06:33
似乎用devi $xxx.cab方式都要先全部解压的
作者: hhh333    时间: 2016-11-3 11:24
本帖最后由 hhh333 于 2016-11-10 18:17 编辑

找到drvinst安装的log如下:

  1. >>>  [Setup Import Driver Package - c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\cw179335_new.inf]
  2. >>>  Section start 2016/11/03 10:57:04.058
  3.       cmd: dpinst.exe  /S /LM /SA /SH /Path DRIVERS_VGA
  4.      inf: Provider: Advanced Micro Devices, Inc.
  5.      inf: Class GUID: {4D36E968-E325-11CE-BFC1-08002BE10318}
  6.      inf: Driver Version: 01/13/2015,8.970.100.9001
  7.      inf: Catalog File: CW179335.CAT
  8.      sto: {Copy Driver Package: c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\cw179335_new.inf} 10:57:04.090
  9.      sto:      Driver Package = c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\cw179335_new.inf
  10.      sto:      Flags          = 0x00000007
  11.      sto:      Destination    = X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}
  12.      sto:      Copying driver package files to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}'.
  13.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\.\B179315\aticfx32.dll' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\aticfx32.dll'.
  14.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\.\B179315\atiu9pag.dll' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atiu9pag.dll'.
  15.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\.\B179315\atiumdag.dll' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atiumdag.dll'.
  16.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\.\B179315\atikmdag.sys' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atikmdag.sys'.
  17.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\.\B179315\atikmpag.sys' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atikmpag.sys'.
  18.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\cw179335_new.inf' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\cw179335_new.inf'.
  19.      flq:      Copying 'c:\h3pe\add_drv\nt6\display\x86\drivers_vga\amd\0\CW179335.CAT' to 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\CW179335.CAT'.
  20.      sto: {Copy Driver Package: exit(0x00000000)} 10:57:05.215
  21.      pol: {Driver package policy check} 10:57:05.230
  22.      pol: {Driver package policy check - exit(0x00000000)} 10:57:05.230
  23.      sto: {Stage Driver Package: X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\cw179335_new.inf} 10:57:05.230
  24.      inf:      {Query Configurability: X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\cw179335_new.inf} 10:57:05.340
  25. !    inf:           Found legacy RegisterDlls operation.
  26. !    inf:           Found legacy DelFiles operation for 'ativvaxx.dll'.
  27. !    inf:           Found legacy AddReg operation using non-relative key (HKLM\Software\ATI Technologies\CBT).
  28. !    inf:           Found legacy DelReg operation.
  29. !    inf:           Found legacy DelService operation for 'Ati External Event Utility'.
  30. !    inf:           Found legacy AddReg operation defining co-installers (CoInstallers32).
  31. !    inf:           Driver package 'cw179335_new.inf' is NOT configurable.
  32.      inf:      {Query Configurability: exit(0x00000000)} 10:57:05.402
  33.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\aticfx32.dll' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\.\B179315\aticfx32.dll'.
  34.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atiu9pag.dll' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\.\B179315\atiu9pag.dll'.
  35.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atiumdag.dll' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\.\B179315\atiumdag.dll'.
  36.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atikmdag.sys' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\.\B179315\atikmdag.sys'.
  37.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\.\B179315\atikmpag.sys' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\.\B179315\atikmpag.sys'.
  38.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\cw179335_new.inf' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\cw179335_new.inf'.
  39.      flq:      Copying 'X:\Users\ADMINI~1\AppData\Local\Temp\{53e629b7-01e5-514a-a792-1014be190d32}\CW179335.CAT' to 'X:\windows\System32\DriverStore\Temp\{47ac9570-07c7-5d49-94ae-956a2dcf0251}\CW179335.CAT'.
  40.      sto:      {DRIVERSTORE IMPORT VALIDATE} 10:57:05.512
  41. !!!  sig:           Driver package INF file hash is not present in catalog file. Filename = cw179335_new.inf, Error = 0xE000024B
  42. !!!  sig:           Driver package appears to be tampered, and it will not be installed.
  43. !!!  sig:           Driver package failed signature validation. Error = 0xE0000247
  44.      sto:      {DRIVERSTORE IMPORT VALIDATE: exit(0xe0000247)} 10:57:05.558
  45. !!!  sig:      Driver package failed signature verification. Error = 0xE0000247
  46. !!!  sto:      Failed to import driver package into Driver Store. Error = 0xE0000247
  47.      sto: {Stage Driver Package: exit(0xe0000247)} 10:57:05.574
  48. <<<  Section end 2016/11/03 10:57:05.574
  49. <<<  [Exit status: FAILURE(0xe0000247)]


复制代码


好象是签名校验的问题
作者: yamingw    时间: 2016-11-3 12:36
winpe,x86,systemseupinprogress=1的时候好像不需要驱动验证
作者: yamingw    时间: 2016-11-3 15:47
使用H3cdall.iso 试了一下 8.1.
x86:systemseupinprogress=0的时候,dpinst返回247,systemseupinprogress=1,ok。
x64:dpinst返回247,使用修改过的drvinst,ok。
另外吐槽一下:要是不安装开始菜单,竟然按CAD组合键才能重启。
作者: hhh333    时间: 2016-11-3 17:20
本帖最后由 hhh333 于 2016-11-3 17:32 编辑

是的,现在调试好了,就是签名校验问题,前面的子程序改为如下就好了
  1. _SUB DpInsInf
  2. REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#1
  3. EXEC =!dpinst.exe /S /LM /SA /SH /Path %1
  4. REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0
  5. WAIT 100
  6. _END
复制代码


64位这个方法不行,看来只能修改drvinst程序了,请问一下哪里有修改好的适用于多个系统的程序,目前主要需要8、8.1的这个程序
作者: yamingw    时间: 2016-11-3 17:30
win7试了,dispci.dll必须,还缺少其他东西,但是补上dispci后加载驱动后黑屏,什么也看不了了
作者: hhh333    时间: 2016-11-3 17:33
前面32位在win7/8/8.1中都测试通过了。
作者: hhh333    时间: 2016-11-3 17:38
本帖最后由 hhh333 于 2016-11-3 17:44 编辑

dpinst也有缺点,会将所有的inf与系统配对一次,对上就安装,不能指定配对的次数,如配对安装就退出,因为一个包可能就只有一个能配对上。
也不能算缺点吧,如果把所有驱动都放一个包中,一次就可全部装上
作者: yamingw    时间: 2016-11-3 21:31
hhh333 发表于 2016-11-3 17:20
是的,现在调试好了,就是签名校验问题,前面的子程序改为如下就好了

通用的不好说,必竞是糸统文件,请参考
http://bbs.wuyou.net/forum.php?m ... p;page=6#pid3161049
作者: hhh333    时间: 2016-11-4 13:56
看到了说明,请问win8系统的怎么破解?
作者: hhh333    时间: 2016-11-4 15:37
yamingw 发表于 2016-11-3 21:31
通用的不好说,必竞是糸统文件,请参考
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=371490&pag ...

刚才测试了一下HKLM\SYSTEM\Setup\SystemSetupInProgress=#1似乎对win864位有效。
作者: yamingw    时间: 2016-11-4 17:54
hhh333 发表于 2016-11-4 15:37
刚才测试了一下HKLM\SYSTEM\Setup\SystemSetupInProgress=#1似乎对win864位有效。


win7 32B
8B F0
85 F6
75 07
8B 03
WIN8 32B
8B F0
85 F6
75 0F
8B 8F
Win8 64bit
8B D8
85 C0
75 09
41 8B

w780.7z

104.37 KB, 下载次数: 28, 下载积分: 无忧币 -2

w8164.zip

155.28 KB, 下载次数: 38, 下载积分: 无忧币 -2


作者: hhh333    时间: 2016-11-4 18:01
本帖最后由 hhh333 于 2016-11-4 18:12 编辑
yamingw 发表于 2016-11-4 17:54
win7 32B
8B F0
85 F6


谢谢了,原理都是一样的吧,修改函数的返回值?32位不要改其他文件了吧。这个是应该没有什么副作用的,干脆全部换了,以免总是搞些么蛾子。
作者: yamingw    时间: 2016-11-4 18:45
是的,32位缺78的pnpui,明天再传,今晚电脑不在身边
作者: hhh333    时间: 2016-11-4 23:42
yamingw 发表于 2016-11-4 18:45
是的,32位缺78的pnpui,明天再传,今晚电脑不在身边

Win7换了一个文件还不行,驱动装上要求重启生效,看来另一个文件要改。win8 32似乎换一个文件就可以了,不知何故。看来32位还麻烦些。把显卡驱动包换成了WIM文件,似乎确实安装速度有些提高。
作者: yamingw    时间: 2016-11-5 08:34
本帖最后由 yamingw 于 2016-11-5 08:36 编辑

重启和修改无关,和pe有关,你可参考别人的pe,搜索相关讨论。32位win7、8、81所包括的pnpui版本一样,传一个81的,你试试。

pnpui781.7z

11.81 KB, 下载次数: 21, 下载积分: 无忧币 -2

drvinst8132.7z

40.52 KB, 下载次数: 23, 下载积分: 无忧币 -2


作者: hhh333    时间: 2016-11-5 09:47
HKLM\SYSTEM\Setup\SystemSetupInProgress=#1加上这个就不要求重启
作者: hhh333    时间: 2016-11-5 09:51
看了一下drvinst的调用,可能很难统一一个版本win10各版本间看能否通用
作者: hhh333    时间: 2016-11-5 09:51
看了一下drvinst的调用,可能很难统一一个版本win10各版本间看能否通用
作者: 2012bzsb    时间: 2016-11-5 10:07
楼主弄好了后,给个完整包吧.
包括范例驱动包. 这样可以自己更新驱动包.并可以外置加载驱动
作者: hhh333    时间: 2016-11-6 22:06
yamingw 发表于 2016-11-5 08:34
重启和修改无关,和pe有关,你可参考别人的pe,搜索相关讨论。32位win7、8、81所包括的pnpui版本一样,传一 ...

win7两个文件大小相差太大了,可以通用吗?
作者: 2012hzy6420    时间: 2016-11-7 05:54

作者: hhh333    时间: 2016-11-7 07:13
yamingw 发表于 2016-11-5 08:34
重启和修改无关,和pe有关,你可参考别人的pe,搜索相关讨论。32位win7、8、81所包括的pnpui版本一样,传一 ...

经测试那个对win7无效
作者: yamingw    时间: 2016-11-7 11:36
本帖最后由 yamingw 于 2016-11-7 12:06 编辑
hhh333 发表于 2016-11-7 07:13
经测试那个对win7无效

pnpui win7 win8 32bit

pnpui732.7z

136.85 KB, 下载次数: 37, 下载积分: 无忧币 -2

pnpui832.7z

12.12 KB, 下载次数: 16, 下载积分: 无忧币 -2


作者: hhh333    时间: 2016-11-7 16:36
yamingw 发表于 2016-11-7 11:36
pnpui win7 win8 32bit

经测试已经可行了,至此,因驱动校验而引起的相关问题应该算得到彻底解决。
作者: hhh333    时间: 2016-11-8 14:49
yamingw 发表于 2016-11-7 11:36
pnpui win7 win8 32bit

将大侠提供的全套文件整理好后放到了一楼。
另外,似乎还是没有彻底解决在驱动并发安装时出现校验出错提示。(测试了W7/W832/W864好像只有W832可以通过)
作者: 2012bzsb    时间: 2016-11-8 16:39
DPINST 呢?模板呢?
一个目录,里面包括相关全部文件, 然后,可以加入自己的任意驱动(解包后的), 执行一个cmd,能完成安装全部驱动,
需要一个这样的模板.
作者: 2012zhd    时间: 2016-11-8 16:56
2012bzsb 发表于 2016-11-8 16:39
DPINST 呢?模板呢?
一个目录,里面包括相关全部文件, 然后,可以加入自己的任意驱动(解包后的), 执行一个cmd ...

支持啊,就是不知道h3大师愿不愿意放出来。
作者: 2012duanyongli    时间: 2016-11-10 13:13
表示感谢 。。。
作者: hhh333    时间: 2016-11-11 09:17
感觉到还没有完全彻底杜绝签名验证问题,主要见于驱动并发安装的时候。
作者: hhh333    时间: 2016-11-11 11:16
Verifying file against specific Authenticode(tm) catalog failed!
这句话是什么意思?
作者: hhh333    时间: 2016-11-11 11:19
hhh333 发表于 2016-11-11 11:16
Verifying file against specific Authenticode(tm) catalog failed!
这句话是什么意思?

验证文件对特定的代码验证编目失败了
作者: yamingw    时间: 2016-11-11 11:32
可能是cat文件对应的签名授权不在受信任的根证书内。你的问题还有红毛等的最彻底的解决办法是修改bootmgr+winload+ntoskrnl,彻底砍掉系统的自我保护。难度有点大。
作者: yamingw    时间: 2016-11-11 11:34
有能力的可网上搜索 patch dse 自己动手
作者: 红毛樱木    时间: 2016-11-11 12:56
yamingw 发表于 2016-11-11 11:32
可能是cat文件对应的签名授权不在受信任的根证书内。你的问题还有红毛等的最彻底的解决办法是修改bootmgr+w ...

最终改内核驱动,用第三方有效的过期签名签了之后有效。
不过DLL文件就不行了,比如我改微软的四格启动画面bootres.dll文件,签名之后在安全启动模式下就是不显示LOGO。
老大你说的问题还要加上一个bootmgr.efi和winload.efi吧
作者: zhoubin    时间: 2016-11-17 23:23
hhh333 发表于 2016-11-3 17:20
是的,现在调试好了,就是签名校验问题,前面的子程序改为如下就好了

我还以为你这个可以安装驱动呢:
  1. IFEX %SystemDrive%\Tools\NVMe\ianvme\*.*,TEAM ENVI ADD_DRV="%SystemDrive%\Tools\NVMe\ianvme"|CALL DpInsInf|ENVI ADD_DRV
  2. IFEX %SystemDrive%\Tools\NVMe\nvme\*.*,TEAM ENVI ADD_DRV="%SystemDrive%\Tools\NVMe\nvme"|CALL DpInsInf|ENVI ADD_DRV
  3. IFEX %SystemDrive%\Tools\NVMe\ocznvme\*.*,TEAM ENVI ADD_DRV="%SystemDrive%\Tools\NVMe\ocznvme"|CALL DpInsInf|ENVI ADD_DRV
  4. IFEX %SystemDrive%\Tools\NVMe\stornvme\*.*,TEAM ENVI ADD_DRV="%SystemDrive%\Tools\NVMe\stornvme"|CALL DpInsInf|ENVI ADD_DRV

  5. _SUB DpInsInf
  6. `REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#1
  7. EXEC =!dpinst.exe /S /LM /SA /SH /Path %ADD_DRV%
  8. `REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0
  9. `WAIT 100
  10. _END
复制代码

结果不行呀。。。
请教一下老大,这个安装驱动怎么写?谢谢老大!!!
作者: buger    时间: 2016-12-1 09:29
本帖最后由 buger 于 2016-12-1 09:34 编辑

http://forum.ru-board.com/topic. ... p;limit=1&m=1#1可以下载到俄国佬做的驱动包

DPxPE_2016-01-00
这个是用TXT做的索引文件,像这样的格式
PCI\VEN_1002&DEV_665D,"(PE64) AMD Radeon R7 200 Series",CAT153_NT6X64\C7181821.inf,03/19/2015 v14.502.1014.0000
PCI\VEN_1002&DEV_6660,"(PE64) AMD Radeon HD 8600M Series",CAT153_NT6X64\C7181821.inf,03/19/2015 v14.502.1014.0000
PCI\VEN_1002&DEV_6663,"(PE64) AMD Radeon R5 M200 / HD 8500M Series",CAT153_NT6X64\C7181821.inf,03/19/2015 v14.502.1014.0000
PCI\VEN_1002&DEV_6664,"(PE64) AMD Radeon R5 M200 Series",CAT153_NT6X64\C7181821.inf,03/19/2015 v14.502.1014.0000

DPxSDI_2016-05-05
这个是用bin做的索引文件
LAN3_x64(1605)_NT6x64.bin
_P_WLAN-WiFi_16113.bin
_P_MassStorage_16113.bin

都是使用的一个修改版devinst v1.2 byAEKY来做的,两个驱动包包括的范围不一样,修改版的比较小安装驱动很快。
还有一个可以参考的就是 snappy driver install 这个是开源的,一直在更新。驱动包全下来有13个G,这个驱动包看大小不是修改版的.
作者: daier    时间: 2016-12-2 14:26
谢谢分享
作者: belenkwong    时间: 2016-12-2 16:51
感謝大神分享心得及完整教學,讓我等小白們能夠學習學習。我只知道壓縮率越高的檔案,解壓速度越慢,所以在需要解壓的情況下,理論上wim文件最大壓縮率最低應該是最快,時間就是金錢,硬盤也夠大,我想以後會出現僅儲存甚至不壓縮的方法來安裝驅動。
作者: belenkwong    时间: 2016-12-2 16:51
感謝大神分享心得及完整教學,讓我等小白們能夠學習學習。我只知道壓縮率越高的檔案,解壓速度越慢,所以在需要解壓的情況下,理論上wim文件最大壓縮率最低應該是最快,時間就是金錢,硬盤也夠大,我想以後會出現僅儲存甚至不壓縮的方法來安裝驅動。
作者: belenkwong    时间: 2016-12-2 16:58
試過把所有驅動整合到一個驅動包再用dpinst.exe 來安裝,不知為何,發現有些驅動並沒有安裝。
作者: 2010eflying    时间: 2016-12-25 14:23
我是tp8高配版的,最近整了个pe,用drvload和j大的dpinst还有dism++添加螃蟹驱动都失败,后面只有原生的添加驱动和devi功能才成功
作者: 邪恶海盗    时间: 2016-12-25 15:28
.zip格式的驱动包靠谱不,有个winmount可以挂载zip,相对来讲zip的压缩率比wim要高吧???
作者: 红毛樱木    时间: 2016-12-25 18:21
邪恶海盗 发表于 2016-12-25 15:28
.zip格式的驱动包靠谱不,有个winmount可以挂载zip,相对来讲zip的压缩率比wim要高吧???


winmount依赖的太多了不适合PE下玩
作者: belenkwong    时间: 2016-12-28 17:18
我覺得還是7z或cab格式實用,掛載wim方式會用掉很多內存,雖然掛載方式心較快,但除了顯卡驅動包比較大,其他驅動卻快不了多少。
作者: hhh333    时间: 2016-12-29 09:42
belenkwong 发表于 2016-12-28 17:18
我覺得還是7z或cab格式實用,掛載wim方式會用掉很多內存,雖然掛載方式心較快,但除了顯卡驅動包比較大,其 ...

是的,所以显卡可以用WIM,其他优势就不是很明显了。如果用占内存的方式挂也不合算,我用的是WIMFLTR.SYS来挂的。
作者: belenkwong    时间: 2016-12-30 16:52
hhh333 发表于 2016-12-29 09:42
是的,所以显卡可以用WIM,其他优势就不是很明显了。如果用占内存的方式挂也不合算,我用的是WIMFLTR.SYS ...

還是用回解壓縮方式好了,如果嫌解壓慢用僅儲存方式壓縮就好。
作者: 201287zr    时间: 2019-6-17 18:53
请问个比较白痴的问题,dpinst.exe指的是drvinst.exe吗,我找了原生MS的10pe系统下好像只有drvinst.exe啊
作者: 201287zr    时间: 2019-6-18 09:54
大神,想请教个问题,dpinst似乎从Windows10版本1607(Redstone1)开始,驱动程序安装框架(Difx)工具不再包含在WDK中(https://docs.microsoft.com/de-de ... all/difx-guidelines),那么这里的dpinst还适用于win10最新版本PE的驱动安装吗?drvinst.exe这个东东不知怎么用,搞不太明白,大哥可否指教下?
作者: huang1987    时间: 2023-11-25 13:57
谢谢分享
作者: 开飞机的企鹅    时间: 2023-11-27 05:52
学习学习




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