无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 250854|回复: 602
打印 上一主题 下一主题

[2010-01-17更新] 由零开始,用XP SP3全新制作你的的微型XPE系统

    [复制链接]
跳转到指定楼层
1#
发表于 2008-5-7 10:33:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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 编辑 ]

评分

参与人数 5无忧币 +26 收起 理由
winterhope + 1 赞一个!
879792799 + 5 很给力!
Mindfly + 5 很好的教程,学习了
na509 + 5 非常好的教程,支持一下!
jonson_qf + 10 精品文章

查看全部评分

推荐
发表于 2010-2-7 10:56:09 | 只看该作者
现在这样耐心这样无私的人少了

点评

混沌剑神 www.aoswx.com/book/991.html 永生之门www.gmwxw.com/book/4185.html  发表于 2014-9-26 14:42
回复

使用道具 举报

推荐
发表于 2010-7-13 22:15:34 | 只看该作者
支持一下,现在英文版的pE很难找,网上搜了几个月都没找到个满意的,支持在遍地开花的中文PE的同时搞英文PE,这样才能跟国际接轨。
回复

使用道具 举报

推荐
发表于 2008-5-8 21:55:32 | 只看该作者
论坛FTP2地直???
回复

使用道具 举报

5#
发表于 2008-5-7 10:36:28 | 只看该作者
第一次座沙发,好东西,有卸载地址吗?卸下来试试。

[ 本帖最后由 zydn 于 2008-5-7 10:37 AM 编辑 ]
回复

使用道具 举报

6#
发表于 2008-5-7 10:42:58 | 只看该作者
好家伙啊~~!楼主能传上来么~~!!
回复

使用道具 举报

7#
发表于 2008-5-7 10:46:54 | 只看该作者
哦,原来在TFP2啊~!!去下拉~~呵呵~~!!
回复

使用道具 举报

8#
发表于 2008-5-7 11:48:41 | 只看该作者
支持,下载下来研究一下,谢谢。。。。。
回复

使用道具 举报

9#
发表于 2008-5-7 12:21:30 | 只看该作者
。。。好东西。。

35M内核是未经压缩的吗?
回复

使用道具 举报

10#
发表于 2008-5-7 12:48:05 | 只看该作者
长江后浪推前浪!新人要向楼主学习,定制自己的PE从0开始。
回复

使用道具 举报

11#
发表于 2008-5-7 13:43:40 | 只看该作者
哪位老兄能给个下载地址啊?
回复

使用道具 举报

12#
发表于 2008-5-7 13:43:55 | 只看该作者
响应老九的精神,从头学习。。。
回复

使用道具 举报

13#
发表于 2008-5-7 14:07:51 | 只看该作者
这么快?

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

感谢楼主!
回复

使用道具 举报

14#
发表于 2008-5-7 14:23:45 | 只看该作者
下了试过, 128M内存启动不了.
回复

使用道具 举报

15#
发表于 2008-5-7 14:34:26 | 只看该作者
那个PROGRAMS.WIM要一起下么
回复

使用道具 举报

16#
发表于 2008-5-7 14:37:08 | 只看该作者
哪里有下载.下载来整合到光盘里.谢谢分享
回复

使用道具 举报

17#
发表于 2008-5-7 15:09:50 | 只看该作者
downloading.....
值得研究
回复

使用道具 举报

18#
发表于 2008-5-7 15:33:12 | 只看该作者
SP3能集成到35M,已经不错了,担心的是最低内存要求多少,系统维护要照顾到老机器
回复

使用道具 举报

19#
发表于 2008-5-7 16:46:46 | 只看该作者
支持,学习一下.哈哈
回复

使用道具 举报

20#
发表于 2008-5-7 17:16:44 | 只看该作者
试了一下,192MB的内存不能简体版本的,256MB才能运行.
回复

使用道具 举报

21#
发表于 2008-5-7 17:31:04 | 只看该作者
非常好的东西!!收藏了
回复

使用道具 举报

22#
发表于 2008-5-7 17:49:50 | 只看该作者
哦了,很好啊,下载试试咯,感谢分享、o(∩_∩)o
回复

使用道具 举报

23#
发表于 2008-5-7 17:55:06 | 只看该作者
来慢了,下来玩玩,先顶起......
回复

使用道具 举报

24#
发表于 2008-5-7 19:45:39 | 只看该作者
不错的东西~~~~要来看看!!
回复

使用道具 举报

25#
 楼主| 发表于 2008-5-7 20:39:53 | 只看该作者
原帖由 <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 编辑 ]
回复

使用道具 举报

26#
发表于 2008-5-7 22:10:13 | 只看该作者
谢谢提供 下来我用用
回复

使用道具 举报

27#
发表于 2008-5-7 22:15:29 | 只看该作者
FTP2 无法访问了
回复

使用道具 举报

28#
发表于 2008-5-8 00:40:00 | 只看该作者
等待网盘分流
排队下载
回复

使用道具 举报

29#
发表于 2008-5-8 17:33:55 | 只看该作者
khauyeung  
向楼主致敬,给个地址学习哈
回复

使用道具 举报

30#
发表于 2008-5-8 19:59:03 | 只看该作者
向所有的达人学习!!
回复

使用道具 举报

31#
发表于 2008-5-8 20:22:05 | 只看该作者
謝謝版主的分享,下載來試試看
回复

使用道具 举报

32#
发表于 2008-5-8 20:41:55 | 只看该作者
下载试一试!学习学习!
回复

使用道具 举报

33#
发表于 2008-5-8 21:32:17 | 只看该作者
下载中 看介绍是我需要的内核
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 14:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表