无忧启动论坛

标题: [2010-01-17更新] 由零开始,用XP SP3全新制作你的的微型XPE系统 [打印本页]

作者: khauyeung    时间: 2008-5-7 10:33
标题: [2010-01-17更新] 由零开始,用XP SP3全新制作你的的微型XPE系统
2010-01-17:有一年多没有更新此帖了,一些原来的连结已经失效,现在更新一下,使其教程仍然有效。(没有增加新的功能!)

藉着XP SP3的推出,我重新制作了几只微型XPE系统,包括英文,简体中文和繁体中文的版本。
三个版本都是从整合了SP3的XP安装盘,经PEBuilder和WinBuilder直接打做,十分干净。

我对XPE系统核心的定位是这样的:
1. 用于日常电脑的维护,安装和修理,不考虑声卡和显卡等特别装置。
2. 虽然希望核心体积做到尽可能微型,对网络,SATA/SCSI/RAID和多处理器HAL的支持不可少。
3. 无论是中文或者英文版本,都需要支持中文的显示和输入。
4. 使用EXPLORER作SHELL,不带MMC以减少核心体积。带DISKPART.EXE, FORMAT.EXE等磁盘工具。
5. 具RAMDISK, FBWF, WIMFLTR服务功能,可用IMAGEX挂载Windows镜像文件(WIM)。
6. 带BOOTSECT.EXE和BCDEDIT.EXE,方便处理VISTA的启动扇区。
7. 外置程式可以放到内置或者外置PROGRAMS文件夹,也可以放到Windows镜像文件PROGRAMS.WIM中。
8. SATA/SCSI/RAID驱动程式内置于核心,网络驱动程式外置到PROGRAMS.WIM。
9. 替换SHELL32.DLL,EXPLORER.EXE,MSGINA.DLL,SYSDM.CPL内的图标和图像,做成VISTA-LOOK外观。
10. 多重精简和压缩技术把系统核心达成微型化,压缩后的.IM_内核大约有35MB左右。

三只ISO (英文:xpe_en.iso, 简体中文:xpe_cn.iso, 繁体中文:xpe_hk.iso)已经上载到无忧的FTP2,
在文件夹khauyeung\Tiny XPE SP3里面。
)

ISO只含核心文件和只带网络驱动程式的PROGRAMS.WIM,我将把我的完整PROGRAMS.WIM(英文程式,95MB)
也放到同一文件夹里面,有需要的可以下载替换。

同时上载的还有一只叫erd_en.iso, 那是基于Server 2003 SP1的XPE,整合了ERD Commander 2007,
是只二合一CD。

2010-01-17:上载了一份最新的版本(XpeBuilder.rar)到zhxy9804的ftp,在khauyeung/XpeBuilder目录里面。seeweb和zhaohj那边也有一份,仍在khauyeung/Tiny XPE SP3目录下面。

系统采用了老九的PECMD和PELOADER,也参考了其他无忧网友的大作,这里一并道谢。

请留意我的这些微型XPE系统是名乎其实的撒手不管版,因为我没有太多的时间支持网友。要下载,
转载,改编,YY,发扬光大的,说一声谢谢就成了。

[5-6-2008]补充: 我在压制.IMG核心文件时,一律采用100MB的大小,所以用RAMDISK要256MB才能运行 (我日常要处理的机器)。如果自行压制成75MB的.IMG,192MB的内存当可运行。想要再小一些内存运行,需要对核心再精简到58-65MB左右,这样做会失去部分功能(如多处理器支持),或者在载入网络装置时超载系统盘; 为了老机器而得不偿失,是我不推荐的。在老机器上运行PE,最好不使用RAMDISK型式运行,应该用光盘版运行,这样128MB的内存就足够了。我提供的XPE系统采用标准的文件和文件夹命名,把.IM_解压后就可以进行改编成光盘版的PE。自己动手,丰衣足食!

最后,贴几张图片:






我开始尝试写教程,分几部分介绍,包括(1) 用PEBuilder产生内核,(2) 用WinBuilder改注册表和增加功能(中文,RAMDISK,FBWF,WIMFLTR),(3) 增加 EXPLORER SHELL,(4) 精简和网络功能外移,(5)简单的美化。有空就写一些,用连载方式进行。

第一部分:PEBuilder

1.  下载 PEBuilder 的最近版本号v3.1.10a:
http://69.90.47.6/mybootdisks.co ... /pebuilder3110a.zip

2.  对pebuilder3110a.zip进行解压,解压后的文件放在文件夹 C:\WinPEBuilder 里面。

3.  在文件夹 C:\WinPEBuilder 里面,文件 bartpe.bmp 是壁纸,可以用你自己喜欢的加以替换。特别的网卡或者SCSI驱动,请加到drivers文件夹里面。

4.  假如你用的 Windows 源CD属中文体系,又或者你需要简(或繁)体中文支持,请把附上的 zzh 中文插件加到plugin文件夹里面。
zzh.part1.rar (292.97 KB, 下载次数: 8466)
zzh.part2.rar (147.56 KB, 下载次数: 7630)

5.  双击并运行 pebuilder.exe,如图5,在 Source: 下面填上你的 Windows 源CD (XP或者2K3)路径,在 Output: 下面填上生成PE的目标路径。留空 Custom:,不设 Media output。
图5:


6.  单击 Plugins 按钮以选择插件,如图6,我们只启用 (Enable) 五个插件:barpe.inf, ChinesePlugin.inf, penetcfg.inf, dcomlaunch.inf, sermouse.inf。 其余均以 Enable/Disable 按钮禁用之。
图6:


7.  单击 Close 按钮返回图5画面,单击 Build 按钮,在你回答并同意创建目录和接受用户许可协议书后,PEBuilder即开始建造最简单的PE内核。如图7,有四个错误出现是正常的,因为我们没有选用nu2menu.inf插件。
图7:


