无忧启动论坛

标题: [0901更新,增加实例]突破,03PE实现两段式构架 [打印本页]

作者: HB天意    时间: 2009-8-30 20:24
标题: [0901更新,增加实例]突破,03PE实现两段式构架
前段时间大家都从xpe转到03pe研究时,本人曾经研究过03pe,想把它弄成nanope式的两段式构架。
研究了多次都失败告终,于是就放弃了这个构架。
前几天云飞日月提到是否继续把03pe研究下两段式构架。
于是再尝试了下。
经过4、5个小时的研究测试,已经成功实现03pe的两段式构架。把一级内核是19.2M。个人认为还有精简的余地。
在云飞日月朋友的继续努力下,对03pe一级内核进行了继续精简。
以小马0824驱动为基础,在未作任何精简的情况下,一级内核体积控制到了17.4M。
文件列表如下,有兴趣的朋友可以参考下。另附两段式03pe实例。

一级内核文件列表如下:
D:\新建文件夹\SYSTEM32 的目录
2009-09-01  21:39    <DIR>          .
2009-09-01  21:39    <DIR>          ..
2009-01-01  08:00           685,056 ADVAPI32.DLL
2009-01-01  08:00            70,656 AUTHZ.DLL
2008-08-08  08:00            52,736 BASESRV.DLL
2009-01-01  08:00             1,777 BIOSINFO.IN_
2009-01-01  08:00             6,348 BOOTVID.DL_
2009-01-01  08:00           329,728 CMD.EXE
2009-09-01  21:35    <DIR>          CONFIG
2009-01-01  08:00           586,752 CRYPT32.DLL
2009-01-01  08:00            33,792 CSRSRV.DLL
2009-01-01  08:00             4,096 CSRSS.EXE
2009-01-01  08:00             8,386 CTYPE.NLS
2009-01-01  08:00            66,082 C_1252.NLS
2009-01-01  08:00            90,722 C_936.NL_
2009-09-01  21:36    <DIR>          DRIVERS
2009-01-01  08:00            10,752 FRAMEBUF.DLL
2008-10-23  20:19           284,672 GDI32.DLL
2009-01-01  08:00            55,064 HAL.DL_
2009-01-01  08:00            50,243 HALAACPI.DL_
2009-01-01  08:00            41,836 HALACPI.DL_
2009-01-01  08:00           147,968 IMAGEHLP.DLL
2008-05-24  21:09            13,312 ISOCMD.EXE
2009-01-01  08:00             4,194 KDCOM.DL_
2009-01-01  08:00           771,584 KERNEL32.DLL
2009-01-01  08:00           262,846 LOCALE.NLS
2009-01-01  08:00               847 L_INTL.NL_
2009-01-01  08:00            57,856 MPR.DLL
2009-01-01  08:00            57,344 MSASN1.DLL
2009-01-01  08:00           348,672 MSVCRT.DLL
2009-01-01  08:00            17,408 NDDEAPI.DLL
2009-01-01  08:00           345,088 NETAPI32.DLL
2009-01-01  08:00           643,072 NTDLL.DLL
2009-03-26  20:00         1,120,299 NTOSKRNL.EX_
2009-01-01  08:00            83,748 PRCP.NLS
2009-01-01  08:00            22,528 PROFMAP.DLL
2009-01-01  08:00            20,480 PSAPI.DLL
2009-01-01  08:00            69,120 REG.EXE
2009-01-01  08:00            56,320 REGAPI.DLL
2009-01-01  08:00           642,048 RPCRT4.DLL
2009-01-01  08:00            65,024 SECUR32.DLL
2008-08-28  19:09            25,761 SETPAGEFILE.EXE
2009-01-01  08:00         1,012,224 SETUPAPI.DLL
2009-08-30  16:56            61,171 SETUPREG.HI_
2009-01-01  08:00             4,096 SHOWDRIVE.EXE
2009-08-01  21:44            19,456 SIMPCMD.EXE
2009-09-01  17:46               101 SIMPCMD.INI
2009-01-01  08:00            53,760 SMSS.EXE
2009-01-01  08:00           262,148 SORTKEY.NLS
2009-01-01  08:00            23,550 SORTTBLS.NLS
2009-09-01  18:13             1,847 STARTPE.CMD
2009-01-01  08:00           724,480 SXS.DLL
2009-01-01  08:00            89,588 UNICODE.NLS
2009-01-01  08:00           579,072 USER32.DLL
2009-01-01  08:00           760,320 USERENV.DLL
2009-01-01  08:00            18,432 VERSION.DLL
2009-01-01  08:00            10,752 VGA.DLL
2009-01-01  08:00            25,343 VGA256.DL_
2009-01-01  08:00             9,419 VGA64K.DL_
2009-01-01  08:00             2,437 VGAOEM.FO_
2009-01-01  08:00         1,848,832 WIN32K.SYS
2009-03-26  20:00           511,488 WINLOGON.EXE
2009-01-01  08:00           300,032 WINSRV.DLL
2009-01-01  08:00            56,320 WINSTA.DLL
2009-01-01  08:00           164,864 WINTRUST.DLL
2009-01-01  08:00            19,456 WS2HELP.DLL
2009-01-01  08:00            83,456 WS2_32.DLL
              63 个文件     13,796,861 字节
               4 个目录  9,901,756,416 可用字节

