[分享]浅说Windows10 PE驱动集成(一)
4小时前 23

首先申明,我是个小白,学习制作PE时间不长,分享一点PE集成驱动体会,没有高深理论,只是自己摸索的经验。不一定全面和正确,还请大佬多多指点!
以在PE中集成Microsoft Hyper-V Virtualization Infrastructure Driver为例,说说我集成驱动的一般思路。
PE启动后,设备管理器如图:

sshot-1.webp
 sshot-2.webp此时定位到注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VID\0000,没有什么有用的信息可供参考。
我通常采取的做法是,在设备管理器中,更新驱动程序,浏览我的电脑以查找驱动程序。选择正常系统的程序驱动库
\Windows\System32\DriverStore\FileRepository(相同版本最好)或者从母盘解压出的驱动库\Windows\System32\DriverStore\FileRepository。
一般来说,PE都会正常安装驱动。但是Microsoft Hyper-V Virtualization Infrastructure Driver驱动不同,安装完成后,显示异常,如图所示。

sshot-3.webp
 
 sshot-4.webp
虽然驱动异常,但是知道了是什么驱动,总算有一点眉目下手。定位注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VID\0000,如图所示
 sshot-5.webp
可以查看到这些信息,
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。

sshot-6.webp
依据上述信息,定位注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e97d-e325-11ce-bfc1-08002be10318}\0043,

如图所示

sshot-7.webp
 没有发现异常,定位注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Vid,如图所示。

sshot-8.webp
 没有发现异常。继续排查其他注册表键值,定位HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DeviceIds\{4d36e97d-e325-11ce-bfc1-08002be10318},如图所示,

sshot-9.webp
 有oem0.inf,正常。定位注册表HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverInfFiles\oem0.inf,如图所示,

sshot-10.webp
 未见异常。继续排查,定位HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase\DriverPackages\wvid.inf_amd64_7c50642b144b870d,如图所示,

sshot-11.webp
 与正常系统对比,发现SignerScore值和Version不一样,SignerScore与签名有关,Version显然和版本有关。将SignerScore值由0x80000000改为0x0d000003,Version由00 ff 09改为ff ff 09,打包WIM重新启动PE,驱动还是异常。如何才能成功集成Microsoft Hyper-V Virtualization Infrastructure Driver驱动,明年继续分享。

奖励
收藏
点赞
分享
往事随风
最新回复 (0)
返回