8.  单击 Close 按钮返回图5画面,然后单击 Exit 按钮退出 PEBuilder。最简单的BartPE内核已经建成(大约180MB),它用命令符作SHELL,有网络功能。见图8。
图8:


[5-21-2008]有关zzh中文插件的补充说明:
我用PEBuilder来建PE的核心,是因为它建成的PE最为稳定,有最完整的注册表和良好的网络支持。不过,假如我们用的 Windows 源CD属中文体系,又或者我们需要在英文体系中增加对简(或繁)体中文支持,这就要解决两个问题:

问题一:PEBuilder是建基于英文体系的,不加中文插件做出来的PE,缺少了支持中文需要的NLS,LOCALE,LANGUAGE, CODEPAGE,FONTS,FONTLINK和输入法等注册表资料。为此,我在zzh文件夹里面放了四个中文插件供选用:
1.  ChinesePlugin.inf: Windows 源CD属简体中文体系,用来建造以简体中文为核心的PE,当然也能支持英文。
2.  CHS_on_EN_Platform.inf: Windows 源CD属英文体系,用来建造以英文为核心的PE,而且,它兼会支持简体中文。(你的英文源CD可能缺少下面文件,请自行把它们放置在zzh文件夹中:simsun.ttc,c_936.nls,c_10008.nls)
3.  CHT_on_EN_Platform.inf: Windows 源CD属英文体系,用来建造以英文为核心的PE,而且,它兼会支持繁体中文。(你的英文源CD可能缺少下面文件,请自行把它们放置在zzh文件夹中:mingliu.ttc,c_950.nls,c_10002.nls)
4.  ChineseTraditional.inf: Windows 源CD属繁体中文体系,用来建造以繁体中文为核心的PE,当然也能支持英文。
四个中文插件其实只有很小差别,有兴趣的请自行打开研究。

问题二:假如你用来建造PE的所处平台与目标PE不属于相同语言体系,(例如我在英文平台用上面的1.  ChinesePlugin.inf建造以简体中文为核心的PE,)
PEBuilder在改写netmscli.inf和nettcpip.inf两只网络文件的过程中,错误地把最后的[STRINGS]段落里的中文字符串砍掉。为此,我们需要把它手动还原。ChinesePlugin.inf调用的CN_MSCLI.INF和CN_TCPIP.INF,ChineseTraditional.inf调用的TW_MSCLI.INF和TW_TCPIP.INF,就是为了这个目的而设的。

不用担心由PEBuilder产生的PE核心体积会过大(180MB),现阶段我们的目的是要全,不是要简。全部功能齐全后,我们才去精简。

[5-24-2008]
第二部分:WinBuilder
这部分我们介绍使用WinBuilder这个工具,对先前已经做好的PE核心增加功能(RAMDISK,FBWF,WIMFLTR)和注册表优化:

1.  下载 WinBuilder 的最近版本号[078SP6]:
http://winbuilder.net/e107_files/downloads/WinBuilder078SP6.zip

2.  对WinBuilder078SP6.zip进行解压,解压后的文件WinBuilder.exe放在文件夹 C:\WinPEBuilder 里面。

3.  双击并运行 WinBuilder.exe,如下图所示,单击顶头的Download页面,只选取下载VistaPE的Tools(工具),其余均留空不选。单击左下角落的 Download 按钮进行下载。WinBuilder会自动在当前目录创建Projects文件夹,并把下载的Tools文件夹和文件置于其下。完成后退出WinBuilder。



2009-01-16:  由于VistaPE的Tools(工具)现在已经比较难以下载,我特别把这些工具包含在以下的附件Project.rar之中,大家就不必再下载了。

4.  下载附上的Projects.rar,解压后的文件和文件夹放到 C:\WinPEBuilder 里面,覆盖原有的文件和文件夹。你会发现Projects目录下面多了一个名为WINPE的文件夹,内含我编写好的脚本和所需文件。
Projects.rar (内含我编写的BartPE优化脚本 01-BartpePlus.script):

Projects.part01.rar (390.63 KB, 下载次数: 3254)
Projects.part02.rar (390.63 KB, 下载次数: 2571)
Projects.part03.rar (390.63 KB, 下载次数: 2766)
Projects.part04.rar (390.63 KB, 下载次数: 2940)
Projects.part05.rar (390.63 KB, 下载次数: 2882)
Projects.part06.rar (187.75 KB, 下载次数: 2105)

5.  双击并再一次运行 WinBuilder.exe,你会发现顶头处比前多了一个当前的Scripts(脚本)页面,底下有我整里好的第一个脚本。当前页右方有Script, Paths, Log和Code Box四栏可选,我们先选Paths设定路径。见图9。(新版本的WinBuilder只有Script和Source两栏,其中Source一栏与旧版的Paths同义。)
图9:


6.  在 Source directory: 下面填上你的 Windows 源CD 路径(不是核心PE的路径),在 Target directory: 下面填上经WinBuilder优化后生成PE的目标路径。我们暂时没有用到ISO file。设定完成后,请退回当前页右方Script的一栏。

7.  如图10所示,展开当前页左方的BartpePlus Configuration,在右面窗口上半部设定RAMDisk的大小和盘符,下半部设定需要优化的核心PE的所在路径和它的%SystemRoot%文件夹名。设定完成后,你就可以单击右上方的 Play 按钮让WinBuilder替你的PE加工优化了。
图10:


8.  BartPE内核优化已经完成,它仍用命令符作SHELL,有网络功能,而且加入了RAMDISK,可以挂载Windows镜像.WIM文件,可对建基于光盘上的系统进行模拟写文件操作。

WinBuilder这个工具有很强的能力,十分适合对已经做好的PE进行YY操作,脚本语法也很易掌握。有兴趣研究的,可以到网页http://winbuilder.net/help/处下载详细的语法说明。你也不妨打开我编写的脚本, (c:\WinPEBuilder\Projects\WINPE\BASE\01-BartpePlus.script),你会很容易看到我是如何实现那些功能的,从而便作出适合你自己的修改了。