实例:
下载地址:7253547 提供的ftp。ftp://61.236.70.124  密码和用户名都是7253547
天意文件夹:TYPE2003_MINI.iso
体积:50M
MD5:748534E4D50635491B05A76B00E8EAC2

[ 本帖最后由 yidawpf 于 2009-9-1 21:41 编辑 ]
作者: HB天意    时间: 2009-8-30 20:24
其中SIMPCMD.EXE用来去掉了黑窗口,以类似进度条的形式显示二级内核装载进度。

具体实例参考我的完美者U盘维护系统V8.8F。

实现模式参考:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=146928&extra=page%3D6

[ 本帖最后由 yidawpf 于 2009-8-30 20:26 编辑 ]
作者: HB天意    时间: 2009-8-30 20:29
经本人测试这几个文件好像必不可少:
MSVCP60.DLL、BROWSEUI.DLL、scesrv.dll、UMPNPMGR.DLL、LOCALE.NLS
作者: yewuqiu    时间: 2009-8-30 20:35
其实
我觉得分成两段式后
加载速度并没有很大的提升
甚至感觉还慢点儿
虽然前面启动到桌面是快了一点儿
但是进入桌面后
出来加载二级内核那里
速度有点儿慢哦
当然也可能是我自己的问题
作者: HB天意    时间: 2009-8-30 20:46
原帖由yewuqiu于 2009-8-30 20:35 发表其实我觉得分成两段式后加载速度并没有很大的提升甚至感觉还慢点儿虽然前面启动到桌面是快了一点儿但是进入桌面后出来加载二级内核那里速度有点儿慢哦当然也可能是我自己的问题
我认为两段式构架速度的改变还是比较明显的。
作者: pseudo    时间: 2009-8-30 21:11
标题: xpe与03pe高度共享是值得考虑的方向
原帖由 yidawpf 于 2009-8-30 20:24 发表
前段时间大家都从xpe转到03pe研究时,本人曾经研究过03pe,想把它弄成nanope式的两段式构架。
研究了多次都失败告终,于是就放弃了这个构架。
今天云飞日月提到是否继续把03pe研究下两段式构架。
于是再尝试了下。
经过5、6个小时的研究测试,现在已经成功实现03pe的两段式构架。
目前一级内核是19.2M。个人认为还有精简的余地。
...

一直以为楼主的PE是两段式架构,原来楼主03pe与xpe架构不同。祝贺取得进展!

其实,0PE里的03PE从一开始就是两段式(或多段式)架构,“一级内核”约13M,有兴趣可以参考一下。nanope式的两段式构架源自chenall两段式架构,是其一个变种。

我认为xpe与03pe高度共享(架构共享是其一)是值得考虑的方向。在0PE中,xpe与03pe高度共享,除了外置程序、三卡驱动外,连SRS驱动、KERNEL都共享了。
专用于xpe的部分在0PE\XP目录,各级加起来仅20M,是否淘汰xpe就看是否计较20M空间。
作者: 12050202    时间: 2009-8-30 21:13
实测.
水.H3.加载速度差不多

