无忧启动论坛

标题: 简述:基于深度PE系列的外置架构及其优势 [打印本页]

作者: neo4026    时间: 2009-6-17 10:58
标题: 简述:基于深度PE系列的外置架构及其优势
概括来说 也就是外置程序目录中存放若干个包 每个包中除原有内容外还有一个负责该包初始化(创建快捷方式、导入注册表等等)的Main.ini文件
外置程序主初始化文件要做的工作简单点来说 便是挂上每一个包并加载每一个包中的Main.Ini
USER neo4026,深度技术

TEAM LOGO %CurDrv%\Programs\Logon.JPG|WALL %CurDrv%\Programs\wall.bmp|WAIT 1000
TEAM TEXT 正在执行基本设置……#0xFFFFFF,L599,T340,R753,B569 $14|WAIT 1000


//加载外置的WIM映像(程序包)
//EXEC =!CMD.EXE /C MD %SystemRoot%\system\
//EXEC =!CMD.EXE /C MD %SystemRoot%\MMC\
MOUN %CurDrv%\Programs\system.wim,%SystemRoot%\system\,1
MOUN %CurDrv%\Programs\mmc.wim,%SystemRoot%\mmc\,1
MOUN %CurDrv%\Programs\basic.wim,X:\Programs\Basic\,1
MOUN %CurDrv%\Programs\Extra.wim,X:\Programs\Extra\,1


//向系统目录导入外置的必须系统文件
FILE %SystemRoot%\system\Drivers\*.*=>%SystemRoot%\SYSTEM32\Drivers
EXEC =!CMD.EXE /C MD %SystemRoot%\INF\
FILE %SystemRoot%\system\INF\*.*=>%SystemRoot%\INF
FILE %SystemRoot%\system\XPSP2RES.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETCFGX.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETMAN.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETSHELL.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\MSWSOCK.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\TAPISRV.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\RASPHONE.EXE=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\MMC\main.cpl=>%SystemRoot%\SYSTEM32

//MMC
EXEC !CMD.EXE /C %SystemRoot%\mmc\mmc.cmd

//快捷方式
LINK !%Desktop%\启动网络服务,%SystemRoot%\system\net.cmd,,%SystemRoot%\system\net.ico

//加载wim中的配置文件
LOAD X:\Programs\Basic\Main.ini
LOAD X:\Programs\Extra\Main.ini


//不显示我的文档。
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu\{450D8FBA-AD25-11D0-98A8-0800361B1103}=#1

LOGS

//end
本架构的优点是主配置文件除调用外与wim包毫无瓜葛 彻底推进PE模块化 不要哪个删哪个就是了
结合今天凌晨发的http://bbs.wuyou.net//viewthread.php?tid=144417&extra=page%3D1
可达到更强的扩展性

而且把system.wim挂载到%systemroot%\system目录是最节省内存开销的方法
在玉之舞的某版PE中甚至把system.wim也放了Main.Ini 复制文件什么的也是由system.wim模块独立去完成

在深度出来的PE如小马系列,玉之舞和hhh333的都是采用这种模式
如结合我昨晚发的http://bbs.wuyou.net//viewthread.php?tid=144417&extra=page%3D1
将会更强大 彻底做到PE模块化

[ 本帖最后由 neo4026 于 2009-6-17 11:03 编辑 ]

0.jpg (108.93 KB, 下载次数: 52)

0.jpg

1.jpg (125.17 KB, 下载次数: 54)

1.jpg

2.jpg (164.18 KB, 下载次数: 42)

2.jpg

3.jpg (128.71 KB, 下载次数: 51)

3.jpg

作者: zhaohj    时间: 2009-6-17 11:10
模块化好,想要就拿,真方便!
作者: neo4026    时间: 2009-6-17 11:12

不要哪个直接删
接口跟进以后要哪个就直接加
彻底模块化
作者: lc1212    时间: 2009-6-17 11:14
模块化让偶们菜鸟也玩玩添加PE!
作者: NicTense    时间: 2009-6-17 11:16
请教个问题
老毛桃外置的common.7z net_part.7z sound_part.7z 如果整合到system.wim中
除了
FILE %SystemRoot%\system\XPSP2RES.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETCFGX.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETMAN.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETSHELL.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\MSWSOCK.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\TAPISRV.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\RASPHONE.EXE=>%SystemRoot%\SYSTEM32