[5-25-2008]
第三部分:Explorer Shell
在这部分我们用WinBuilder和我编写好的脚本,往先前做好的的BartPE内核加入Explorer Shell(外壳)。这样,我们的PE就有了图形化的介面,而不是停留在单调的命令符窗口了。同时加入的,还有老九的PECMD 3.0,PELOGON,PELOADER,PESHELL,HWPnP等厢关工具。下面描述的,其实是把第二部分和第三部分内容一起显示:

1.  下载附上的Explorer.rar和PROGRAMS.WIM.rar,把解压后的文件夹和其下的文件放到 C:\WinPEBuilder 里面,覆盖原有的文件和文件夹。你会发现Projects\WINPE\BASE目录下面多了一个名为02-ExplorerShell.script的脚本文件,sysfiles目录里面亦增加了一批文件。

ExplorerShell.rar:
ExplorerShell.part1.rar (292.97 KB, 下载次数: 9122)
ExplorerShell.part2.rar (292.97 KB, 下载次数: 7125)
ExplorerShell.part3.rar (1.91 KB, 下载次数: 5056)

PROGRAMS.WIM.rar
PROGRAMS.WIM.part1.rar (292.97 KB, 下载次数: 5957)
PROGRAMS.WIM.part2.rar (292.97 KB, 下载次数: 4720)
PROGRAMS.WIM.part3.rar (292.97 KB, 下载次数: 4875)
PROGRAMS.WIM.part4.rar (292.97 KB, 下载次数: 6049)
PROGRAMS.WIM.part5.rar (192.05 KB, 下载次数: 4301)

2.  双击并运行 WinBuilder.exe,见图11的画面出现。

图11:


3.  如图12所示,我们先往Paths处设定路径:在 Source directory 下面填上你的 Windows 源CD 路径(不是核心PE的路径),在 Target directory 下面填上经WinBuilder加入Explorer外壳后的成品XPE的目标路径。我们暂时没有用到ISO file。完成后,退回Script处(Paths的左邻)。

图12:


4.  如图13所示,展开BartpePlus Configuration,在右面窗口上半部设定RAMDisk的大小和盘符,下半部设定需要进行优化,并加入Explorer外壳的核心PE的所在路径和它的%SystemRoot%文件夹名。

图13:


5.  如图14所示,展开Explorer Shell, 在右面窗口SourceCD Language:下面选择你的Windows 源CD所属语言,再在Set Locale to:下面设定你的成品XPE的所属意的Locale(不知道正确译名)。两者可以不同,例如英文CD(0409)用中文Locale(0804)。你还需设定备用的语言文件所在地。

图14:


6.  设定完成后,你就可以单击右上方的 Play 按钮让WinBuilder替你的PE进行优化并加入Explorer外壳了。一个经优化的XPE内核已经完成,它用Explorer作图形化的外壳,有网络功能,而且加入了RAMDISK,可以挂载Windows镜像.WIM文件,可对建基于光盘上的系统进行模拟写文件操作。它又采用了大家熟悉的PECMD,你可以在熟悉的环境下面,加插入合你使用的其他东西。现在,你可以用CDIMAGE把PE做成ISO,然后用虚拟机试试这只XPE的功能了。(由于现时的XPE还处于新鲜出爐状态,未经加工,很多系统文件还没有转换成需要的大写。所以,请用CDIMAGE时不要使用“-d”选项,好使CDIMAGE把全部文件名以大写状态写入ISO。)

图15:带Explorer外壳的XPE:


[5-27-2008]有关Explorer Shell的重要补充:
有网友反映制作后生成的XPE运行出错,系统在修正子过程后停留不动,经查明发现问题出在我的大意,漏发了一个PROGRAMS.WIM镜像文件,现在已经把它放在教程第三部分第一点ExplorerShell.rar的后面,请下载解压后再重新运行一次WinBuilder就成了。现在提供的这只PROGRAMS.WIM只带FREEWB(基点五笔拼音输入法),不带其他东西。你可自行增加合用的外置程式到里面。我又更改了一下PECMD.INI,避免直接使用WAIT命令(可能拖垮CPU),以NIRCMD.EXE WAIT xxxx代替之,希望可以降低启动时死机的机会。

我相信很多动手自己做PE的人都有不错的技术水平,可以很容易地从我写的脚本中看出我是如何实现功能的。这正是我的原意,因为有很多东西别人是难以一一解释清楚的,必须由你自己钻研。我会在下一步分讨论精简PE。

[6-01-2008]
第四部分:XPE的后期处理和精简
在这部分我们用WinBuilder和我编写好的脚本(XpePostProcess.script),对先前经优化的XPE内核全版本进行后期处理和精简。很多人觉得自己从零开始做PE很难,要精简更是难上加难。不过,如果你能参考我的脚本,有系统的进行建造和精简,你会发觉它并非如传说那么困难的:

1.  下载附上的XpePostProcess.rar,把解压后的文件夹和其下的文件放到 C:\WinPEBuilder 里面,覆盖原有的文件和文件夹。你会发现Projects\WINPE\BASE目录下面多了一个名为03-XpePostProcess.script的脚本文件,sysfiles目录里面亦增加了一批文件,包括一只有网友想要的PENetCfg.exe多语言版本v2.3。

XpePostProcess.rar:
XpePostProcess.part1.rar (390.63 KB, 下载次数: 1639)
XpePostProcess.part2.rar (390.63 KB, 下载次数: 1960)
XpePostProcess.part3.rar (79.44 KB, 下载次数: 1790)

2.  运行 WinBuilder.exe跟前介绍相同,展开XPE Post Process,见图16的画面出现。

图16:


