无忧启动论坛

标题: 内置-修正 USB 驱动程序文件路径 (shell32.dll) [打印本页]

作者: mapeimapei    时间: 2008-12-2 16:18
标题: 内置-修正 USB 驱动程序文件路径 (shell32.dll)
这个应该算是半内置吧,但是内核文件的执行速度要快于配置文件,所以还是有些进步的。。

以前的:
TEAM ENVI VV0=HKLM\System\CurrentControlSet\Services|ENVI VV1=System32\Drivers `修正 USB 驱动程序文件路径
REGI %VV0%\USBHUB\ImagePath=%VV1%\USBHUB.SYS
REGI %VV0%\USBCCGP\ImagePath=%VV1%\USBCCGP.SYS
REGI %VV0%\USBEHCI\ImagePath=%VV1%\USBEHCI.SYS
REGI %VV0%\USBOHCI\ImagePath=%VV1%\USBOHCI.SYS
REGI %VV0%\USBSTOR\ImagePath=%VV1%\USBSTOR.SYS
REGI %VV0%\USBUHCI\ImagePath=%VV1%\USBUHCI.SYS
REGI %VV0%\HIDUSB\ImagePath=%VV1%\HIDUSB.SYS
REGI %VV0%\MOUCLASS\ImagePath=%VV1%\MOUCLASS.SYS
REGI %VV0%\MOUHID\ImagePath=%VV1%\MOUHID.SYS
REGI %VV0%\KBDCLASS\ImagePath=%VV1%\KBDCLASS.SYS
REGI %VV0%\KBDHID\ImagePath=%VV1%\KBDHID.SYS
REGI %VV0%\CDROM\ImagePath=%VV1%\cdrom.sys

修改为:

hklm,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",,"System32\Drivers\USBHUB.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\USBCCGP","ImagePath",,"System32\Drivers\USBCCGP.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\USBEHCI","ImagePath",,"System32\Drivers\USBEHCI.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\USBOHCI","ImagePath",,"System32\Drivers\USBOHCI.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\USBUHCI","ImagePath",,"System32\Drivers\USBUHCI.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",,"System32\Drivers\USBSTOR.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\HIDUSB","ImagePath",,"System32\Drivers\HIDUSB.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\MOUCLASS","ImagePath",,"System32\Drivers\MOUCLASS.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\MOUHID","ImagePath",,"System32\Drivers\MOUHID.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\KBDHID","ImagePath",,"System32\Drivers\KBDHID.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\KBDCLASS","ImagePath",,"System32\Drivers\KBDCLASS.SYS"
hklm,"SYSTEM\CurrentControlSet\Services\CDROM","ImagePath",,"System32\Drivers\CDROM.sys"

---------------------------

用ResHacker.exe打开shell32.dll,然后将上边的命令添加进去,如:






PS:内置到shell32.dll以后偶进行了测试,很成功。。

[ 本帖最后由 mapeimapei 于 2008-12-2 22:23 编辑 ]
作者: mapeimapei    时间: 2008-12-2 16:39
怎么没有人顶啊。。。。
作者: 千里独行    时间: 2008-12-2 16:43
支持一个,小马总是有创新。
作者: 云飞日月    时间: 2008-12-2 16:44
可以随便加?....
作者: HB天意    时间: 2008-12-2 16:44
支持一个。稳定不?
作者: mapeimapei    时间: 2008-12-2 16:50
原帖由 云飞日月 于 2008-12-2 16:44 发表
可以随便加?....


应该是可随便加的吧。我这个不确定。但是理论上是可以的。。

我是加载了毛桃之前注册用户名那块了。。
作者: mapeimapei    时间: 2008-12-2 16:51
原帖由 yidawpf 于 2008-12-2 16:44 发表
支持一个。稳定不?



稳定行有待测试。。我支持测试可用就没有再测试。。
作者: dos时代菜鸟    时间: 2008-12-2 16:59
顶一个
顶两个
顶三个

不过,如果shell32.dll 被放到二级内核,而二级内核在usb设备上,该怎么办啊。

[ 本帖最后由 dos时代菜鸟 于 2008-12-2 17:00 编辑 ]
作者: lyra    时间: 2008-12-2 17:27
原帖由 dos时代菜鸟 于 2008-12-2 16:59 发表
顶一个
顶两个
顶三个

不过,如果shell32.dll 被放到二级内核,而二级内核在usb设备上,该怎么办啊。


顶四个,这也是我想问的问题。
作者: mapeimapei    时间: 2008-12-2 17:53
原帖由 dos时代菜鸟 于 2008-12-2 16:59 发表
顶一个
顶两个
顶三个

不过,如果shell32.dll 被放到二级内核,而二级内核在usb设备上,该怎么办啊。


呵呵,我没有玩过2级扩展的PE。这个我不知道啊,你们试试,如果可行就好,不行的话,我也是没有办法啊。。
作者: yichya    时间: 2008-12-2 17:55
顶5个。。。。。马上测试。
作者: mapeimapei    时间: 2008-12-2 17:55
大家等等,我制作一个U盘启动实测下。。
作者: 421062724    时间: 2008-12-2 18:04
反正偶的是img核心,偶也不开fbwf,二级对我来说没什么意义
作者: yichya    时间: 2008-12-2 18:10
这个应该是INIT之后进行的吧。
突发奇想:可以把IE.INF放到某个启动时注册的DLL里。。
作者: mapeimapei    时间: 2008-12-2 18:11
刚才U盘启动实机测试了一下,很成功。如果不是2级内核的话,应该没有问题了。

你们大家谁搞2级启动的测试下。
作者: mapeimapei    时间: 2008-12-2 18:12
原帖由 yichya 于 2008-12-2 18:10 发表
这个应该是INIT之后进行的吧。
突发奇想:可以把IE.INF放到某个启动时注册的DLL里。。


搞一个启动后就加载网卡驱动或者显卡驱动的?
作者: netwinxp    时间: 2008-12-2 18:28
把一些注册表内容放到SHELL32.DLL等三个关键DLL里面是可行的,因为出现桌面之前要注册它们(原来注册表的一些内容不起作用也是因为被覆盖的原因),放到其他的DLL就不一定能行了。我曾经说过HKCU在SHELL32里面也是这个原因。
另,除非IE内置,否则不要把IE的信息放到SHELL32里面。
作者: mapeimapei    时间: 2008-12-2 18:30
原帖由 netwinxp 于 2008-12-2 18:28 发表
把一些注册表内容放到SHELL32.DLL等三个关键DLL里面是可行的,因为出现桌面之前要注册它们(原来注册表的一些内容不起作用也是因为被覆盖的原因),放到其他的DLL就不一定能行了。我曾经说过HKCU在SHELL32里面也是 ...



版主大大出来肯定,看来这个方法还是值得肯定的。
作者: yichya    时间: 2008-12-2 18:35
原帖由 netwinxp 于 2008-12-2 18:28 发表
把一些注册表内容放到SHELL32.DLL等三个关键DLL里面是可行的,因为出现桌面之前要注册它们(原来注册表的一些内容不起作用也是因为被覆盖的原因),放到其他的DLL就不一定能行了。我曾经说过HKCU在SHELL32里面也是 ...

因为把IE.INF和IEXPLORE.EXE分开放就没法用IE所以没成功研究下去。驱动早就好了。
作者: lrbin50    时间: 2008-12-2 18:45
很强的说,这个也可以编辑,我也试试去。这样INF就简单了。
作者: wxb    时间: 2008-12-2 18:50
支持,好像很多人对PE的热情减了,致使PE的进展也很少
作者: CWD    时间: 2008-12-2 20:24
哈哈,顶6个。。。来得早不如来得巧,大家都测试好了的,看来我是个来打网收鱼的^_^
作者: 沙漠之子    时间: 2008-12-2 20:26
这个方法很不错呀 在注册shell32.dll的时候自动 导入信息了
理论上没啥 不稳定的

对于二级内核 一般是启动PE钱就将U盘插在主机上的吧
那个根本就不需要修正 USB 驱动程序文件路径 了

txtsetup.sif 在启动时检测到U盘 就会装好驱动的 故进入后就不需修正 USB 驱动程序文件路径 了
U盘属于即插即用设备 不想scsi设备 等底层驱动必需在启动时够过txtsetup.sif 的设定安装的

由于在启动是的某环节将 USB 驱动程序文件路径(注册表中)改掉了(故在SETUPREG.HIV中正确设定也是没用的)
所以才有了进入PE后手动修正 USB 驱动程序文件在注册表中的路径

[ 本帖最后由 沙漠之子 于 2008-12-2 20:27 编辑 ]
作者: 66369    时间: 2008-12-2 20:27
顶99个.LZ的精神可嘉.认真学习了.
作者: CWD    时间: 2008-12-2 21:10
咦。。。小马,修改后的是不是少了一行MOUHID.SYS的了?。。。
作者: netwinxp    时间: 2008-12-2 21:27
一部分也可以放到BROWSEUI.DLL、SHDOCVW.DLL的REGINST里面也是可以的,特别是IE相关的增加或修改这两个更为合适(建议内置IE的时候使用)。
作者: mapeimapei    时间: 2008-12-2 22:22
原帖由 CWD 于 2008-12-2 21:10 发表
咦。。。小马,修改后的是不是少了一行MOUHID.SYS的了?。。。



的确是少了一个。。汗一个。
作者: 421062724    时间: 2008-12-2 22:51
确实比放ini里好,偶明天再改然后试验,今天没时间了
作者: huantaoyan    时间: 2008-12-3 01:58
晕,老是想在别人前面,你前面的PE我还没有研究完呢
作者: 135956    时间: 2008-12-3 08:50
太有创意了,一直都没发觉可以这样。




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