|
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等文件的:- [FILENAMES]
- Exe=%ExeDir%\SHELL32.DLL
- SaveAs=%ExeDir%\SHELL32_Patched.DLL
- Log=%ExeDir%\SHELL32.LOG
- [COMMANDS]
- -addoverwrite %ResourceDir%\_WindowsPE.bmp,Bitmap,131,
- -addoverwrite %ResourceDir%\sIcon_1.ico,IconGroup,1,
- -addoverwrite %ResourceDir%\sIcon_2.ico,IconGroup,2,
- -addoverwrite %ResourceDir%\sIcon_3.ico,IconGroup,3,
- ...
- -addoverwrite %ResourceDir%\sIcon_50.ico,IconGroup,21,
- -addoverwrite %ResourceDir%\sIcon_50.ico,IconGroup,22,
- -addoverwrite %ResourceDir%\sIcon_50.ico,IconGroup,23,
- ...
- -delete AVI,150,
- -delete AVI,151,
- ...
- -delete Bitmap,146,
- -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,有以下的一段子程式:- /////////////////////////////////////////////////////////////////////////////////
- _SUB MountOutSideWIM
- FIND B:\>16,CALL NTFS_B
- FIND B:\=16,CALL NTFS_B
- FIND B:\<16,CALL FAT_B
- _END
- _SUB NTFS_B
- EXEC =!CMD.EXE /C "%SystemRoot%\system32\FORMAT.COM B: /FS:NTFS /V:RAMDisk /Q /C /X /FORCE>NUL"
- EXEC =!CMD.EXE /C "mkdir B:\PROGRAMS"
- EXEC =!CMD.EXE /C "X:\PROGRAMS\PELINK_CNXP.CMD>NUL"
- IFEX B:\PROGRAMS\FREEWB\FREEWB.IME,CALL FREEWB_B
- _END
- _SUB FAT_B
- EXEC =!CMD.EXE /C "mkdir B:\PROGRAMS"
- EXEC =!CMD.EXE /C "X:\PROGRAMS\PELINK_CNXP.CMD>NUL"
- IFEX B:\PROGRAMS\FREEWB\FREEWB.IME,CALL FREEWB_X
- _END
- /////////////////////////////////////////////////////////////////////////////////
复制代码 这段子程式执行脚本文件X:\PROGRAMS\PELINK_CNXP.CMD,有如下一段内容:- if exist %SystemRoot%\system32\autorun.tag goto _findprog
- 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 (
- if exist %%i:\programs.wim set _drive=%%i
- )
- if not exist %_drive%:\Programs.wim goto _findprog
- echo Trying to mount %_drive%:\programs.wim read-write...
- start /min /wait imagex.exe /mountrw %_drive%:\programs.wim 1 B:\Programs >nul
- if not exist B:\Programs\PROG_WIM.TAG (
- if not exist B:\PROG_WIM.TAG (
- echo Error. Trying to mount %_drive%:\programs.wim read-only...
- start /min /wait imagex.exe /mount %_drive%:\programs.wim 1 B:\Programs >nul
- )
- )
复制代码 这段内容负责找寻和挂接programs.wim。之后,脚本运行其建立快捷方式的主要段落 _linkprep,使用shortcut.exe建立快捷方式。例如:- if not exist "%UserProfile%\「开始」菜单\程序\文件工具" mkdir "%UserProfile%\「开始」菜单\程序\文件工具"
- 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")
- 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 编辑 ] |
评分
-
查看全部评分
|