天意的看上去较快

如果进入桌面要稍等才能进行操作
还在读盘
还在加载中

所以
搞两段加载
只是提前进入桌面
总体没有提高
作者: hailang    时间: 2009-8-30 21:26
那个骨头版03不过22m多,已经是一个完整的内核了,外置什么的
用vdm装上外置iso,点一下里面的bat九ok了
和19m比差不多啦
作者: HB天意    时间: 2009-8-30 21:33
原帖由12050202于 2009-8-30 21:13 发表实测.水.H3.加载速度差不多天意的看上去较快但如果进入桌面要稍等才能进行操作还在读盘还在加载中所以搞两段加载只是提前进入桌面总体没有提高
进入了桌面基本就可以用了,加载的只是主题而已!
作者: HB天意    时间: 2009-8-30 21:37
原帖由pseudo于 2009-8-30 21:11 发表一直以为楼主的PE是两段式架构,原来楼主03pe与xpe架构不同。祝贺取得进展!其实,0PE里的03PE从一开始就是两段式(或多段式)架构,“一级内核”约13M,有兴趣可以参考一下。nanope式的两段式构架源自ch ...
早就知道你的PE是两段式的,也曾经研究过你的。不过水平有限,不是很懂,对于我来说,你和CHENALL是高山仰止的人物!
作者: 66369    时间: 2009-8-30 22:13
LZ的PE.是一直要收藏的精品.

右键菜单和注册表的使用.令人敬佩.

支持继续探讨.
作者: 云飞日月    时间: 2009-8-30 23:11
天意,我这里对比nanope原版的33版本的文件,只要加一个就可以启动了,你试试
就是MPR.DLL,这一个文件,其余完全一样的列表,nanope里面的一级内核是58个文件,我这里加上MPR.DLL和SIMPLE.EXE,SIMPLE.INI还有SHOWDRIVE。EXE去掉DESK。IN1,一共就61个文件
另外DRIVERS目录里面的部分文件,也可以象NANOPE一样放在二级内核
作者: 云飞日月    时间: 2009-8-30 23:25
ADVAPI32.DLL
AUTHZ.DLL
BASESRV.DLL
BIOSINFO.IN_
BOOTVID.DL_
C_936.NLS
C_1252.NLS
CMD.EXE
CRYPT32.DLL
CSRSRV.DLL
CSRSS.EXE
CTYPE.NLS
FRAMEBUF.DLL
GDI32.DLL
HAL.DL_
HALAACPI.DL_
HALACPI.DLL
IMAGEHLP.DLL
ISOCMD.EXE
KDCOM.DL_
KERNEL32.DLL
L_INTL.NLS
LOCALE.NLS
MPR.DLL
MSASN1.DLL
MSVCRT.DLL
NDDEAPI.DLL
NETAPI32.DLL
NTDLL.DLL
NTOSKRNL.EX_
PRCP.NLS
PROFMAP.DLL
PSAPI.DLL
REGAPI.DLL
RPCRT4.DLL
SECUR32.DLL
SETUPAPI.DLL
SETUPREG.HI_
SHOWDRIVE.EXE
SIMPCMD.EXE
SIMPCMD.INI
SMSS.EXE
SORTKEY.NLS
SORTTBLS.NLS
STARTPE.CMD
SXS.DLL
UNICODE.NLS
USER32.DLL
USERENV.DLL
VERSION.DLL
VGA64K.DL_
VGA256.DL_
VGA.DLL
VGAOEM.FO_
WIN32K.SYS
WINLOGON.EXE
WINSRV.DLL
WINSTA.DLL
WINTRUST.DLL
WS2_32.DLL
WS2HELP.DLL