这几个,其他的是不是都可以留在system,设path就可以了

还有没有哪些也要复制到system32目录的
作者: neo4026    时间: 2009-6-17 11:17
原帖由 zhxy9804 于 2009-6-17 11:14 发表
我也支持一下这种方式,但是得考虑到安装到硬盘的情况,你把system。wim挂到x盘,system.wim一般也在C盘怎么格式化C盘?

1.可以用wimtool卸载
2.见图

abcd.jpg (37.59 KB, 下载次数: 49)

abcd.jpg

作者: NicTense    时间: 2009-6-17 11:18
原帖由 zhxy9804 于 2009-6-17 11:14 发表
我也支持一下这种方式,但是得考虑到安装到硬盘的情况,你把system。wim挂到x盘,system.wim一般也在C盘怎么格式化C盘?


把pe装到d盘就可以了,干吗要从c盘启动pe,又格式化掉c盘这么奇怪的
作者: dvd008    时间: 2009-6-17 11:19
这个好麻烦
rar或7z单文件,临时模式的,既可以pe,也可以当前系统用,
解开就是绿色版。
为了看小马的最新版,我拿wimtool一个一个挂载
作者: neo4026    时间: 2009-6-17 11:19
原帖由 NicTense 于 2009-6-17 11:16 发表
请教个问题
老毛桃外置的common.7z net_part.7z sound_part.7z 如果整合到system.wim中
除了
FILE %SystemRoot%\system\XPSP2RES.DLL=>%SystemRoot%\SYSTEM32
FILE %SystemRoot%\system\NETCFGX.DLL=>%Syst ...

这些是网络组件的
声音组件的话

原帖由 jing_hui 于 2007-9-18 12:58 发表


什么也不修攺,保留以下内容在system32,其它全部可挂到system.

Drivers
AUDIOSRV.DLL
MMDRIVER.INF
MMSYS.CPL
STREAMCI.DLL


另:本人习惯common组件内置 : )
又另:测试过 貌似未必一定挂到哪里都可以.mmc的话乱改一通路径就好,网络和声音组件似乎只认%Systemroot%下的目录

[ 本帖最后由 neo4026 于 2009-6-17 11:22 编辑 ]
作者: neo4026    时间: 2009-6-17 11:20
原帖由 dvd008 于 2009-6-17 11:19 发表
这个好麻烦
rar或7z单文件,临时模式的,既可以pe,也可以当前系统用,
解开就是绿色版。
为了看小马的最新版,我拿wimtool一个一个挂载

X盘哪有这么多空间?要知道我是不开fbwf的 只留20M给装NV显卡驱动
作者: NicTense    时间: 2009-6-17 11:30
原帖由 neo4026 于 2009-6-17 11:19 发表

这些是网络组件的
声音组件的话



另:本人习惯common组件内置 : )
又另:测试过 貌似未必一定挂到哪里都可以.mmc的话乱改一通路径就好,网络和声音组件似乎只认%Systemroot%下的目录



算了,我干脆把system32需要保留的文件都弄到内核去算了,也没几m,反正minimode也没什么用

对了,如果不复制到system32,换另外一种方法

修改注册表,这些文件的路径不知道行不行,如果可以,这样可以少很多内存

[ 本帖最后由 NicTense 于 2009-6-17 11:33 编辑 ]
作者: neo4026    时间: 2009-6-17 11:31
原帖由 NicTense 于 2009-6-17 11:30 发表



如果不复制到system32,换另外一种方法

修改注册表,这些文件的路径不知道行不行,如果可以,这样可以少很多内存

要复制的文件大多是启动服务的文件
在注册表改启动路径就可以了

当时李培聪那丫也偷懒: )
作者: xianglang    时间: 2009-6-17 12:13
说句题外话,楼主是肇庆的呀?我也是哦,很少在其他论坛见到肇庆人啊。
作者: neo4026    时间: 2009-6-17 12:14
原帖由 xianglang 于 2009-6-17 12:13 发表
说句题外话,楼主是肇庆的呀?我也是哦,很少在其他论坛见到肇庆人啊。

是的^_^
刚从肇中毕业
作者: yewuqiu    时间: 2009-6-17 12:46
模块化了确实不错
支持
作者: 张建余    时间: 2009-6-17 13:25
原帖由 neo4026 于 2009-6-17 12:14 发表