3.  图16所示基本显示了后期处理和精简的整个流程,几乎每个步骤都容许选择与否。你最好能打开并对照XpePostProcess.script脚本,以便明白我的描述:

    a. 脚本首先会除去没有特别用途的字库文件,你甚至可以指定一个小的(2.3MB)SIMSUN.TTC代替大字库文件。(减少23MB)
    b. 脚本然后会除去 i386\WinSxS 目录下面的不必要文件夹和文件。 (减少8MB)
    c. 接下来,网络的系统文件会被外置,并被保留到LastPE\PENET\CNXP文件夹下面(不包括驱动文件,因为我们会另用驱动包)。 (减少13MB)
    d. 你可以选择除去Windpows自带的批量储存驱动文件(因为我们可以另用驱动包),脚本会自动修改txtsetup.sif内的[SCSI.load]段落以适应之。
    e. 脚本跟着从三个地方除去不必须的系统文件:i386\inf (减少3.6MB); i386\system32\drivers (减少22MB); i386\system32 (减少57MB)
    f. 你还可以决定是否保留bartpe.bmp壁纸,写字板wordpad.exe, 画图mspaint.exe, 和计算器calc.exe。
    g. 系统启动过程会载入一批系统文件和驱动,这些文件都可以CAB模式存在,以节省空间。假如你选择这样做,脚本会向Windows源CD找寻原庄CAB文件用以替换。
    h. 使用UPX压缩DLL或者EXE文件是减少空间的一个方法,但不能滥用,因为解压运行过程会反增使用空间。我只对几只大文件(如xpsp2res.dll)进行UPX压缩,它们都是不常活动的文件。
    i. 脚本还可以生成ISO,但由于不太稳定,我没有把它选用。建议你自己手动生成。

4.  设定完成后,你就可以单击右上方的 Play 按钮。WinPEBuilder在后期处理和精简过程中,把XPE内核成功地由 184MB 减少到 65MB。

5.  如上所说明,网络的系统文件已经被外置,你需要把 WinPEBuilder\LastPE\PENET 下保留的文件自己加到外置PROGRAMS.WIM镜像文件或者PROGRAMS外置文件夹,还要加进DRIVERS_NET.CAB网络驱动包(已上载到ftp2)。详程请参考我的ISO或者等待下回分解。

6.  高级用家请留意一下 WinpeBuilder\LastPE 目录下面的内容,WINPE文件夹是后期处理改动前的完整PE,REMOVAL文件夹下是处理过程除去的各类文件。这些资讯对你的开发过程可能是很有用的。

这部分生成的XPE内核还不是最精简的ISO,几只大文件如SHELL32.DLL完全没有处理过,单把它的图标替换就能节省3MB空间。我打算在第五部份介绍用RESHACKER进行资源替换美化,并谈一下如何增加批量储存驱动包。

[6-07-2008]
第五部分:XPE的批量储存和资源优化

XPE主要的用途在于对Windows系统的维护和恢复,所以对SCSI/RAID/SATA等各类型批量储存器的支持就显得十分重要。Windows源CD虽然也带部分批量储存的驱动,但并不足够,而且也嫌太旧了(我们在第四步份的精简过程索性把它移去)。在这部分我们重新往XPE加入比较新和全的DriverPacks批量储存驱动包(整理好的 8MB MassStorage.rar已经上载到ftp2),再用资源黑客reshacker进行资源优化:

1.  下载附上的XpeMassStorageResHack.rar,把解压后的文件夹和其下的文件放到 C:\WinPEBuilder 里面,覆盖原有的文件和文件夹。你会发现Projects\WINPE\BASE目录下面多了名为04-XpeMassStorage.script和05-XpeResourceHack.script的两只脚本文件,另有Resources文件夹,sysfiles目录里面亦增加了一批文件。

XpeMassStorageResHack.rar:
XpeMassStorageResHack.part01.rar (390.63 KB, 下载次数: 1447)
XpeMassStorageResHack.part02.rar (390.63 KB, 下载次数: 1522)
XpeMassStorageResHack.part03.rar (390.63 KB, 下载次数: 1558)
XpeMassStorageResHack.part04.rar (47.79 KB, 下载次数: 1043)

2.  请留意上面的附件并未包括批量储存的驱动包。因为它的体积有8MB大,我把它上载到ftp2名为MassStorage.rar。下载解压后的文件夹和其下的文件放到 C:\WinPEBuilder 里面。你会发现Projects\WINPE\BASE目录下面多了MassStorage文件夹,内含在wnt5,wxp,w2k3使用的批量储存驱动文件。

3.  运行 WinBuilder.exe跟前介绍相同。XPE MassStorage没有什么设定,把它选好就成了。展开XPE Resource Hack,见图18的画面出现。脚本可以让你选择是否对shell32.dll, explorer.exe, msgina.dll和sysdm.cpl进行图标替换和资源优化。

图18:


4.  设定完成后,你就可以单击右上方的 Play 按钮。WinPEBuilder最终会在目标路径TargetDir产生一 68MB 左右的非压缩 XPE,它用Explorer作图形化的外壳,有网络功能(外置),全面支持SCSI/RAID/SATA等各类型批量储存器(内置),而且加入了RAMDISK,可以挂载Windows镜像.WIM文件,可对建基于光盘上的系统进行模拟写文件操作。它又经过多重精简,并且进行了资源优化和美化,可谓美观实用。