这个是我的文件列表
作者: HB天意    时间: 2009-8-31 06:59
原帖由云飞日月于 2009-8-30 23:11 发表天意,我这里对比nanope原版的33版本的文件,只要加一个就可以启动了,你试试就是MPR.DLL,这一个文件,其余完全一样的列表,nanope里面的一级内核是58个文件,我这里加上MPR.DLL和SIMPLE.EXE,SIMPLE.INI还有 ...
那些驱动文件可以转出来?
作者: HB天意    时间: 2009-8-31 07:33
开始不是有蓝屏等问题吗?怎么只需要一个mpr就够了?
作者: tzxinqing    时间: 2009-8-31 08:37
呵呵,前来学习一下............支持天意
作者: 云飞日月    时间: 2009-8-31 09:54
我一直没碰到过蓝屏的问题,我在真机上实验过了,一个via的主板,一个intel的主板,都可以启动成功,笔记本我晚上试一下,应该也没啥问题
我就加了那一个mpr的文件
驱动就是nanope原版的,除了tt和wimfl什么的,那两个,其他都可以放二级内核
蓝屏的信息能截图给我看看不?
作者: 云飞日月    时间: 2009-8-31 09:58
我以前做二段式不成功,是因为按照nanope的列表,我会重启,一直不知道少了哪个dll,后来昨天在你的基础上,我试了一下,发现只要mpr就够了
但是除了重启的问题,我没有碰到过蓝屏的情况。
作者: 佳佳    时间: 2009-8-31 12:10
按云飞日月先生给出的文件列表,修改我心如水先生的 03PE ,实机,虚拟机都蓝屏,天意先生所说的蓝屏可能也是这样的吧..

好像今天论坛上不了图..

蓝屏:

STOP: c0000135 unknown Hard Error
Unknown Hard Error
作者: dvd008    时间: 2009-8-31 12:25
那可能是驱动目录的文件和txtsetup的问题
作者: 佳佳    时间: 2009-8-31 12:29
嗯,有同感,现在在拆天意先生的03PE研究
作者: 云飞日月    时间: 2009-8-31 12:48
我找个地方,上传一下我的一级内核
=========================
http://mail.qq.com/cgi-bin/ftnExs_download?k=5a3762623f3bbacf4714ad624437571e065307535b055c0349000401501a510102054f5a5a515c1c070351565206035201025606623d657f25792d3227192c623b37&t=exs_ftn_download&code=d7bbb7e1

我自己的一级内核,基本是拿天意的03改的。因为我自己不用2003,所以系统文件,也不知道是不是最新的

[ 本帖最后由 云飞日月 于 2009-8-31 13:10 编辑 ]
作者: 佳佳    时间: 2009-8-31 13:41
标题: 回复 #22 云飞日月 的帖子
谢谢云飞日月先生!!
作者: HB天意    时间: 2009-8-31 14:00
我下午按云飞日月的文件测试下!以小马驱动为基础,nanope的驱动太少了!
作者: 云飞日月    时间: 2009-8-31 14:08
我的驱动就是小马0824的,不过小马的那些驱动dll文件,我扔在二级内核了
我自己测试的机子比较少,一共就三个,目前没发现有什么问题,也不知道他那些驱动dll干吗用的
如果有需要,我也可以把二级内核的系统文件部分上传
作者: HB天意    时间: 2009-8-31 18:07
原帖由 云飞日月 于 2009-8-31 09:54 发表
我一直没碰到过蓝屏的问题,我在真机上实验过了,一个via的主板,一个intel的主板,都可以启动成功,笔记本我晚上试一下,应该也没啥问题
我就加了那一个mpr的文件
驱动就是nanope原版的,除了tt和wimfl什么的 ...

差不多就是这样。

[ 本帖最后由 yidawpf 于 2009-8-31 18:31 编辑 ]
作者: HB天意    时间: 2009-8-31 18:12
目前我是把体积减到了17.4M。
这几天抽空制作一个迷你版的出来给大家测试下。
含一些简单的维护工具吧。

[ 本帖最后由 yidawpf 于 2009-8-31 18:32 编辑 ]
作者: 佳佳    时间: 2009-8-31 19:13
原帖由 yidawpf 于 2009-8-31 18:12 发表
目前我是把体积减到了17.4M。
这几天抽空制作一个迷你版的出来给大家测试下。
含一些简单的维护工具吧。

很期待,到时候下载回去学习学习
作者: mapeimapei    时间: 2009-8-31 20:06
有一个想法,能不能将二级内核文件压缩为7z格式的,然后启动过程中,就是在shel命令之前,用7z.exe解压到内核下。就和之前外置mmc和画图计算器一样,只是将更多的文件外置出去。

