无忧启动论坛

标题: PE本地化又一idea [打印本页]

作者: neo4026    时间: 2008-1-12 17:31
标题: PE本地化又一idea
1.首先在虚拟机的C盘(空分区)写入nt loader引导 把pe以非ram形式(minint)安装到上面

2.修改pecmd.ini,把fbwf和删除*.??_的那两行去掉

3.把outer_common outer_base 网络组件 声音组件内置进minint里

3.启动一次 把声 显 网全部初始化好

4.关机 把c:\做成img 把minint改名为i386

至此,应该能把这个img作为ramdisk启动的核心 而由于初始化过的原因 PECMD和pelogon也可以扔一边了

不过最好还是留下pecmd来创建快捷方式




以上纯粹理论 本人因条件所限没法测试 希望大家能研究下其可行性如何
作者: lxl1638    时间: 2008-1-12 17:34
本人的答案,或者不对,答案是不能。
本人对PE启动的原理可能仅算知道,但由谁来完成explorer.exe启动的初始化环境,不是注册表环境,而是内存环境?

[ 本帖最后由 lxl1638 于 2008-1-12 05:38 PM 编辑 ]
作者: neo4026    时间: 2008-1-12 17:47
注册3个dll的结果应该是向注册表写进东西吧....

其实我一直不明白所谓的"初始化桌面"的含义
作者: lxl1638    时间: 2008-1-12 18:52
原帖由 neo4026 于 2008-1-12 05:47 PM 发表
注册3个dll的结果应该是向注册表写进东西吧....

其实我一直不明白所谓的"初始化桌面"的含义


都不是,写入注册表的东西全部由用户INI文件中的REGI命令来完成,PECMD.EXE不管注册表的。
注册3个dll,"初始化桌面"都是对内存操作的,实际上是初始化explorer.exe的运行环境。
如果没有"初始化桌面",explorer.exe启动后会马上退出,就象在微软的PE中想直接加上explorer.exe一样。
"3个dll"实质是explorer.exe的外壳,或者可以说是将微软系统文本模式加上图形外壳,这样说可能不正确,但很形象。

当然,一切要试验才有结果。你如果有空,可以试试。

[ 本帖最后由 lxl1638 于 2008-1-12 06:54 PM 编辑 ]
作者: 无优处男    时间: 2008-1-12 19:03
撒手不管.............................
作者: 老九老毛桃粉丝    时间: 2008-1-12 19:06
原帖由 lxl1638 于 2008-1-12 06:52 PM 发表


都不是,写入注册表的东西全部由用户INI文件中的REGI命令来完成,PECMD.EXE不管注册表的。
注册3个dll,"初始化桌面"都是对内存操作的,实际上是初始化explorer.exe的运行环境。
如果没有"初始化桌面",e ...


老九解释地很详细,楼主太异想天开了,楼主是要把PE当成 快速的XP安装盘 了 - -!

[ 本帖最后由 老九老毛桃粉丝 于 2008-1-12 07:09 PM 编辑 ]
作者: neo4026    时间: 2008-1-12 19:08
我的意思是说
regsvr32调用那三个dll的DllRegisterServer()函数所做的工作应该是对注册表写入东西(见shell32.dll的资源)

如果按大大所说的 winxp是哪个负责"初始化桌面"的呢?如果是winlogon,winpe也有...
作者: 123    时间: 2008-1-12 19:20
注册完DLL可以直接运行EXPLORER进入桌面,可以用批处理
作者: lxl1638    时间: 2008-1-12 19:32
原帖由 123 于 2008-1-12 07:20 PM 发表
注册完DLL可以直接运行EXPLORER进入桌面,可以用批处理


可以,本人以前试过,注册DLL也可以用批处理。本人曾经发过这样的帖,但这样的PE不实用,不能开3个以上窗口(程序)。
作者: lxl1638    时间: 2008-1-12 19:35
原帖由 neo4026 于 2008-1-12 07:08 PM 发表
我的意思是说
regsvr32调用那三个dll的DllRegisterServer()函数所做的工作应该是对注册表写入东西(见shell32.dll的资源)

如果按大大所说的 winxp是哪个负责"初始化桌面"的呢?如果是winlogon,winpe也有...


本人不知道正常系统的桌面是不是由winlogon来初始化或者是由Userinit.exe来实现,在 XPE 插件中,这样的功能由 XPELOGON.EXE来完成。
作者: zts59    时间: 2008-1-12 19:36
好像这样仅是为了丢掉PECMD?效率上没有改善啊
跑题的问一句,楼主的2003内核的PE现怎么样?
作者: neo4026    时间: 2008-1-12 19:47
现在吖...在cab压缩核心
10点前deepin首发
作者: neo4026    时间: 2008-1-12 19:48
效率上有改善
把一大堆写注册表得功夫给免了
尤其是安装驱动和设置IP等繁琐得工作免掉了
作者: nn2nn    时间: 2008-1-12 20:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: neo4026    时间: 2008-1-12 20:19
初始化好的意思不单是安装好驱动
还有比如ip地址设置之类的东西

这里的重点主要是"初始化好"的注册表........

如果ramdisk启动PE时已经是一个初始化好的注册表 应该能节省不少时间

现在的重点到了explorer的初始化过程
作者: tohell    时间: 2008-1-12 23:17
PE启动后根本就没有把注册表项写入文件,所以这种做法是没用的
重启后注册表没修改驱动也没安装,快捷方式等PE对文件的操作倒是可以保存
作者: neo4026    时间: 2008-1-13 00:17
没写入文件?
那为什么不开FBWF的话那几个注册表文件会被锁着?
作者: tohell    时间: 2008-1-13 01:30
哦?会被锁住?不过既然pe启动后可以删掉config文件夹就说明不会写入那几个文件啦
作者: neo4026    时间: 2008-1-13 11:16
那是因为fbwf的关系````
没开FBWF的话删不了
作者: 123    时间: 2008-1-13 11:34
那你看一下前后文件有没有变化就知道了
作者: neo4026    时间: 2008-1-13 13:15
可惜本人没条件测试啊

不然真想先做一个出来看看效果
作者: netwinxp    时间: 2008-1-13 17:35
winlogon完成内存环境(调用其他两个文件来协助完成), USERINIT完成用户个性设置,至于启动后注册表文件无法被删除,是因为它们一直被打开着.




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