5.  我们现在简单的看一下批量储存脚本04-XpeMassStorage.script是如何工作的:
    a. 拷贝xp/2k3通用的驱动器:DirCopy,"%ScriptDir%\MassStorage\wnt5\*.*","%TargetDir%\i386\system32\Drivers"
    b. 拷贝只用在wxp的驱动器:DirCopy,"%ScriptDir%\MassStorage\wxp\*.*","%TargetDir%\i386\system32\Drivers"
    c. 更新txtsetup.sif里面[SourceDisksFiles]段落下有关批量储存驱动器文件名讯息
    d. 更新txtsetup.sif里面[SCSI]段落下有关批量储存驱动器的命名讯息
    e. 更新txtsetup.sif里面[SCSI.Load]段落下有关在启动时要自动载入的批量储存驱动器文件名
    f. 更新txtsetup.sif里面[HardWareIdsDatabase]段落下有关批量储存驱动器的硬件身分资料库讯息
   
    上面几点是加批量储存驱动的基本步骤。脚本移植自DriverPacks的BartPE插件。有兴趣的可以下载以下文件自己研究:
   
    http://www.driverpacks.net/DriverPacks/DriverPack.php?pag=b
    http://driverpacks.mirror.thesneaky.com/BASE/DPs_BASE_805.exe

    http://www.driverpacks.net/DriverPacks/DriverPack.php?pag=m
    http://driverpacks.mirror.thesne ... _wnt5_x86-32_805.7z   

6.  现在再来谈一下使用reshacker进行资源优化:
    a. reshacker主要是用来对 .exe/.dll/.cpl 里面的图标文件(.ico)和图形文件(.bmp)进行替换。这样做的目的不单是为了美化,而且是为了节省空间。
    b. 例如Shell32.dll里面的图标(.ico)很多都包藏好几套点阵,一个图标也许就有100KB大小,假如我们使用一个单含16x16点阵的图标代替它,我们可能减少90%的空间。经过资源优化,shell32.dll由8MB降低至5MB。
    c. reshacker是可以批量执行指令的,下面是shell32_xp.res内含的部分批量指令,你可以看到它是如何替换图标和图形,与及删除AVI等文件的:
  1. [FILENAMES]
  2. Exe=%ExeDir%\SHELL32.DLL
  3. SaveAs=%ExeDir%\SHELL32_Patched.DLL
  4. Log=%ExeDir%\SHELL32.LOG

  5. [COMMANDS]
  6. -addoverwrite %ResourceDir%\_WindowsPE.bmp,Bitmap,131,

  7. -addoverwrite %ResourceDir%\sIcon_1.ico,IconGroup,1,
  8. -addoverwrite %ResourceDir%\sIcon_2.ico,IconGroup,2,
  9. -addoverwrite %ResourceDir%\sIcon_3.ico,IconGroup,3,
  10. ...
  11. -addoverwrite %ResourceDir%\sIcon_50.ico,IconGroup,21,
  12. -addoverwrite %ResourceDir%\sIcon_50.ico,IconGroup,22,
  13. -addoverwrite %ResourceDir%\sIcon_50.ico,IconGroup,23,
  14. ...
  15. -delete AVI,150,
  16. -delete AVI,151,
  17. ...
  18. -delete Bitmap,146,
  19. -delete Bitmap,147,
复制代码
好了,现在教程已经到了终结的时候,我不准备再写下去了,因为不大喜欢没完没了的。我在五部分的教程里面,分别讨论了使用PEBuilder来建造PE核心和进行中文支持,然后使用WinBuilder增加各项功能,加入以explorer为外壳的图形介面,与及修改注册表。我又介绍了PE的后期处理和精简技术,最后又讨论了如何对批量储存器进行支持和资源优化技术。因为本文的主要对像是有动手能力的高级使用者,我行文时比较注重点出方法,没有对细节的描述。我的脚本不是最完善的,但可以对网友起参考和示范作用。建议大家不要一成不变地使用我的脚本,而是应该举一反三,根据自己需要和可能进行修改。各位网友再有问题,我会在时间许可的前提下,以FAQ问答形式跟大家讨论,但不一定每问必答。我希望网友们以自助型式,互相帮忙解决问题。最后,希望大家有一次由零开始制作PE的愉快体验,请请!

FAQ(问和答)

:在我制作繁体版时发现少了simsun.ttc这个字库,和B5AIO.IME,B5AIO.TBL,B5AIOPHR.TBL,B5AIOPTR.TBL,BIG5.NLS,LCPHRASE.TBL,LCPTR.TBL,MINIIME.TPL,UNIIME.DLL,除了simsun.ttc这文件外,我都可以从你制作的核心文件提取到,而simsun.ttc我只能用windows自带的取代,你能重新发布一下这些文件吗?还有这些文件能用在别的语言pe下吗?
:B5AIO.IME,B5AIO.TBL,B5AIOPHR.TBL,B5AIOPTR.TBL是我早年为繁体版制作的通用输入法文件,有拼音和英译功能。BIG5.NLS,LCPHRASE.TBL,LCPTR.TBL,MINIIME.TPL,UNIIME.DLL是繁体版windows自带的文件。我已经把这些文件包含入上面的zzh附件里面重新发布,请重新下载。这些文件应该可以用在别的语言pe下。

:我做出来的pe版本那里没显示是sp3的,只从版本号那里看出来是sp3的版本,这里是怎么回事?
:微软WINPE版本显示讯息包含在sysdm.cpl文件的[String Table]段落,项目180 "Microsoft Windows XP",项目191 "Professional",项目195 "Version 2002"。你需要使用reshacker手动修改为SP3字样才会显示你想要的讯息。

:基于XP SP3的WinPE比起SP2的WinPE多了些啥?值得升级么?
:XP SP3的WinPE没有比SP2的WinPE多了些什么,假如你满意现在SP2的WinPE,不值得升级。本帖的主要用意在于介绍如何从零开始建造WinPE,推介SP3的WinPE反而是次要。