是的^_^
刚从肇中毕业

你会报长沙的国防科大吗?它的计算机系在全军乃至全国都是一流的。没的说的好军校。
作者: nn2nn    时间: 2009-6-17 16:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: nn2nn    时间: 2009-6-17 16:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 12050202    时间: 2009-6-17 16:13
查板内主流PE的作者
没有跟进

自己YY
一个个的打包
不好玩的
作者: mapeimapei    时间: 2009-6-17 18:02
首先我所希望的架构是:

内核img格式,另外内核要一定的独立性,纯粹的一个内核无外置程序进入桌面也能够做必要的维护,如:格盘、安装新系统,另外独立的内核还要有必要的扩展性,如,内置一个petools程序,可以搜索硬盘中的petools文件夹下的可执行程序,包括wim,并可以建立快捷方式,同时还要注册reg文件和安装inf文件,必要的话,还要挂在wim文件,(可以用imdisk临时虚拟Y盘,挂在wim文件)。

外置分为3大类:

1.基本的维护工具,因为这些软件小而杂,所以建议把他们放在一块,这个就是一个最基本的wim,如basic.wim,其中就是一个标准的毛桃op.wim,只是精简了。

2,系统内核文件,如:mmc,IE,DX9,wmp10,net,sound,wag,这些直接挂在到%systemroom%,这样在系统%path%中加入他们的路径,这样就不用7z打包,压缩到内核下了,不但启动PE加快,启动程序也快,还可以提供更多的可用dll文件,系统也更加的稳定。

3,其他的一些软件,这些软件个头比较大,如QQ,opera等,这些软件就单独打包,其中一个main.ini,配合所有的必要操作,如inf安装,reg的注册,dll的注册,快捷链接等等。

由于,pecmd.exe多次调用性能远远低于一次调用,所有建议每个wim包中存在main.ini,然后总配置文件总直接laod,这样速度也能起来。也期望这种方式能够成为大家以后制作PE外置的一个标准。这样以后大家的PE外置都可以通用了,另外,热心的坛友可以提供一些特殊软件的wim,大家只要将其加到自己的PE中,然后在中配置文件中moun下,然后laod下就可以用了。最爽的是,可以使用oscdimg提取更小实用PE,岂不快哉。


其他一些也简单说下,这些基本现在已经默认化了,如:

启动网络支持的同时加载IE,opera,网络工具,QQ等所有一定要有网络支持的wim包。

启动声卡支持同时加载wmp10,TTP,mplayer等等。

启动DX9的同时可以考虑加载外置三卡驱动,(这样不知道有没有必要,呵呵)

以上基本就是偶的一些愚见,希望大家共同讨论。

xiaoma系类都是这样处理的,最新版V10,大家详见:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=143513&extra=page%3D1,希望大家多多批评指导。

最后啰嗦下,这种方案偶感觉虽然不是最科学的,但是它是一个最简单的,最实用,也是做容易修复bug的方案。

[ 本帖最后由 mapeimapei 于 2009-6-17 19:48 编辑 ]
作者: 66369    时间: 2009-6-17 20:50
许多人来下载PE.很多情况下.想自己YY.做属于自己的PE.

有的人甚至把内核也解开.扫木马病毒.....

多个WIM包.....YY有点烦.....直接用做的好的.他不放心或不如意.

好方案要考虑这YY的需求.
作者: anlow    时间: 2009-6-27 03:45
确实是个好的方法!!

不过有兼容性问题!!

我的U盘(UT165芯片)量产后找不到那些模块(WIM文件),挂载不了!

所以还在用全集成功能的!!

忍受大体积,慢启动的PE!!!!

真希望有解救方法!!
作者: neo4026    时间: 2010-8-25 01:36
老规矩。查完资料后一顶。

这种方式现在在Deepin Windows PE 4.x手上已经发展得很成熟了。上文提到的批处理WimExtend.CMD也发展得很成熟,真正做到了随放随用。

查这资料是因为想除了Deepin Windows PE外另外发展新的方向。目标是更精简,更流畅,定制更自由。敬请期待。

也欢迎大家就这种简洁的外置方式继续讨论。

(因为挂载的话相对来说很省内存。如果采用N个自解压包的话速度和内存消耗都是问题。采用一个大包的话也是不方便修改调试。)




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