无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9178|回复: 14
打印 上一主题 下一主题

[分享] 为精简Win7增加RNDIS驱动和MTP功能

[复制链接]
跳转到指定楼层
1#
发表于 2019-12-19 10:18:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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文件的基础知识,论坛中有方法。这里不重复了。



评分

参与人数 6无忧币 +31 收起 理由
1301994096 + 5 很给力!
addaadda + 5 这个问题经常遇到,原来这样处理,学习了
slore + 5 很给力!
20090101 + 10 能否做个三烦Win7x86系统的MTP功能恢复包
studyggm + 1 赞一个!支持技术分享
hlccfu + 5 很给力!

查看全部评分

2#
发表于 2019-12-19 11:36:57 | 只看该作者
赞一个!支持技术分享
回复

使用道具 举报

3#
发表于 2019-12-19 11:51:46 | 只看该作者
支持研究,不过12月win7算服务完了。不是win7pe是不是,帖子发错位置了。

点评

这里当然是拿PE说事的  详情 回复 发表于 2019-12-19 15:08
回复

使用道具 举报

4#
发表于 2019-12-19 12:24:21 | 只看该作者
MTP功能很有用,加油,继续研究
回复

使用道具 举报

5#
发表于 2019-12-19 14:01:13 | 只看该作者
太高端
回复

使用道具 举报

6#
 楼主| 发表于 2019-12-19 15:08:14 | 只看该作者
slore 发表于 2019-12-19 11:51
支持研究,不过12月win7算服务完了。不是win7pe是不是,帖子发错位置了。

这里当然是拿PE说事的
回复

使用道具 举报

7#
发表于 2019-12-20 11:36:32 来自手机 | 只看该作者
感谢分享宝贵经验
回复

使用道具 举报

8#
发表于 2019-12-31 06:25:17 | 只看该作者
能否做个三烦Win7x86系统的MTP功能恢复包
回复

使用道具 举报

9#
发表于 2020-2-12 22:07:04 | 只看该作者
感谢分享!
回复

使用道具 举报

10#
发表于 2020-2-12 22:11:25 | 只看该作者
感谢分享!
回复

使用道具 举报

11#
发表于 2020-3-10 11:32:02 | 只看该作者
Win10PE能通用此方法吗
回复

使用道具 举报

12#
发表于 2021-9-11 22:33:47 | 只看该作者
按照此方法求高手出手:三烦Win7x86系统加上MTP功能,或者东阳侬的Win7x86系统加上RNDIS,万分感谢啊!
回复

使用道具 举报

13#
发表于 2022-1-20 17:18:22 | 只看该作者
难度有点大,有没有现成做好的啊!
回复

使用道具 举报

14#
发表于 2022-2-25 16:39:34 | 只看该作者
期待能对三烦的和东阳的出个修复包,谢谢!!
回复

使用道具 举报

15#
发表于 2022-2-25 17:05:24 | 只看该作者
对东阳侬的x64版本:
pe下打开C:\Windows\System32\DriverStore,去别的正常的win7 sp1机器复制drvindex.dat和infstor.dat覆盖。
pe下打开C:\Windows\System32\DriverStore\FileRepository,去别的正常的win7 sp1机器复制这个文件夹netrndis.inf_amd64_neutral_4c56d83f6e4d75b0覆盖。

重启动:
手机连上RNDIS就自动安装了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 18:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表