:PROGRAMS.WIM中的那些外置程序的快捷方式是如何建立的?
:PROGRAMS.WIM中的那些外置程序的快捷方式是这样建立的:
PE引导时运行PECMD的配置文件%systemroot%\system32\pecmd.ini,有以下的一段子程式:
  1. /////////////////////////////////////////////////////////////////////////////////
  2. _SUB MountOutSideWIM
  3. FIND B:\>16,CALL NTFS_B
  4. FIND B:\=16,CALL NTFS_B
  5. FIND B:\<16,CALL FAT_B
  6. _END

  7. _SUB NTFS_B
  8. EXEC =!CMD.EXE /C "%SystemRoot%\system32\FORMAT.COM B: /FS:NTFS /V:RAMDisk /Q /C /X /FORCE>NUL"
  9. EXEC =!CMD.EXE /C "mkdir B:\PROGRAMS"
  10. EXEC =!CMD.EXE /C "X:\PROGRAMS\PELINK_CNXP.CMD>NUL"
  11. IFEX B:\PROGRAMS\FREEWB\FREEWB.IME,CALL FREEWB_B
  12. _END

  13. _SUB FAT_B
  14. EXEC =!CMD.EXE /C "mkdir B:\PROGRAMS"
  15. EXEC =!CMD.EXE /C "X:\PROGRAMS\PELINK_CNXP.CMD>NUL"
  16. IFEX B:\PROGRAMS\FREEWB\FREEWB.IME,CALL FREEWB_X
  17. _END
  18. /////////////////////////////////////////////////////////////////////////////////
复制代码
这段子程式执行脚本文件X:\PROGRAMS\PELINK_CNXP.CMD,有如下一段内容:
  1. if exist %SystemRoot%\system32\autorun.tag goto _findprog
  2. for %%i in (x q w e r t y u i o p s d f g h j k l z c v n m) do (
  3. if exist %%i:\programs.wim set _drive=%%i
  4. )
  5. if not exist %_drive%:\Programs.wim goto _findprog
  6. echo Trying to mount %_drive%:\programs.wim read-write...
  7. start /min /wait imagex.exe /mountrw %_drive%:\programs.wim 1 B:\Programs >nul
  8. if not exist B:\Programs\PROG_WIM.TAG (
  9. if not exist B:\PROG_WIM.TAG (
  10. echo Error. Trying to mount %_drive%:\programs.wim read-only...
  11. start /min /wait imagex.exe /mount %_drive%:\programs.wim 1 B:\Programs >nul
  12. )
  13. )
复制代码
这段内容负责找寻和挂接programs.wim。之后,脚本运行其建立快捷方式的主要段落 _linkprep,使用shortcut.exe建立快捷方式。例如:
  1. if not exist "%UserProfile%\「开始」菜单\程序\文件工具" mkdir "%UserProfile%\「开始」菜单\程序\文件工具"
  2. if exist "%ProgramFiles%\totalcmd\totalcmd.exe" (start /min /wait ShellExecute.exe -h %SystemRoot%\system32\shortcut.exe /f:"%UserProfile%\「开始」菜单\程序\文件工具\Total Commander.lnk" /a:c /t:"%ProgramFiles%\totalcmd\totalcmd.exe" /w:"%ProgramFiles%\totalcmd")

  3. if exist "%ProgramFiles%\totalcmd\totalcmd.exe" (start /min /wait ShellExecute.exe -h %SystemRoot%\system32\shortcut.exe /f:"%UserProfile%\Application Data\Microsoft\Internet Explorer\Quick Launch\Total Commander.lnk" /a:c /t:"%ProgramFiles%\totalcmd\totalcmd.exe" /w:"%ProgramFiles%\totalcmd")
复制代码
由上所见,改编脚本文件X:\PROGRAMS\PELINK_CNXP.CMD,即可建立你自己的快捷方式。

:如何才能让PROGRAMS.WIM文件能够以可读写(RW)模式成功挂接?
:.WIM文件是否能够以可读写(RW)模式挂接,需视乎.WIM文件的所在媒体:
1. 假如它是存放在NTFS格式的物理硬盘上面,可读写(RW)模式的挂接是肯定可以实现的;
2. 假如它是存放在PE的系统盘(X:)上面,而该系统盘是以NTFS格式的IMG/SDI模式在RAMDISK上引导出来的,属于硬盘性质,可读写(RW)模式的挂接也好是可以成功的;
3. 但是假如它存放在的PE系统盘(X:)是光盘,或者是以ISO光盘模式在RAMDISK上引导出来的,属于光盘性质,可读写(RW)模式的挂接就不会成功,因为光盘是不可写的。
对于少数需要在可读写媒体运行的程式,如FREEWB,应设法满足1或者2项的要求,或者使用WIM以外的其他型式运行。你也可以考虑把PROGRAMS.WIM放一份到NTFS格式的C:盘上面,让PECMD.INI或者PELINK_CNXP.CMD把它自动优先挂接就成了。

[ 本帖最后由 khauyeung 于 2010-1-17 11:23 编辑 ]
作者: zydn    时间: 2008-5-7 10:36
第一次座沙发,好东西,有卸载地址吗?卸下来试试。

[ 本帖最后由 zydn 于 2008-5-7 10:37 AM 编辑 ]
作者: ok``    时间: 2008-5-7 10:42
好家伙啊~~!楼主能传上来么~~!!
作者: ok``    时间: 2008-5-7 10:46
哦,原来在TFP2啊~!!去下拉~~呵呵~~!!
作者: taj    时间: 2008-5-7 11:48
支持,下载下来研究一下,谢谢。。。。。
作者: junyee    时间: 2008-5-7 12:21
。。。好东西。。

35M内核是未经压缩的吗?
作者: lxl1638    时间: 2008-5-7 12:48
长江后浪推前浪!新人要向楼主学习,定制自己的PE从0开始。
作者: juson    时间: 2008-5-7 13:43
哪位老兄能给个下载地址啊?
作者: 135956    时间: 2008-5-7 13:43
响应老九的精神,从头学习。。。
作者: sztopms1    时间: 2008-5-7 14:07
这么快?

我的xp今天才提示有最新更新,一看,xp sp3在5月6日发布了。