这样的好处是不用启动以后还有一个虚拟的盘符。
作者: 云飞日月    时间: 2009-8-31 20:16
应该是需要一个载体才能进行这个解压操作吧,比如moun命令虚拟一个磁盘,或者用isocmd虚拟一个磁盘,不然怎么解压了?源目录在什么地方?内存中?或者在本地硬盘中?但是这样比较复杂,因为盘符不确定,不能通用
作者: 云飞日月    时间: 2009-8-31 20:17
天意,我感觉过分的减少体积不太好,nanope是把驱动减少,才把体积减少的吧
作者: HB天意    时间: 2009-8-31 20:24
原帖由 云飞日月 于 2009-8-31 20:17 发表
天意,我感觉过分的减少体积不太好,nanope是把驱动减少,才把体积减少的吧

驱动没有减少啊,是小马0824版,没有任何精简。
如果是精简的话,可以达到14M左右。
作者: HB天意    时间: 2009-8-31 20:25
原帖由 mapeimapei 于 2009-8-31 20:06 发表
有一个想法,能不能将二级内核文件压缩为7z格式的,然后启动过程中,就是在shel命令之前,用7z.exe解压到内核下。就和之前外置mmc和画图计算器一样,只是将更多的文件外置出去。

这样的好处是不用启动以后还 ...


我的软件是在二级内核的,所以那个盘符不能少。
作者: 云飞日月    时间: 2009-8-31 20:35
所以我的意思是,如果不减少驱动,那就是减少dll文件咯?但是这样会不会出现未知的问题?虽然可以启动,但是有可能不稳定?一级内核的文件,都是自动注册的吧?二级内核好像就不是了吧?
作者: dvd008    时间: 2009-8-31 20:40
这个能不能支持网络pxe启动?
通常的pe,解压winp.is_ 就可以实现
作者: HB天意    时间: 2009-8-31 20:53
原帖由 云飞日月 于 2009-8-31 20:35 发表
所以我的意思是,如果不减少驱动,那就是减少dll文件咯?但是这样会不会出现未知的问题?虽然可以启动,但是有可能不稳定?一级内核的文件,都是自动注册的吧?二级内核好像就不是了吧?

我就是按你的文件列表来做的。
没有多余的精简dll。
作者: HB天意    时间: 2009-8-31 20:54
原帖由 dvd008 于 2009-8-31 20:40 发表
这个能不能支持网络pxe启动?
通常的pe,解压winp.is_ 就可以实现

估计不行。
作者: hhhhhh    时间: 2009-8-31 21:18
我最喜欢小体积的PE,那个17.6m的总是爱不释手。遗憾的是不能识别技嘉78GM-S2H主板电脑的硬盘。
哪位朋友能帮忙给加上这个磁盘驱动?
作者: 云飞日月    时间: 2009-8-31 22:45
天意,请教一下,如果啥都不精简,那怎么到14M的?
作者: HB天意    时间: 2009-8-31 23:01
原帖由云飞日月于 2009-8-31 22:45 发表天意,请教一下,如果啥都不精简,那怎么到14M的?
如果到十四兆只能精简驱动了!nanope就是这样!
作者: HB天意    时间: 2009-8-31 23:01
原帖由云飞日月于 2009-8-31 22:45 发表天意,请教一下,如果啥都不精简,那怎么到14M的?
如果到十四兆只能精简驱动了!nanope就是这样!
作者: 66369    时间: 2009-9-1 07:31
原帖由 yidawpf 于 2009-8-31 23:01 发表
如果到十四兆只能精简驱动了!nanope就是这样!



为速度.牺牲驱动.不值得.

体积小些就可以了.
作者: 12050202    时间: 2009-9-1 12:05
原帖由 yidawpf 于 2009-8-31 23:01 发表
如果到十四兆只能精简驱动了!nanope就是这样!



等你了
作者: dingpe    时间: 2009-9-1 15:40
有必要搞到如此复杂吗?
作者: HB天意    时间: 2009-9-1 21:45
更新了一个实例。大家参考下。
作者: 佳佳    时间: 2009-9-1 22:35
下载学习.
谢谢天意!!谢谢7253547 !!
作者: courageup    时间: 2009-9-1 22:38
两段式PE,牛呀,学习学习!




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