无忧启动论坛
标题: 浅说Windows10 PE驱动集成(一) [打印本页]
作者: youxia1220 时间: 2026-1-2 14:03
标题: 浅说Windows10 PE驱动集成(一)
本帖最后由 youxia1220 于 2026-1-2 14:14 编辑
首先申明,我是个小白,学习制作PE时间不长,分享一点PE集成驱动体会,没有高深理论,只是自己摸索的经验。不一定全面和正确,还请大佬多多指点!
以在PE中集成Microsoft Hyper-V Virtualization Infrastructure Driver为例,说说我集成驱动的一般思路。
PE启动后,设备管理器如图:
此时定位到注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VID\0000,没有什么有用的信息可供参考。
我通常采取的做法是,在设备管理器中,更新驱动程序,浏览我的电脑以查找驱动程序。选择正常系统的程序驱动库
\Windows\System32\DriverStore\FileRepository(相同版本最好)或者从母盘解压出的驱动库\Windows\System32\DriverStore\FileRepository。
一般来说,PE都会正常安装驱动。但是Microsoft Hyper-V Virtualization Infrastructure Driver驱动不同,安装完成后,显示异常,如图所示。
虽然驱动异常,但是知道了是什么驱动,总算有一点眉目下手。定位注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VID\0000,如图所示
可以查看到这些信息,
ClassGUID为{4d36e97d-e325-11ce-bfc1-08002be10318},
Driver为{4d36e97d-e325-11ce-bfc1-08002be10318}\0043,
Service为Vid。
DeviceDesc为oem0.inf。
显然,oem0.inf就是刚刚安装的驱动inf文件,在INF文件夹打开oem0.inf,发现oem0.inf其实就是 wvid.inf。在X:\Windows\System32\DriverStore\FileRepository中可以找到刚刚存储到驱动库的驱动文件夹wvid.inf_amd64_7c50642b144b870d。
依据上述信息,定位注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e97d-e325-11ce-bfc1-08002be10318}\0043,如图所示, 没有发现异常。
定位注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Vid,如图所示,没有发现异常。
继续排查其他注册表键值,定位HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DeviceIds\{4d36e97d-e325-11ce-bfc1-08002be10318},如图所示,有oem0.inf,正常。
定位注册表HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverInfFiles\oem0.inf,如图所示,未见异常。
继续排查,定位HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverPackages\wvid.inf_amd64_7c50642b144b870d,如图所示,
与正常系统对比,发现SignerScore及Version和正常系统不一样,SignerScore与签名有关,Version显然和版本有关。将SignerScore值由0x80000000改为0x0d000003,Version由00 ff 09改为ff ff 09,同正常系统一致,为稳妥起见,将oempath值路径由C盘修改为X盘打包WIM重新启动PE,驱动还是异常。如何才能成功集成Microsoft Hyper-V Virtualization Infrastructure Driver驱动,稍后继续分享。
此处改动是否必须存疑,发现其他DriverPackages下有SignerScore值为0x80000000和Version为00 ff 09的。改动后还不行,至少排除是这二个值导致驱动异常。还请大佬解说这二个注册表值的含义,有没有必须改动的必要。
作者: wn168cn@163.com 时间: 2026-1-2 14:31
支持折腾
作者: a66 时间: 2026-1-2 14:45
实践出真知
作者: martin313 时间: 2026-1-2 15:23
搞这么复杂
Dism++ 离线注入驱动,Dism++会自动处理添加驱动相关注册表与相关inf文件,全部自动搞定
作者: smile_z 时间: 2026-1-2 15:30
感谢分享
作者: wwwlhp 时间: 2026-1-2 16:01
多谢分享!!!
作者: youxia1220 时间: 2026-1-2 17:27
能全部自动搞定就好了。用DISM++离线注入驱动,不止一次遇到注入成功,在驱动库却找不到驱动文件的情况。还得手动复制驱动文件,导入注册表。不信你离线注入wvid.inf_amd64_7c50642b144b870d驱动,看看能不能全部自动搞定?
作者: youxia1220 时间: 2026-1-2 17:41
本帖最后由 youxia1220 于 2026-1-2 19:27 编辑
PE集成Microsoft Wi-Fi Direct Virtual Adapter驱动后,设备管理器发现多了一个未知设备。
查到此设备与pcmcia.inf驱动有关。
用DISM++离线注入pcmcia.inf_amd64_cb18bba4788e47f7,显示成功,结果在\Windows\System32\DriverStore\FileRepository根本就没有pcmcia.inf_amd64_cb18bba4788e47f7,是不是我用的DISM++是残缺版本?
PE集成Microsoft Wi-Fi Direct Virtual Adapter驱动后,设备管理器发现多了一个未知设备。此处有误,并不是集成Microsoft Wi-Fi Direct Virtual Adapter驱动后多了一个未知设备,而是自己找事,将驱动内置时,粗心大意导致的。但离线注入驱动不靠谱的情况确实存在。
现在是启动PE,安装此设备驱动就重启,目前正在查找原因。已知设备信息如下:
设备名称: Intel(R) Management Engine Interface
制造商: Intel
服务: MEIx64
设备类型代码: System
设备实例ID: PCI\VEN_8086&DEV_9D3A&SUBSYS_078B1028&REV_21\3&11583659&0&B0
路径: @System32\drivers\pci.sys,#65536;PCI bus %1, device %2, function %3;(0,22,0)
容器 ID: {00000000-0000-0000-ffff-ffffffffffff}
Class Guid: {4d36e97d-e325-11ce-bfc1-08002be10318}
驱动内置时,修改的注册表键值太多,一时半会不知道哪里出了问题,有大佬指点就最好了,省事!
作者: 燕飞龙 时间: 2026-1-2 20:06
谢谢分享
作者: handsome_xiang 时间: 2026-1-2 20:57
感谢分享!
作者: riso 时间: 2026-1-2 21:10
感谢分享!
作者: ebaqiang 时间: 2026-1-3 02:40
我也是刚知道
作者: ygy413470244 时间: 2026-1-3 06:57
谢谢非常
作者: 孤山飞雪 时间: 2026-1-3 13:30
非常好用
作者: fegr 时间: 2026-1-3 16:19
感谢分享
作者: iamleno 时间: 2026-1-3 19:09
感谢分享
作者: wuliyen 时间: 2026-1-3 21:07
本帖最后由 wuliyen 于 2026-1-3 21:24 编辑
既然知道了inf文件名称,将原版inf对应的签名文件找到,复制到一起应该就可以正常集成了
22H2是这个,其它版本类似
\Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\HyperV-VID-Package~31bf3856ad364e35~amd64~~10.0.19041.5794.cat
作者: wuliyen 时间: 2026-1-3 21:15
本帖最后由 wuliyen 于 2026-1-3 21:16 编辑
先将Vid.sys复制到驱动文件夹,再导入
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VID\0000
"HardwareID"="ROOT\VID"
添加·服务
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Vid
再集成
作者: dayeye 时间: 2026-1-3 21:23
感谢分享
作者: John-Doe_1 时间: 2026-1-3 21:34
Thanks for sharing
作者: youxia1220 时间: 2026-1-4 08:49
怎么查找对应签名文件的?请指教方法,谢谢!
作者: youxia1220 时间: 2026-1-4 08:51
没看懂,为什么要按这样的顺序?
这个驱动可以DISM++离线注入的。
不能这样注入的,才手动复制文件和导入注册表。
作者: wuliyen 时间: 2026-1-4 09:06
DISM++离线注入并不意味着驱动能正常工作,如果折腾过服务器版驱动安装就会有更深理解
作者: youxia1220 时间: 2026-1-4 09:55
没有折腾过服务器版本。
DISM++注入驱动确实不是万能的,这个领教过了。
是不是微软的命令行DISM要靠谱一些?
作者: 2267981144 时间: 2026-1-5 11:40
感谢辛苦提供分享!
作者: win82 时间: 2026-1-7 14:18
感谢分享
| 欢迎光临 无忧启动论坛 (http://wuyou.net/) |
Powered by Discuz! X3.3 |