微信群二维码失效-如何进入注册表
![irfanview](/uploads/image/0642.jpg)
2023年4月3日发(作者:3ds max 2014)
有没有想过你的计算机失去硬盘会怎样?有没有想过硬盘上唯一的系统崩溃却有很多重要文件在系统分区怎么办?望着这
堆失去操作系统的“废铁”一筹莫展吗?我们设想有一种操作系统在光盘、U盘甚至软盘等载体上,它可以完全抛开硬盘或
其上的操作系统,可直接对计算机其他资源进行使用和管理,而且是完全的图形界面——听起来像个童话,但这种操作系统
确实是存在的,那就是今天我们要提到的嵌入式桌面操作系统。
嵌入式桌面操作系统是一种特殊的桌面操作系统,可自由放置并运行在多种存储介质上,如光盘、U盘、ZIP等。这意味
着我们可使用光盘引导计算机,然后在没有硬盘的情况下一样进行系统维护、网络共享、网上冲浪、文件操作、文字处理、
多媒体应用等工作……甚至这与你日常惯用的操作系统环境并无区别。由于这些系统可自由定制其体积,可灵活选择存放介
质,可完全适用于不同配置的计算机,因此随身带着自己的操作系统将不再是个奢望。
目前我们能接触到的常用嵌入式桌面操作系统有微软今年年初发布的WindowsXPEmbedded,Lindows公司基于Linux开发
的Lindows4.0,德国程序设计师KlausKnopper以Debian为基础开发而成的Knoppix,以及微软发布后被网络DIYer们修
改而出的SuperWinPE等。这些操作系统原理有异,各有千秋。由于光盘是目前最普及最成熟的移动介质,笔者将以一个完
整的系列来演示如何使用和制作这些嵌入式操作系统引导光盘,而研究的系列对象是Diyer最喜爱的SuperWinPE、专业的
嵌入式设备WindowsXPEmbedded以及Linux阵营的Knoppix。
SuperWinPE自定义制作
WindowsPE系统发布已有一年,相信大家应该对它较熟悉了(编者注:关于WinPE的详细介绍参见本刊2003年第3期和
第5期)。虽然许多人对于这个新奇的操作系统充满好奇,但由于微软刻意将系统的图形界面(Shell)去除,只能使用命
令行的操作方式显然并不适合普通使用者,在最初的激动过后,许多关注它的人也渐渐将其遗忘。不过一些执著的软件DIYer
并没有放弃,在不断的努力下,他们逐渐为原始的WinPE加上了合适的图形Shell,而且适当修改系统注册表后,使大批工
具软件能够集成在系统中运行。这些被修改过的WinPE就被称作为“SuperWinPE”。
SuperWinPE的体积通常会在160MB到700MB不等,这需要看制作者集成的工具软件的数量(图1)。其功能已经非常强
大,普通人使用它进行系统维护、网络共享、网上冲浪、文件操作、文字处理、多媒体应用等日常工作完全没有困难,因为
其环境与平常的Windows基本没有太大区别。将其称为嵌入式操作系统当然有些勉强,毕竟其软硬件的添加是通过修改集成
的,超级工具维护系统也许是更恰当的称呼。但由于其修改方法已十分成熟,也相对简单易懂,将其作为我们系列研究的首
选是非常合适的。
相信SuperWinPE的使用对任何Windows用户都不存在问题,如何制作自己的SuperWinPE光盘镜像才是重点。通常来说
SuperWinPE的制作有两大流派,一类是以手工集成GEOSHELL为主的纯粹手工制作,在GEOSHELL强大的支持下,最终的系
统界面将相当漂亮,功能也相对强化稳定(图2)。而另一类是使用Bart'sPEBuilder工具软件制作,界面相对朴实平淡,
胜在制作简单,即使完全不懂制作原理,也能在几个简单选择步骤后制作出自己的SuperWinPE(图3),而在其插件的制
作过程中却可以逐渐了解到制作原理,从而最后达到手工修改系统的目的。因此我们不妨先从Bart'sPEBuilder制作开始。
PEBuilder的最新版本是PEBuilderv3.0.18,它比v3.0.17前的版本有个巨大的进步。软件终于不再需要“already
installedWindows”项目就可以创建WinPE系统了。也就是说现在创建工作的源文件完全来自于WindowsXP/Server2003
安装光盘,而与你计算机上安装的操作系统无关。这样PEBuilder就解决了制作WinPE副本必须与硬盘上已安装操作系统
完全一致的限制,赋予了极大的制作自由度。使用PEBuilderv3.0.18能制作各种操作系统版本的WinPE,只需要拥有相
应的操作系统安装光盘,包括WindowsXPHome/Pro以及含SP1系列版本、WindowsServer2003Web/Standard/Enterprise
等系列版本。由于国内大部分下载站点提供的还是v3.0.16版本,请到作者的网页/pebuilder下载最新
版本。PEBuilder是完全绿色软件,只要将下载的压缩包解开即可使用。下面我们开始具体制作步骤。
1.准备工作
首先在硬盘分区上要留出一定的剩余空间,用于存放制作好的WinPE系统以及ISO镜像文件。其具体空间大小由系统要集
成的插件决定,但即使是PEBuilder默认建立最小的系统也有160MB左右,也就是说加上制作的ISO镜像文件至少也要有
350MB剩余空间。将下载回来的文件解压缩,然后双击运行文件,在弹出的窗口中点击
“Next”按钮进入下一步(图4)。
2.设置文件源
接下来的窗口是设置制作文件源(图5)。“PathtoWindowsinstallationfiles”即选择制作WinPE系统所需的安装
文件路径。通常Windows安装文件路径可选择放入光驱中的系统安装光盘,但你也可选择本机硬盘或网络上的目录,前提是
事先已将安装光盘中的文件复制到相应目录位置中。
“Addfiles/foldersthis(custom)directorytoISO”意思是添加自定义文件或文件夹到WinPE系统的ISO镜像文件中。
这个项目主要是为了方便系统中集成一些绿色的软件,例如Foxmail、FlashGet、QQ等,他们无需安装就可直接在操作系统
内运行。由于PEBuilder软件这里只能设定一个目录,如果需要集成多个软件时,需要先将这些软件放在同一目录下,然
后直接点击右侧的“浏览”按钮定位这个目录,被集成到系统的自定义软件将放在ISO镜像文件的根目录下。完成这些设置
后点击“Next”按钮进入下一步。
3.配置插件
接下来是插件配置窗口(图6)。简单来说,插件就相当于Windows桌面系统里安装的软件。所以这一步是决定制作出WinPE
系统性能的关键。Bart'sPEBuilder目前内置了29个插件,都被放置在窗口中。在这里显示了当前设置下所有插件的激
活状态,如果“Enabled”列显示“Yes”,则代表该插件已被激活,显示“No”则代表未被激活,我们可通过“Enable/Disable”
按钮选择是否需要激活该插件;使用“Edit”按钮则可重新编辑插件程序的安装源、程序名等选项;而使用“Add”和“Remove”
按钮可添加插件或删除不想要的插件,当然前提是你已经下载或自己编写了更多插件。对于PEBuilder的内置29个插件,
分为3种类型,以下是它们详细的激活使用条件。
(1)无需加入其他文件即可使用的插件
Nu2menu:一个为Win2000/XP/WinPE开发的动态外壳(Shell)/菜单应用程序,也是专门为PEBuilder设计的(图7),
这是我们打造SuperWinPE的基础插件,在PEBuilder中默认就是激活的。在你有能力手工添加修改SuperWinPE的外壳
前,一定不要关闭本插件。
Bst5(Bart'sStuffTestv5):一个小型的Win32应用程序,用于存储设备的长时间重负荷测试,它支持文件和设备级
别的测试(图8)。
BootFix:赋予SuperWinPE的引导CD在引导时有5秒的引导系统选择时间,如果敲击任意键即从CD上进行系统引导,
而不作反应则会从硬盘引导系统。
CheckDisk:为系统增加了磁盘检查工具以及相应的帮助使用的脚本。
Custom:这个插件是专门为了自定义制作SuperWinPE而设定。在深入了解SuperWinPE的制作原理后,如果要修改PE
Builder的制作参数,不要修改文件,而是使用来定义。
Document:只是简单地为SuperWinPE添加“DocumentsandSettings”文件夹目录。
QSoftRamdisk:激活此插件即可在使用SuperWinPE光盘引导系统后,创建一个大小为32MB的虚拟硬盘B(图9)。
RemoteDesktopClientbyMicrosoft:远程桌面客户端,会从安装光盘上拷贝所需要文件。
StartupGroup(autorun):插件会在Nu2menu菜单中创建一个启动群,不过这只是个假的启动群,在默认情况下其启动项
目都是一个接一个执行的,也就是说上一个程序关闭后下一个才会被执行。
DossupportforWinPE:此插件为SuperWinPE提供16位的DOS支持能力,不需要其他文件。
KeyboardLayout:此插件可设定默认的键盘布局,通常情况下我们修改插件的文件来设定。不过实际上在
WinPE运行中也可通过Nu2menu菜单上的“KeyboardLayoutoption”来随时改变键盘布局。注意这时所有已经运行的程序
需要重新启动,才能适应新的键盘布局。
(2)需要加入其他文件才可使用的插件
Network:这个插件利用TCP/IP协议中的微软网络客户端提供完全的网络支持能力(图10)。不过在使用这个插件前,
需要先拷贝另外两个文件到插件目录下。这两个文件是和(文件名也可能是和
),PEBuilder本身并不包含这两个文件。这里的版本必须是5.2.3790.0或更高,你有两个
途径可以得到它:一是在WindowsServer2003安装光盘目录下的中解压得到;二是到微软的
网站下载WindowsServer2003资源开发包
(/downloads/?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang
=en),在中将其解出。的最新版本在WindowsPE1.2版本中可以
得到,另外你也可以使用Win2000开始包的snetcfg_来代替
(/dl/snetcfg_)。得到两个文件后,将它们拷贝到PEBuilder的pluginnetwork目录
下。
BGInfo:检测计算机配置等各方面信息的程序。程序会自动检测计算机的信息并将它们显示为桌面背景(图11),如计
算机的名称、操作系统版本等。插件需要文件,可在/files/下载,
解压放入PEBuilder的pluginbginfo目录下。
TotalCommander:这应该是大家非常熟悉的计算机资源管理程序了,软件集成的是免费的共享版本(图12)。插件需要
、、、、share_、、、、、
、、,如果制作时机器上没有安装TotalCommander,可在
/下载上述文件包,然后解压放入plugintotal目录下。如果计算机本身安装有注
册版本,那么需要将也拷贝到目录下,并修改插件的文件中的部分内容为“=a,,1”。
Ad-Aware:非商业自由软件(图13)。它是一个很小的系统安全工具,可扫描你计算机浏览的网站所发送进来的广告跟
踪文件和相关文件,并能安全地将它们删除。插件需要将文件、、、、
、拷贝到PEBuilder的pluginadaware目录,可在
/software/adaware下载该软件。
IrfanView:一款快速、简单的免费图像影像编辑及浏览软件,它支持所有主流的图形文件格式(图14)。插件需要文件
i_及i_,你可在其主页/download_上下载软件,然后将文件
拷贝到PEBuilder的pluginirfanview目录下。
McAfeecommandli-nevirusscanner:McAf-ee病毒扫描器插件(图15)。这个插件需要不断更新,可在
/~ylchang/McAfee-VirusCodeUpdate上先下载文件,这里的XXXX是版本号码,如
。这个文件即McAfee病毒扫描器的病毒代码(含扫描引擎),将其下载拷贝到PEBuilder的
pluginmcafeefiles目录下。然后将它解压,在目录下运行“/e”,解压过程视机器快慢大约有若干秒不
会有任何反应,等待就行,不要以为出问题了。
OffByOneWebBrowser:号称世界上最小的Web浏览器(图16),完全支持HTML3.2。可在其主页
/ob1_下载软件,插件需要将软件的文件拷贝到PEBuilder的pluginob1
目录下。
PuTTY:完全免费的telnet和ssh客户端工具,全面支持ssh1、ssh2。在
/~sgtatham/putty/上下载文件,并将其拷贝到PEBuilder
的pluginputty目录下(图17)。
McAfeeAVERTStinger:McAfee提供的专门解除特殊病毒(如冲击波病毒)的独立程序(图18)。可在
/vil/stinger上下载文件,并将其拷贝到PEBuilder的pluginstinger目录下。
TightVNC:客户机/服务器软件工具包,能通过网络远程控制客户端电脑桌面,尤其适合低速网络连接。可在
/html/上下载软件(图19)。插件需要将软件安装后的
文件拷贝到PEBuilder的pluginvncviewer目录下。
3ComGigabitLOM(3C940/3C2000)Driver(AsusP4P800onboard):为3Com3C2000-TAdapter提供的专用驱动插件。
请到华硕的主页下载驱动,目前的版本是3com_940_。文件解压然后将el2k_、el2k_、、
拷贝到PEBuilder的pluginnic_el2k_xp目录下。
DSK:为PromiseFastTrakTX4000/S150TXSeries系列磁盘驱动器编写的专用插件。主要是为了作为你编写自己磁盘驱
动器的插件样板,你只要简单地改写其INF文件就可以拥有自己的专用插件。
Broadcom440x10/100IntegratedControllerDriver:Broadcom440x系列10/100MB网卡集成控制器驱动编写。在
/drivers/上下载相应驱动,解压后将、文件
拷贝到PEBuilder的pluginnic_bcm4sbxp目录下。
BroadcomBCM57xxNetX-tremeGigabitEthernetDriver:插件及驱动下载同上。解压后将文件、
拷贝到PEBuilder的pluginnic_b57xp32目录下。
(3)需要付费购买软件的插件:
DiskCommander:一个用来恢复坏死以及被删除或格式化了的文件,还能重新建立被破坏了的分区表(图20)。如果计
算机中拥有这个软件,那么将文件、、、拷贝到PEBuilder的plugindskcmd
目录下。
ERDCommander2003:一个用来修复坏死操作系统的超级系统维护工具光盘,可用于重新设定文件权限、重建已遗失的密
码、抢救系统及重要资料等许多任务(图21,可参看本刊2003年第21期《你的光盘,你的选择》一文)。如果计算机中
拥有这个软件,那么将文件、、、、、、
、拷贝到PEBuilder的pluginerd2002目录下。
Ghost32:大家都非常熟悉的磁盘备份软件(图22)。如果拥有这个软件,可将文件和拷贝
到PEBuilder的pluginghost32目录下。
NeroBurningRom:经典刻录光盘软件,如果有刻录机,这个插件将带来很大的工作便利(图23),v5.5.10.X的系列版
本都可正常使用。如果拥有这个软件,可将安装目录内的文件全部拷贝到PEBuilder的pluginneroburningromfiles
目录下。然后修改文件的部分,修改用户名、公司名及注册号码。其大致看上去如下结构:
[]
0x1,"aheadNero-BurningRomInfo","User","BartLagerweij"
0x1,"aheadNero-BurningRomInfo","Company","Nu2Productions"
0x1,"aheadNero-BurningRomInfo","Serial5","0000-0000-0000-0000-0000-0000"
提示:如果插件文件不全,点击“Enable/Disable”按钮后就会提示缺少的文件(图24),通常可以下载相应软件并在
Windows中安装好,然后根据提示,将缺少的文件复制到Plugins目录下即可。详细提示可通过点击“PluginHelp”按钮获
得。每个插件文件夹下都至少包含了*.htm、*.inf、*.xml这3个文件。从/pebuilder/#plugin还可下
载更多插件。另外你也可以自己定制插件,这就需要拷贝相应的文件到Plugins目录下,并编写相应的INF文件,下文将会
详述。
4.输出设置
最后是选择制作完毕的系统的输出设置。默认的文件输出路径是“c:pebldr”,而ISO镜像文件则会被放到PEBuilder
软件目录中,当然你也可以另行设置(图25),唯一的条件是要保证目标路径有足够的可用空间。设置完毕,点击“Next”
按钮进入下一步。
5.创建ISO文件
PEBuilder会立即开始执行创建操作,系统首先会从Windows安装光盘中拷贝必要的文件到前面所设置的输出目录中,
这里需要一定的时间。耐心等待片刻,一个ISO格式的光盘镜像文件就创建完成了(图26)。如果创建过程中出现错误,
那么软件会记录错误出现的原因,我们使用“>>”和“<<”按钮就可以查看每处错误的成因(图27)。在修正错误后继续
点击“Next”按钮再次创建即可。
最后,将建立的ISO文件刻录到光盘上,就可以得到量身定做的SuperWindowsPE工具盘了,用它启动计算机看看自己
的劳动成果吧。
二、SuperWinPE系统汉化
由于PEBuilder是英文软件,使用英语或相近语言操作系统安装光盘制作的SuperWinPE一般不会有什
么问题。但如果是使用汉语等双字节语言的操作系统安装光盘制作SuperWinPE,则Nu2menu菜单和中文
语言的程序界面会充斥着乱码(图1),更别说中文输入法了,根本无法正常使用。乱码是由于PEBuilder
默认拷贝到SuperWinPE的字库以及在系统中的设置均是针对于英文,所以我们需要在制作时将中文字库
拷贝到SuperWinPE中,并且修改系统为正确的语言设置。这个工作可在制作完ISO镜像后,通过手工修
改镜像文件完成。但这样做不仅麻烦,而且每制作一个ISO文件都要修改,如果经常制作的话,工作量不
免太大。所以一劳永逸的方法是制作一个简体中文语言的插件,这样当SuperWinPE的ISO制作完毕后就
是正确的语言显示了。下面我们就来编写一个简体中文语言插件,同时用来详细演示插件如何开发。
(一)中文插件的开发
一个典型的插件一般至少包含有*.html、*.xml、*.inf这3个文件(图2)。*.html文件一般是插件的
说明或帮助文档,*.xml则是插件在系统启动后的菜单项。但有些插件的使用并不需要帮助和菜单项,例
如我们下面将编写的中文语言插件,那么*.html和*.xml文件就可省略。*.inf文件是插件的灵魂,它告
诉PEBuilder建立插件需拷贝的文件、拷贝文件的位置、插件在SuperWinPE中的正确设置等关键信息。
所以插件的开发基本上就是inf文件的编写。
我们使用记事本来编写inf文件即可,需要注意的是文件最后的存盘格式必须是标准的ASCII文件,不
能是unicode文件。脚本中的语句前以分号“;”开始,则会被认为是注释而不会被最终处理,另外注意代
码中的所有标点符号都应为半角,否则无法被正确识别。此外需要说明的一点是,在改写中会经常测试改
写是否正确有效,如果每完成一步都要刻盘再重启机器,未免太过麻烦,因此推荐使用虚拟机软件Virtual
PC或VMWare,用ISO镜像文件直接启动虚拟系统进行测试(注:关于虚拟机软件的使用可参考本刊2003
年第7期和第9期的相关文章)。
1.创建插件inf文件
打开记事本,新建文件。通常任何一个PEBuilder的插件都能在开头找到以下两句(图3)。
[Version]
Signature="$WindowsNT$"
这两行信息必须添加到新建文件中,否则inf文件就不可用,[Version]之上可按照自己的需要添加注释
(行前加分号),添加内容完毕后将其存为文件,这个插件显然还不能做任何事情,下面我
们还要添加其他部分。
2.[PEBuilder]部分
每个插件的inf文件都必须包含这一部分,此部分有3个参数。参数“Name”是插件名称,即在PEBuilder
中显示的名称。参数“Enable”是插件的默认初始状态,0表示插件在PEBuilder中非激活,1则表示插
件在PEBuilder中默认激活(图4)。这个部分的中文插件如下编写:
[PEBuilder]
Name="chineseLanguageVer1.0"
Enable=1
3.[WinntDirectories]部分
此部分使用固定语句格式:directoryID=dirname[,attribute],其主要作用是在SuperWinPE中创建目
录。“directoryID”是建立目录的ID,在插件的inf文件中你可随意使用字母a~z分配ID;“dirname”
即建立目录的名称,必须使用半角的双引号包括(图5);“attribute”的数值表示一些选项开关,默认
值为0。我们的插件如下编写:
[WinntDirectories]
a="documentsandsettingsdefaultusermydocuments",3
4.[SourceDisksFiles]部分
这个部分是插件的关键部分,它告诉PEBuilder插件需要将哪些文件拷贝到SuperWinPE中的哪个目录
里。此部分使用如后基本语句格式:filename=directoryID。其中“filename”即需要复制的文件,
“directoryID”是目标文件夹的系统目录名称,它使用不同数字来代表不同的系统目录。由于我们需要编
写的是简体中文语言插件,所以要将正确的中文字库拷贝到SuperWinPE的Font目录中,顺便也可将输入
法文件和字库拷贝到SuperWinPE的system32目录中。system32系统目录ID为2,Font系统目录为22,
故此部分我们如下编写:
[SourceDisksFiles]
=2
=2
=22
;……
以上省略号处省略了10行,每行格式都类似于“=22”,只是将“”分别改为
、、、、、、、
、和。
5.[]部分
拷贝到SuperWinPE的插件文件需要告知系统才会被正确调用,所以我们必须将其加上相应的注册信息。
这个部分即专门添加Software部分注册信息,基本格式为“regType”、“regKey”、“regvalue”、“regData”。
参数“regType”用于指定注册信息键值的数据类型,共有7种类型(表1),注意其中的“0x”必须要小
写,否则将无法被正确识别,“regKey”为注册键目录字符串,“regvalue”为注册键值的字符串,“regData”
用于指定实际使用的数据。
由于SuperWinPE系统中的注册键值实际上基本可对应于WinXP的注册键值,所以我们需要做的工作就
是将WinXP中关于显示字库和输入法的注册信息导入到SuperWinPE系统中。在你的WinXP系统中点击“开
始菜单→运行”,输入“regedit”回车后启动注册表编辑器,在如下子键上点击右键将其导出为文本文件
备用(图6):
“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersion”下的FontMapper、
FontSubstitutes、FontLink、Fonts、GRE_Initialize和FontDPI子键,“HKEY_LOCAL_MACHINE
SOFTWAREClassesCLSID”下的{529A9E6B-6587-4F23-AB9E-9C7D683E3C50}、
{540D8A8B-1C3F-4E32-8132-530F6A502090}、{08CD963F-7A3E-4F5C-9BD8-D692BB043C5B}、
{33C53A50-F456-4884-B049-85FD643ECFED}、{3CE74DE4-53D3-4D74-8B83-431B3828BA53}、
{529A9E6B-6587-4F23-AB9E-9C7D683E3C50}、{A4B544A1-438D-4B41-9325-869523E2D6C7}、
{B9931692-A2B3-4FAB-BF33-9EC6F9FB96AC}、{EBB08C45-6C4A-4FDC-AE53-4EB8C4C7DB8E}、
{275C23E2-3747-11D0-9FEA-00AA003F8646}、{C04D65CF-B70D-11D0-B188-00AA0038C969}和
{D66D6F99-CDAA-11D0-B822-00C04FC9B31F}子键。
下面我们来看如何使用导出的文本文件。打开从“CurrentVersionGRE_Initialize”键值导出的
GRE_文件(图7),按上文所说的格式将其改写为[]的部分。首先是
GRE_Initialize键本身的默认值,由于数据类型“regType”是REG_SZ而且数据值为空(图8),所以其
数据类型为0x0。而其键值目录“regKey”并不需要写全,我们将“HKEY_LOCAL_MACHINESOFTWARE”的
后面部分写上即可。所以添加如下内容:
[]
0x0,"MicrosoftWindowsNTCurrentVersionGRE_Initialize"
接着我们将GRE_Initialize内其他键值都进行修改。如值0的数据类型为REG_SZ而又非空值,所以其
数据类型为0x1。而其“regvalue”和“regData”分别为“me”和“宋体”,故添加为:
0x1,"MicrosoftWindowsNTCurrentVersionGRE_Initialize","me","宋体"
用此方法将上文所述导出的注册键信息全部按格式添加到[]部分。实际上我们向Super
WinPE系统中拷贝的字库文件有限,上述添加的键值中许多并非必须。但是这样的处理方法简单易行,你
不需要费心去辨识那些键值,当然你也可以在熟悉理解WinXP注册表信息后只编写需要的部分,这样可大
大降低插件inf文件的体积。
6.[]部分
这个部分的语法格式与[]部分完全一致。启动注册表编辑器,将“HKEY_LOCAL_MACHINE
SYSTEMControlSet001Control”下的“KeyboardLayouts00000804”、“KeyboardLayoutsE0010804”
及“FontAssoc”子键导出为文本文件,并依照第5步的做法按格式将信息添加到插件inf文件的
[]部分。
7.[]部分
这个部分主要的语法格式与[]部分完全一致。启动注册表编辑器,将“HKEY_CURRENT
_USERKeyboardLayout”下的“Preload”、“Toggle”及“ControlPanelDesktop”等子键导出为文本
文件,同样按第5步的做法按格式添加到插件inf文件的[]部分。
至此中文简体插件的文档编写工作全部完成。实际上插件inf文档的编写还包括有其他部
分,但编写简体中文语言插件并不需要,大家可对照上述编写过程来学习其他部分。
8.导入插件
由于PEBuilder导入插件必须使用cab压缩包文件,所以需要先将文件打包为
文件,笔者一般使用CabnetManager打包软件(下载地址:
/utility/pack/),可使用鼠标右键菜单方便地添加cab压缩包(图
9)。之后在使用PEBuilder制作SuperWinPE的配置插件步骤时,点击窗口上的“Add”按钮,在弹出窗
口中选择刚才制作的文件(图10)。接着软件会让你给插件的目录命名(图11),命名后点
击“OK”按钮,插件就会被导入到PEBuilder中,由于在插件的[PEBuilder]部分的Enable参数为1,所
以导入的插件已经是激活状态(图12)。导入这个中文插件后继续制作完成WinPE的ISO文档,完成后来
看看那些中文软件的界面,乱码都已经消失,熟悉的中文回来了(图13)。
(二)Nu2menu菜单的汉化
经过上一步处理后发现SuperWinPE的界面菜单依然是英文,且其位置安排也不尽如人意。要改进这一
状况,必须修改Nu2menu插件。上文说过,插件内一般有3种文件,其中XML文件就是系统的菜单,所以
汉化菜单的工作实际上非常简单,只是简单地修改Nu2menu插件的XML文件就可以了。
用记事本打开Nu2menu插件的文件,其菜单结构一目了然(图14)。即使你完全不懂得XML
文件的语法,也可以从文档规律性的语句中轻易辨识出对应在SuperWinPE中的菜单项。比如说文档的第
一段结构的部分是这样的。
这代表系统的一级菜单,其语法结构都是对称形式的,非常简单。如整个一级菜单从
整个部分后则以带斜线的结束。其内具体菜单子项也是从
修改为“程序组”,那么在SuperWinPE中菜单项目就改变了(注:前提是已经使用了上面的中文插件,
否则可能会有乱码。图15)。因此只要将这部分简单修改为中文,菜单的汉化工作就完成了(注:“
TYPE="SEPARATOR">”代表菜单中的分隔线)。
修改并制作完成后发现二级和三级菜单依然有部分是英语,这是因为Nu2menu插件只负责系统的一级和
部分二级菜单,而更多菜单是由插件本身附带的XML文件负责添加。那么修改插件附带的XML文件即可,
如打开插件bginfo的bginfo_文档,同样只要将
存盘即可。另一种方法是将此XML文件的内容修改后再复制到中,而插件附带的XML文件删
除即可,这种处理方法更加集中方便,制作出的SuperWinPE始终存在此插件的菜单项,但没有激活集成
插件的话,相应的菜单项目也是灰色不可选的(图16)。经过对所有被集成插件的XML文件修改汉化,我
们制作出的SuperWinPE终于是完全的中文界面了(图17)。
三、系统的完善
经过汉化的SuperWinPE使用上已经没有太多问题了,不过依然有一些问题需要完善。
1.加入硬件驱动
使用PEBuilder建立的SuperWinPE是最小化的,只有基本的硬件驱动,而且尽管已经集成了网络插件,
但实际上可能仍无法用它实现网络功能,原因在于网卡驱动与具体的网卡可能不相配。要正常使用网络,
需要对应为你计算机的网卡在SuperWinPE中加入驱动,仍然可以使用插件的形式,以3Com网卡驱动为例。
建立inf文件,例如,其内容如下:
[Version]
Signature="$WindowsNT$"
[PEBuilder]
Name="3com"
Enable=1
[SourceDisksFiles]
=4,,1;将拷贝至system32中
=20,,1;将拷贝至i386inf目录中
将文件打包为cab文件,导入PEBuilder中后会在plugin目录中建立子目录,然后拷贝网卡驱动
和至此目录下。在制作SuperWinPE时激活此插件即可使用3Com的网卡驱动。
2.快速修改镜像
用PEBuilder制作完成的ISO镜像大约200MB左右,刻录200MB的小光盘恰好合适,但如刻录一张700MB
的普通光盘则未免浪费空间。那么最好集成更多的软件工具,但是否又需重新制作呢?直接使用ISO工具
修改即可。不过由于此ISO镜像是使用ISO-9660:1999(version2)文件系统标准,必须作出相应设置才能
保证ISO文件的正确结构。下面的演示中我们将替换SuperWinPE的背景墙纸,并为系统添加一个绿色软
件WinRAR。
使用软件UltraISO打开镜像,首先调整ISO文件的格式。点击菜单“文件→属性”,在弹出窗口中依次
选择“Joliet光盘文件系统标准→Windows/Unix(31)→扩展(110)”(图18)。在硬盘上准备一张分辨率
为800×600的BMP图片,将文件名改为“NU2”,打开ISO文件的“I386system32”,使用鼠标右键将
刚准备好的文件替换该目录下的同名文件(图19)。这样系统背景墙纸则已经改变(图20)。同
样道理,对于无需修改注册表的绿色软件一样可以编辑ISO文件集成到系统中,无需编写插件。打开ISO
镜像文件的Progr-ams目录,使用鼠标右键将硬盘上已有的WinRAR安装文件夹添加到其中。然后将ISO镜
像文件中“ProgramsNU2MENU”目录下的文件提取出来,用文本编辑器打开,在
ID="Programs">和之间添加如下行(注:中间无换行):
DISABLED="@Not(@FileExists(@GetProgramDrive()))"CMD="RUN"
FUNC="@GetProgramDrive()">winrar
存盘后再覆盖ISO镜像中的文件,这样就可在系统菜单下使用WinRAR了
三WindowsXPEmbedded制作
作为日常维护工具,SuperWinPE已足够强大,但它也存在不少缺憾,如声卡驱动的问题尚未解决等,所以它只能算是嵌
入式操作系统的一个“体验版”而已。微软现在主推的嵌入式操作系统是WindowsXPEmbedded(以下简称XPEmbedded),
类似于声卡驱动的问题,在XPEmbedded中只不过是一个加入组件的简单操作。尽管XPEmbedded不是为台式机设计的,但
它的可定制性很强,且在容量、便携性、存储介质等方面的优势都是桌面操作系统无法企及的。下文将具体介绍如何制作一
张属于你自己的XPEmbedded光盘。
首先下载带SP1的XPEmbedded评估版,试用期120天。下载地址:
/downloads/?FamilyID=257343f0-a931-4a5e-aaef-08f1cd4b0a80&DisplayLang=en
,在这里下载的是一个网络安装的客户端,所以只有119kB。执行该程序(),出现提示注册的对话框,选“是”
进入下载界面,同时程序会打开一个注册网页,在其中填好带“*”的内容,注意E-mail地址必须是真实可用的,因为XP
Embedded的注册码将被发送到这里。通常你很快就能收到带有注册码的E-mail,最多不会超过24小时。再来看看下载界面
(图1),在这里可以选择保存位置,设置好后选择“StartDownload”即可,一共需下载7个压缩包,总容量603MB,该客
户端支持断点续传,所以无论下载出错还是断线都没关系。下载完毕后压缩包将被自动解压至“C:ProgramFilesWindows
EmbeddedInstaller”中,容量为627MB。开始安装前,确保“D”区内有3GB可用空间(数据库默认安装在D区中),然后
进入“disk1”目录,执行“Setup”开始安装(图2)。
依次安装“工具”(Tools)、“数据库引擎”(DatabaseEngine)和“数据库”(Database),在某些电脑中安装数据
库引擎时可能会报错,提示缺少“强密码”(StrongPassword),没关系,只要加参数执行安装程序即可。选择“开始”→
“运行”,输入如下内容:"C:"SAPWD="1"。“SAPWD”
参数用于指定强密码,强密码可随便定义,用“1”即可。
安装完毕后开始菜单中会增加一个名为“MicrosoftWindowsEmbeddedStudio”的菜单项(下文中在开始菜单里所做的选
择都在此菜单项中进行的),下面我们就可以开始制作光盘了,请严格按照下面的步骤进行,任何一点疏忽都可能前功尽弃。
1.准备工作
首先做一些硬件方面的准备:至少需要一台刻录机和两块硬盘。第一块硬盘就是操作系统所在的硬盘,对分区没有什么特
殊要求,但操作系统必须是Windows2000/XP/Server2003。第二块硬盘是制作光盘的关键,此盘中的分区数量不得大于4
个,并且要保留至少8MB未分区空间,第一个分区为主分区,分区格式为FAT16,容量必须小于一张光盘的容量(650MB或
700MB),根据我们这次讲解的内容计算,分成300MB即可。所有分区工作都可在Windows中完成,这里不再赘述,分完区千
万不要忘记激活第二块硬盘的主分区(下文中称该主分区为“目标区”,第二块硬盘为“目标盘”,第一块硬盘为“系统盘”)。
分好区后,将“C:ProgramFilesWindowsEmbeddedutilities”中的“”拷贝至目标区,由于这是一个
16位程序,所以必须在DOS下运行。重启电脑,进入BIOS(一般是按“Del”键或“Ctrl+Alt+Esc”组合键),将系统盘设
为“None”(当然,也可以关闭电脑,拆下系统盘),再设置首先从软盘或光盘启动(视你想用哪种方法启动而定),保存
退出。使用Win98光盘或启动软盘引导至DOS界面下,输入“C:”,然后回车进入C盘,也就是目标区,再输入“BOOTPREP”
并回车,按两次“Y”确认后,目标盘设置完成。
2.创建“EnableAutoLayout”组件并导入
①打开开始菜单中的“ComponentDesigner”,在打开的程序界面中选择菜单“File”→“New”创建一个新的“sld”文
件。
②展开窗口左侧的“WindowsXPEmbeddedClient(x86)”目录,并在“Components”目录上单击右键,选择“AddComponent”。
③在右侧新建窗口的“Name”区内输入一个名称,例如“EnableAutoLayout_Settings”(图3)。
④右键单击左侧窗口中的“RegistryData”,选择“Add”→“RegistryData”,在弹出的“AddComponentRegistryResources”
对话框中分别填写以下值(图4):
Root:HKEY_LOCAL_MACHINE
Keyname:SOFTWAREMicrosoftWindowsCurrentVersionOptimalLayout
valuename:EnableAutoLayout
Type:REG_DWORD
value:0
⑤选择“Default”单选框,按“OK”回到主窗口,选择“Flie”→“Save”保存为“”,下面将该
文件导入数据库。
⑥在开始菜单中选择“ComponentDatabaseManager”,在“Database”标签窗口中选择“Import”(图5)。在弹出对
话框的“SLDfile”一栏中找到刚刚保存的“”文件。
⑦最后选择“Import”开始导入组件(图6),导完后关闭所有对话框。
3.创建“Targethardwaredevicedrivers”组件并导入
①进入目录:C:ProgramFilesWindowsEmbeddedutilities,执行“”,很快便在同一目录中生成一个
“”文件。
②在开始菜单中选择“ComponentDesigner”,在弹出窗口中选择“Flie”→“Import”,导入“”文件(导
入时间较长,图7)。
③导入完毕,选择窗口左侧的“Components”→“devices”,在右侧窗口的“Name”文本框中填写“Mydevices-hardware”
(图8)。
④单击右侧窗口中“Prototype”栏旁的“Browse”按钮,在弹出窗口中选中“Software”→“Test&Development”→“Selector
PrototypeComponent”(图9)。按“OK”回到主窗口,选择“Flie”→“Save”保存文件为“”。
⑤按第2步中的“⑥”和“⑦”两个步骤将“”导入到数据库。
4.创建ElTorito实时运行镜像(ElToritorun-timeimage)
①在开始菜单中选择“TargetDesigner”,在弹出窗口中选择“File”→“New”,命名为“MyXPEmbedded”后按“OK”
(图10)。
②“TargetDesigner”的窗口共分为4部分,上面左侧窗口中显示所有组件的列表,先前导入的“Enable
AutoLayout_Settings”和“Mydevices-hardware”组件就放在根目录下。中间窗口中显示新建的“MyXPEmbedded”系统
的组件列表,此时还没有任何组件。右侧窗口则用于显示“MyXPEmbedded”系统组件的属性和设置窗口。下面的大窗口显
示制作信息,有“Tasks”、“Messages”和“Debug”3个标签(图11)。
③双击左侧窗口中的“EnableAutoLayout”和“Mydevices-hardware”组件,将它们添加到中间的“MyXPEmbedded”窗
口中。
④展开左侧窗口中的“DesignTemplates”,双击添加“Windows-basedTerminalProfessinal”组件,这个组件中包含
了一个最小化XPEmbedded所必需的基本组件。
⑤展开左侧窗口中的“Software”→“System”→“Storage&FlieSystem”→“Infrastructure”→“FlieSystems”,
双击添加“FAT”组件。再展开左侧窗口中的“Software”→“System”→“Storage&FlieSystem”→“Applications”,
双击添加“FATformat”组件。这一步是为实时运行镜像设置文件系统。
⑥展开左侧窗口中的“Software”→“System”→“SystemServices”→“Base”,双击添加“ElToritoCD”、“EWFNTLDR”
和“EnhancedWriteFilter”组件。然后展开中间窗口中的“EnhancedWriteFilter”组件,选择“Settings”,在右侧
窗口中将“StartEWFEnabled”复选框中的对勾清除(图12)。
⑦展开左侧窗口中的“Software”→“System”→“UserInterface”→“Shells”,双击添加“Explorershell”组件。
再展开“WindowsShells”子目录,双击添加“UserInterfaceCore”组件,并在其“Settings”窗口中选中“ShowRunon
StartMenu”一项(图13)。
⑧展开左侧窗口中的“Software”→“System”→“Management”→“Applications”,双击添加“EWFManagerConsole
Application”组件。再展开“Software”→“System”→“International”→“Infrastructure”,双击添加“Chinese-
SimplifiedLanguageSupport”。
⑨至此添加组件工作完成,下面检验工作成果,选择菜单“Configuration”→“CheckDependencies”开始从属性检查(时
间比较长),没有问题的话会报告“Noerrorsorwarnings”(图14)。下面就可以建立实时运行镜像了:选择“Configuration”
→“BuildTargetImage”,在弹出窗口中设置镜像存放位置,然后按“Build”开始建立镜像(镜像大约需占用135MB硬盘
空间,图15)。
⑩打开存放镜像的文件夹(默认为:D:WindowsEmbeddedImages),将其下所有文件及目录拷贝至目标区。
5.建立pre-FBACD
现在就可以用目标区中的文件创建光盘镜像了,用这个镜像刻录的CD被称作pre-FBACD,它并不是我们最终需要的光盘,
所以建议用CD-RW盘片刻录。
①进入目录:C:ProgramFilesWindowsEmbeddedutilities,执行“”,这是一个32位的命令行程序,有
类似“Fdisk”的文字菜单(图16)。
②按“1”键选择“CreateanISO-9660/ELTORITObootableimagefile.”进入ISO镜像创建菜单(图17)。
③按“2”键选择“Setphysicaldrive.”,界面中会显示出电脑中所有的硬盘,编号从“0”开始。目标区位于第二块硬
盘,所以该硬盘的编号应该是“1”,按“1”键选择“.physicaldrive1”后退回至上一级菜单(图18)。
④按“3”键选择“Selectpartition(s)”进入选择分区菜单。按“1”键选择“BOOTABLE,BIGDOS,322MB[NotSelected]”,
选择后中括号内的“NotSelected”变为“Selected”(图19),然后按“P”键返回上一级菜单。
⑤按“4”键选择“Setimagefilepath”。即存放光盘镜像的位置,存放该镜像的分区至少要有700MB剩余空间,输入
路径及文件名,如“G:”(图20),按回车返回上一级菜单。
⑥按“5”键选择“AdvancedOptions”。进入高级设置界面(图21),其中必须要设置的项目只有一个:“Specifydisk
signature”。按“2”键进入该项设置,在这里需要输入一串数字,启动“TargetDesigneras”,展开“ElToritoCD”组
件,在其设置项中就有我们需要的那串数字(图22)。输入数字后回车退至上一级菜单,该值自动转化为16进制数字。按
“P”键退出高级设置菜单。
⑦按“6”键选择“CreateImagetopackagetheISOimage”开始创建光盘镜像,此过程需要较长时间,创建完毕后按
“Q”键退出。
⑧用NeroBurningROM或其他刻录软件将制作好的镜像刻到CD-RW盘片上,至此“pre-FBACD”制作完毕。由于Windows
无法识别这个镜像中的文件格式,所以查看光盘时内容空空如也,但322MB的容量可以显示出来。
6.引导硬盘上的ElToritoRun-Time镜像
当pre-FBACD制作完毕后,就可通过它引导目标硬盘上的ElToritoRun-Time镜像了。关机卸下系统硬盘(在BIOS中关
闭系统硬盘亦可),在BIOS中将启动方式设置为从光盘启动,并将pre-FBACD放入CD-ROM驱动器中。系统首先从pre-FBA
CD启动,加载相关信息之后,便把“权力”转让给硬盘中的镜像继续完成引导,这个引导过程中系统会不断从pre-FBACD
中读取信息,完成XPEmbedded的配置,这个过程被称为FirstBootAgent(FBA),要经过两次重启才能完成。另外,Enhanced
WriteFilter(EWF)也在这个阶段开始工作并创建一个临时配置分区(图23)。
进入XPEmbedded界面后,需要确定EWF的状态,下面的操作均在XPEmbedded系统内完成。
①确认所有EWFVolume的配置情况,在“开始”→“运行”中输入CMD并回车,调出命令提示符界面。然后键入“”,
如果EWFVolume配置正确,则会显示EWFVolume的情况。
②确认C分区是否为受EWF保护的分区,在“命令提示符”界面中输入“EwfmgrC:”,如果配置正确,则会显示Protected
Volume的信息。
④选择“开始”→“程序”→“Windows资源管理器”。查看你的系统中是否包括磁盘“ElToritoCD”(实际上就是光
驱中的pre-FBACD,不过它在XPEmbedded中被当作卷名为“ElToritoCD”的磁盘)和目标区。
⑤如果上述检查都正常,那么你就可以对这个ElToritoRun-Time镜像进行更多的定制了,如增加应用程序等,增加软件
的方法和在WinXP中安装软件的方法一样,很简单吧?
7.运行“”
制作最终的系统光盘前还需要执行程序“”,这个工具执行如下任务:删除目标盘上在FBA过程中建立的EWF
配置分区;交换“ElToritoCD”磁盘和目标区的驱动器符号,这一步过后,就无法通过目标区中的“ElToritoRun-Time”
镜像启动了。
①调出“命令提示符”界面,进入“Windowssystem32”目录并运行如下命令:etprep/all。
②如果操作成功会显示如下文字:
DeletedEWFpartitions=1.
SwappedElToritovolumedriveE:withBootvolumeC:.
③在执行“”后,系统会自动重启,由于目标区已经无法引导系统,所以重启后手动关闭计算机。如果没有自
动重启,手动关闭机器即可。
8.制作最终的XPEmbeddedBootableCD
现在可以制作最终的系统光盘了。这个过程与制作pre-FBACD的过程一模一样,请按“5.”中所述步骤制作最终的光盘镜
像。在刻录成CD前,最好使用虚拟PC软件测试一下这个镜像,但要注意只有VMware的虚拟PC软件能正确使用此镜像
更多推荐
irfanview
发布评论