|
本帖最后由 hhh333 于 2019-12-19 20:06 编辑
Win7真是垂而不死,看论坛又有人把一些老的win7大块头PE又扒拉出来了,好几百M。win7确实是一个划时代的操作系统,但实际上win7pe确实存在一些致命缺陷,有的人有一些老机想发一下余热,用RNDIS来上网,也是很小众的,MTP应该更用得少。精简带网络功能的win7PE应该就100M的样子,用起来确也流畅。难道真要用大块头来实现这两个功能吗?
一、RNDIS功能的实现
核心驱动很简单netrndis.inf及相关文件,我的win7sp1原盘驱动是在System32\DriverStore\FileRepository\netrndis.inf_x86_neutral_4c56d83f6e4d75b0下,按要求恢复到系统中以后,无论如何装总是出现系统找不到指定的文件,设备管理中黄色感叹号。肯定是系统安装数据库有问题,即是System32\DriverStore下的四个索引文件出了问题,找了一大堆恢复工具的来修复,多数只是简单的把原版文件复制了事,把我原来的破坏了。又偿试用DISM++弄进去也不行,想找个工具来打开索引也没找到。后来用winhex看下,呵呵,原来有一个登记错误netrndis.inf_x86_neutral_4c56d83f6e4d75b0后面那一排数据与我的文件不一致。如下:
直接改回来(不知以前是哪个SP1版本做的怎么有差异?),看了一下还有一个文件要改infstor.dat,改法一样的,搜UNICODE码的rndis就找得到。改好后内核重新打包,手机连上RNDIS就自动安装了。当然直接改原安装文件那个目录名也可以。
二、MTP功能
这个较复杂,我的这个PE也是找不到指定的文件,实际上也是数据索引文件的问题,但不知道离线编辑这四个文件的方法,用winhex在四个文件中搜了一下没有MTP相关驱动,用DISM++集成也不行,安装是还是出现找不到指定的文件。
经仔细查验,MTP最基础的驱动是winusb.sys,其他wpd相关安装文件都要调用这个,参考win10已经固定在注册表中service中,而win7没有,要用时根据索引文件安装,如果索引没有就找不到。那就用命令建立,MTP相关索引全部没有,就全部临时安装,正好可以做成外置组件。以下是PECMD脚本,也可以改成CMD批处理
EXEC =!sc create Winusb binpath= System32\Drivers\winusb.sys type= kernel start= demand
EXEC =!sc create Wudfrd binpath= System32\Drivers\wudfrd.sys type= kernel start= demand
EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\transfercable.inf_x86_neutral_82f4c743c8996d67\transfercable.inf"
`EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\winusb.inf_x86_neutral_6cb50ae9f480775b\winusb.inf"
EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\wpdfs.inf_x86_neutral_fc4ebadff3a40ae4\wpdfs.inf"
EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\wpdcomp.inf_x86_neutral_c74d9db8cbb3545c\wpdcomp.inf"
EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\wpdmtp.inf_x86_neutral_28f06ca2e38e8979\wpdmtp.inf"
EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\wpdmtphw.inf_x86_neutral_a7a22bb0bb81abb0\wpdmtphw.inf"
EXEC =!PnPutil.exe -i -a "%Windir%\System32\DriverStore\FileRepository\wudfusbcciddriver.inf_x86_neutral_b961cfda3f3ba863\wudfusbcciddriver.inf"
经测试通过,不过我的这个PE虽然便携设备出来了,但资源管理中还是看不见,只是出了个华为CD,不知哪里还有问题。
顺便再问一下,win7的那四个驱动索引文件大家有什么工具来编辑?
以上添加RNDIS和MTP文件的基础知识,论坛中有方法。这里不重复了。
|
评分
-
查看全部评分
|