感谢楼主!
作者: holts    时间: 2008-5-7 14:23
下了试过, 128M内存启动不了.
作者: ok``    时间: 2008-5-7 14:34
那个PROGRAMS.WIM要一起下么
作者: 4238500    时间: 2008-5-7 14:37
哪里有下载.下载来整合到光盘里.谢谢分享
作者: lzc0006    时间: 2008-5-7 15:09
downloading.....
值得研究
作者: pyqq    时间: 2008-5-7 15:33
SP3能集成到35M,已经不错了,担心的是最低内存要求多少,系统维护要照顾到老机器
作者: dfghj    时间: 2008-5-7 16:46
支持,学习一下.哈哈
作者: 千里独行    时间: 2008-5-7 17:16
试了一下,192MB的内存不能简体版本的,256MB才能运行.
作者: wanghh    时间: 2008-5-7 17:31
非常好的东西!!收藏了
作者: spadek    时间: 2008-5-7 17:49
哦了,很好啊,下载试试咯,感谢分享、o(∩_∩)o
作者: fal3    时间: 2008-5-7 17:55
来慢了,下来玩玩,先顶起......
作者: 就是这么衰    时间: 2008-5-7 19:45
不错的东西~~~~要来看看!!
作者: khauyeung    时间: 2008-5-7 20:39
原帖由 <i>千里独行</i> 于 2008-5-7 05:16 PM 发表:
...试了一下,192MB的内存不能简体版本的,256MB才能运行.

我在压制.IMG核心文件时,一律采用100MB的大小,所以用RAMDISK要256MB才能运行 (我日常要处理的机器)。如果自行压制成75MB的.IMG,192MB的内存当可运行。想要再小一些内存运行,需要对核心再精简到58-65MB左右,这样做会失去部分功能(如多处理器支持),或者在载入网络装置时超载系统盘; 为了老机器而得不偿失,是我不推荐的。在老机器上运行PE,最好不使用RAMDISK型式运行,应该用光盘版运行,这样128MB的内存就足够了。我提供的XPE系统采用标准的文件和文件夹命名,把.IM_解压后就可以进行改编。自己动手,丰衣足食!

[ 本帖最后由 khauyeung 于 2008-5-8 08:13 PM 编辑 ]
作者: ren001    时间: 2008-5-7 22:10
谢谢提供 下来我用用
作者: 陌上风    时间: 2008-5-7 22:15
FTP2 无法访问了
作者: zlgs    时间: 2008-5-8 00:40
等待网盘分流
排队下载
作者: 7110935    时间: 2008-5-8 17:33
khauyeung  
向楼主致敬,给个地址学习哈
作者: canmao    时间: 2008-5-8 19:59
向所有的达人学习!!
作者: a168b    时间: 2008-5-8 20:22
謝謝版主的分享,下載來試試看
作者: dododoma    时间: 2008-5-8 20:41
下载试一试!学习学习!
作者: liujun2000    时间: 2008-5-8 21:32
下载中 看介绍是我需要的内核
作者: dbst    时间: 2008-5-8 21:55
论坛FTP2地直???
作者: xzf    时间: 2008-5-8 22:06
下载中, 看上去很好,
作者: sundh    时间: 2008-5-8 22:10
看来楼主已经是高手了,下来研究研究
作者: xx1xx2    时间: 2008-5-9 00:21
地址在哪,下不了啊!!!
作者: yanghouchen    时间: 2008-5-9 06:33
楼主能传上来么~~!!
作者: gift4jo    时间: 2008-5-9 06:51
在哪里下载啊?
作者: xx1xx2    时间: 2008-5-9 09:02
文件在哪

谁说说地址啊。。。。
作者: ggwfnh    时间: 2008-5-9 09:14
积分不够。烦哟,不能进入ftp2
作者: zhangsz    时间: 2008-5-9 10:57
哪儿有下载,楼主没提供下载地址啊。
作者: for    时间: 2008-5-9 11:36
谢谢楼主提供使用,好东西
作者: pnjinhe    时间: 2008-5-9 14:15
下载来学习学习,谢谢了
作者: feiyangliu    时间: 2008-5-9 17:42
好东西要支持一下。楼主辛苦了,要学习学习了。
作者: lhtlht    时间: 2008-5-9 17:52
好东西,绝对要收藏,感谢楼主!
作者: jifengguo    时间: 2008-5-9 18:58
支持安装VISTA的不??
作者: streettree    时间: 2008-5-9 21:31
这么快sp3的PE就出来了,厉害!
作者: canstar    时间: 2008-5-9 22:14
楼主上传这个到网盘好吗,积分不够,不能进FTP。。
作者: ajlzm    时间: 2008-5-10 09:40
已下了,谢谢楼主.!!!
作者: helpdata    时间: 2008-5-10 09:55
谢谢楼主。有时间下载看看!
作者: sh1688    时间: 2008-5-10 10:29
感謝~khauyeung 大大 分享
用XP SP3全新制作的微型XPE系统 (35MB内核,具英,简,繁版本)
作者: hanyu_ok    时间: 2008-5-10 10:59
下来看看哦!!感谢楼主!
作者: grassone    时间: 2008-5-10 12:31
我怎么才能再下来
作者: 135956    时间: 2008-5-10 13:51
有点晕。显示属性面板打不开啊。。。
作者: hakaosans    时间: 2008-5-10 14:04
不错,找时间下个来看下。
作者: wtq    时间: 2008-5-10 15:20
LZ是很老很老的老鸟啊。。
作者: hehui    时间: 2008-5-10 15:29
咋又是V的图标?
觉得V的图标难看死了!!!!!!!!
作者: fahrenheit    时间: 2008-5-10 16:43
谢谢楼主,等待网盘分流...
作者: weihui    时间: 2008-5-10 23:36
sigh,没有ftp帐号
作者: hygh    时间: 2008-5-11 00:49
在FTP里啊!5555555555555我看不到帐号
作者: canstar    时间: 2008-5-11 18:09
下载中,再次感谢!
作者: dalas    时间: 2008-5-11 19:27
楼主,能否把你的PEBuilder和WinBuilder发上来?
PEBuilder虽然到处都有下载,但是象我这样的新手,想找齐插件也不是一件容易的事。
作者: zifog00    时间: 2008-5-11 19:43
请问那里可以找到FTP地址和账号啊?
作者: tintinbt    时间: 2008-5-11 23:04
khauyeung
上校
来自 加拿大多仑多
我也在多伦多, 有空联络一下
作者: phoenixyyy    时间: 2008-5-12 14:04
谁发个下载地址啊...跪求地址 哪位高手发下....
作者: ksfan    时间: 2008-5-13 18:22
今天give me files好像不好使,进ftp中任何一个目录都打不开,报出错
作者: yanghouchen    时间: 2008-5-13 20:18
无法下载,不知在哪儿下.
作者: 天哪    时间: 2008-5-14 12:03
可惜没有权限看到
期待网盘分享
作者: lee123    时间: 2008-5-15 08:05
我是菜鸟,不知怎样安装到C盘,谢谢指点
作者: fahrenheit    时间: 2008-5-15 14:56
能够转成usb hdd启动吗?
期待网盘分享...
作者: li670805    时间: 2008-5-15 15:50
好家伙啊~~!楼主能传上来么~~!!
作者: yanghouchen    时间: 2008-5-15 19:04
老兄能给个下载地址吗?
作者: lq1088    时间: 2008-5-15 20:57
支持,下载下来研究一下,谢谢!!!!
作者: bailang3106    时间: 2008-5-15 21:03
不下了  启动速度快吗?
作者: xhj    时间: 2008-5-15 21:21
跟着更新了,
XP有了SP2
我们的PE一样的要有啊
作者: weihui    时间: 2008-5-16 02:09
不知楼主能看到不
请问一下,你的英文版是怎么支持中文的?像别人说的替换了深度版的文件还是其他的呢?
作者: khauyeung    时间: 2008-5-16 06:55
原帖由 weihui 于 2008-5-16 02:09 AM 发表
不知楼主能看到不
请问一下,你的英文版是怎么支持中文的?像别人说的替换了深度版的文件还是其他的呢?

我向来不大喜欢YY别人的作品,也不知道什么是“深度版的文件”。英文版支持中文的BartPE (PEBuilder) 插件很多年前就已经存在,我只是把它不断完善。在这次新的SP3版本中,我是把支持中文的BartPE插件移植到WinBuilder,协同其他WinBuilder脚本,把对中文,RAMDISK,FBWF,WIMFLTR的支持,实现为我的XPE的基本功能。

[ 本帖最后由 khauyeung 于 2008-5-16 06:59 AM 编辑 ]
作者: 危行言孙    时间: 2008-5-16 07:28
才35M,很好,很强大。
作者: ynkm169    时间: 2008-5-16 07:54
谢谢,下一个试用,,,
作者: rsx7    时间: 2008-5-16 11:45
原帖由 pyqq 于 2008-5-7 03:33 PM 发表
SP3能集成到35M,已经不错了,担心的是最低内存要求多少,系统维护要照顾到老机器



256MB才能运行
作者: k55k33    时间: 2008-5-16 13:42
来晚了
下载一个学习一下
作者: hot100    时间: 2008-5-16 14:15
看起来很不错的样子支持~
作者: wbj2002    时间: 2008-5-16 14:26
很好的工具,我也下个用用。
作者: jacky_023    时间: 2008-5-16 15:14
这个不错啊!哪儿能下?
作者: yigeren    时间: 2008-5-16 15:38
支持,下载来研究一下
作者: msuser    时间: 2008-5-16 20:51
能说说基于SP3的PE和基于SP2的PE都有那些不同之处吗?
作者: weihui    时间: 2008-5-17 02:11
原帖由 khauyeung 于 2008-5-16 06:55 AM 发表

我向来不大喜欢YY别人的作品,也不知道什么是“深度版的文件”。英文版支持中文的BartPE (PEBuilder) 插件很多年前就已经存在,我只是把它不断完善。在这次新的SP3版本中,我是把支持中文的BartPE插件移植到W ...



OH,THX
作者: sjweb    时间: 2008-5-17 02:34
很好的帖子~~~~要来看看!!
作者: xusi    时间: 2008-5-17 14:23
哪位老兄能给个下载地址啊?
作者: leocs    时间: 2008-5-17 14:37
强烈期待下载地址!!
作者: bobo55    时间: 2008-5-17 19:11
谢谢楼主,没有ftp帐号.........等待网盘分流...

想下个学习研究之,无奈~
作者: ppc新手    时间: 2008-5-17 19:20
等网盘分流ing,呵呵
作者: powerxing    时间: 2008-5-18 00:49
是不是只有积分达到200才可以申请FTP帐号啊?
作者: e540528    时间: 2008-5-18 03:33
哦,原來在TFP2啊~!!....沒的下嚕!!
作者: pkyyjhb    时间: 2008-5-18 16:58
我很想要啊,哪位老大能给个下载地址啊,急等了。
作者: Madjingo    时间: 2008-5-18 16:59
感谢分享,试用一下!
作者: powerxing    时间: 2008-5-18 22:44
67.4的PF太大了点,不知道怎么能精简下,呵呵
作者: macyang    时间: 2008-5-19 02:24
那位大大可以分享一下嗎?積分不够!
作者: zts59    时间: 2008-5-19 08:42
不错,三种语言的ISO.

建议楼主做一个英文内核的ISO。支持简、繁语系就好了。
作者: khauyeung    时间: 2008-5-19 09:12
原帖由 zts59 于 2008-5-19 08:42 AM 发表
不错,三种语言的ISO.

建议楼主做一个英文内核的ISO。支持简、繁语系就好了。

我的英文版本PE就是以英文作内核,支持简、繁语系显示,并有简体输入功能的(极点五笔拼音)。它可不是简单更改LOCALE的YY产品啊!
作者: sdgwd    时间: 2008-5-19 14:01
没有下载地址!怎样下载?
作者: xh015xh    时间: 2008-5-19 16:00
ftp2没有权限看密码!




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