制作最终的XP Embedded Bootable CD


作为日常维护工具,Super WinPE已足够强大,但它也存在不少缺憾,如声卡驱动的问题尚未解决等,所以它只能算是嵌入式操作系统的一个体验版而已。微软现在主推的嵌入式操作系统是Windows XP Embedded(以下简称XP Embedded),类似于声卡驱动的问题,在XP Embedded中只不过是一个加入组件的简单操作。尽管XP Embedded不是为台式机设计的,但它的可定制性很强,且在容量、便携性、存储介质等方面的优势都是桌面操作系统无法企及的。下文将具体介绍如何制作一张属于你自己的XP Embedded光盘。

 首先下载带SP1XP Embedded评估版,试用期120天。下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=257343f0-a931-4a5e-aaef-08f1cd4b0a80&DisplayLang=en,在这里下载的是一个网络安装的客户端,所以只有119kB。执行该程序(XPEFFI.exe),出现提示注册的对话框,选进入下载界面,同时程序会打开一个注册网页,在其中填好带“*”的内容,注意E-mail地址必须是真实可用的,因为XP Embedded的注册码将被发送到这里。通常你很快就能收到带有注册码的E-mail,最多不会超过24小时。再来看看下载界面(图1),在这里可以选择保存位置,设置好后选择“Start Download”即可,一共需下载7个压缩包,总容量603MB,该客户端支持断点续传,所以无论下载出错还是断线都没关系。下载完毕后压缩包将被自动解压至“C:\Program Files\Windows Embedded\Installer”中,容量为627MB。开始安装前,确保“D”区内有3GB可用空间(数据库默认安装在D区中),然后进入“disk1”目录,执行“Setup”开始安装(图2)。

 依次安装工具Tools)、数据库引擎Database Engine)和数据库Database),在某些电脑中安装数据库引擎时可能会报错,提示缺少强密码Strong Password),没关系,只要加参数执行安装程序即可。选择开始运行,输入如下内容:"C:\Program Files\Windows Embedded\Installer \disk1\SQLMSDE\setup.exe" SAPWD="1"“SAPWD”参数用于指定强密码,强密码可随便定义,用“1”即可。

 安装完毕后开始菜单中会增加一个名为“Microsoft Windows Embedded Studio”的菜单项(下文中在开始菜单里所做的选择都在此菜单项中进行的),下面我们就可以开始制作光盘了,请严格按照下面的步骤进行,任何一点疏忽都可能前功尽弃。

 1.准备工作

 首先做一些硬件方面的准备:至少需要一台刻录机和两块硬盘。第一块硬盘就是操作系统所在的硬盘,对分区没有什么特殊要求,但操作系统必须是Windows 2000/XP/Server 2003。第二块硬盘是制作光盘的关键,此盘中的分区数量不得大于4个,并且要保留至少8MB未分区空间,第一个分区为主分区,分区格式为FAT16,容量必须小于一张光盘的容量(650MB700MB),根据我们这次讲解的内容计算,分成300MB即可。所有分区工作都可在Windows中完成,这里不再赘述,分完区千万不要忘记激活第二块硬盘的主分区(下文中称该主分区为目标区,第二块硬盘为目标盘,第一块硬盘为系统盘)。

 分好区后,将“C:\Program Files\Windows Embedded\utilities\”中的“BOOTPREP.exe”拷贝至目标区,由于这是一个16位程序,所以必须在DOS下运行。重启电脑,进入BIOS(一般是按“Del”键或“Ctrl+Alt+Esc”组合键),将系统盘设为“None”(当然,也可以关闭电脑,拆下系统盘),再设置首先从软盘或光盘启动(视你想用哪种方法启动而定),保存退出。使用Win98光盘或启动软盘引导至DOS界面下,输入“C:”,然后回车进入C盘,也就是目标区,再输入“BOOTPREP”并回车,按两次“Y”确认后,目标盘设置完成。

 2.创建“EnableAutoLayout”组件并导入

 打开开始菜单中的“Component Designer”,在打开的程序界面中选择菜单“File”“New”创建一个新的“sld”文件。

 展开窗口左侧的“Windows XP Embedded Client (x86)”目录,并在“Components”目录上单击右键,选择“Add Component”

 在右侧新建窗口的“Name”区内输入一个名称,例如“EnableAutoLayout_Settings”(图3)。

 右键单击左侧窗口中的“Registry Data”,选择“Add”“Registry Data”,在弹出的“Add Component Registry Resources”对话框中分别填写以下值(图4):

 Root: HKEY_LOCAL_MACHINE
 Key name: SOFTWARE\Microsoft\ Windows\CurrentVersion\OptimalLayout
 Value name: EnableAutoLayout
 Type: REG_DWORD
 Value: 0

 选择“Default”单选框,按“OK”回到主窗口,选择“Flie”“Save”保存为“EnableAutoLayout.sld”,下面将该文件导入数据库。

 在开始菜单中选择“Component Database Manager”,在“Database”标签窗口中选择“Import”(图5)。在弹出对话框的“SLD file”一栏中找到刚刚保存的“EnableAutoLayout.sld”文件。

 最后选择“Import”开始导入组件(图6),导完后关闭所有对话框。

 3.创建“Target hardware device drivers”组件并导入

 进入目录:C:\Program Files\Windows Embedded\utilities\,执行“tap.exe”,很快便在同一目录中生成一个“devices.pmq”文件。

 在开始菜单中选择“Component Designer”,在弹出窗口中选择“Flie”“Import”,导入“devices.pmq”文件(导入时间较长,图7)。

 导入完毕,选择窗口左侧的“Components”“devices”,在右侧窗口的“Name”文本框中填写“My devices-hardware”(图8)。

 单击右侧窗口中“Prototype”栏旁的“Browse”按钮,在弹出窗口中选中“Software”“Test&Development”“Selector Prototype Component”(图9)。按“OK”回到主窗口,选择“Flie”“Save”保存文件为“Mydevices.sld”

 按第2步中的两个步骤将“Mydevices.sld”导入到数据库。

 4.创建El Torito实时运行镜像(El Torito run-time image

 在开始菜单中选择“Target Designer”,在弹出窗口中选择“File”“New”,命名为“My XP Embedded”后按“OK”(图10)。

 “Target Designer”的窗口共分为4部分,上面左侧窗口中显示所有组件的列表,先前导入的“Enable AutoLayout_Settings”
“My devices-hardware”组件就放在根目录下。中间窗口中显示新建的“My XP Embedded”系统的组件列表,此时还没有任何组件。
右侧窗口则用于显示“My XP Embedded”系统组件的属性和设置窗口。下面的大窗口显示制作信息,有“Tasks”“Messages”
“Debug”3
个标签(图11)。

 双击左侧窗口中的“EnableAutoLayout”“My devices-hardware”组件,将它们添加到中间的“My XP Embedded”窗口中。

 展开左侧窗口中的“Design Templates”,双击添加“Windows-based Terminal Professinal”组件,这个组件中包含了一个
最小化XP Embedded所必需的基本组件。

 展开左侧窗口中的“Software”“System”“Storage & Flie System”“Infrastructure”“Flie Systems”
双击添加“FAT”组件。再展开左侧窗口中的“Software”“System”“Storage & Flie System”“Applications”
双击添加“FAT Format”组件。这一步是为实时运行镜像设置文件系统。

 展开左侧窗口中的“Software”“System”“System Services”“Base”,双击添加“El Torito CD”EWF NTLDR”
“Enhanced Write Filter”
组件。然后展开中间窗口中的“Enhanced Write Filter”组件,选择“Settings”,在右侧窗口中将
“Start
EWF Enabled”复选框中的对勾清除(图12)。

 展开左侧窗口中的“Software”“System”“User Interface”“Shells”,双击添加“Explorer shell”组件。再展开
“Windows Shells”
子目录,双击添加“User Interface Core”组件,并在其“Settings”窗口中选中“Show Run on Start Menu”
一项(图13)。

 展开左侧窗口中的“Software”“System”“Management”“Applications”,双击添加EWF Manager Console Application”
组件。再展开“Software”“System”“International”“Infrastructure”,双击添加“Chinese - Simplified Language Support”

 至此添加组件工作完成,下面检验工作成果,选择菜单“Configuration”“Check Dependencies”开始从属性检查(时间比较长),
没有问题的话会报告“No errors or warnings”(图14)。下面就可以建立实时运行镜像了:选择“Configuration”
“Build Target Image”
,在弹出窗口中设置镜像存放位置,然后按
“Build”
开始建立镜像(镜像大约需占用135MB硬盘空间,图15)。

 打开存放镜像的文件夹(默认为:D:\Windows Embedded Images\),将其下所有文件及目录拷贝至目标区。

 5.建立pre-FBA CD

 现在就可以用目标区中的文件创建光盘镜像了,用这个镜像刻录的CD被称作pre-FBA CD,它并不是我们最终需要的光盘,
所以建议用CD-RW盘片刻录。

 进入目录:C:\Program Files\Windows Embedded\utilities\,执行“Hd2iso.exe”,这是一个32位的命令行程序,有类似“Fdisk”的文字菜单(图16)。

 “1”键选择“Create an ISO-9660/ELTORITO bootable image file.”进入ISO镜像创建菜单(图17)。

 “2”键选择“Set physical drive.”,界面中会显示出电脑中所有的硬盘,编号从“0”开始。目标区位于第二块硬盘,所以该硬盘的编号应该是“1”,按“1”键选择“\\.\physicaldrive1”后退回至上一级菜单(图18)。

 “3”键选择“Select partition(s)”进入选择分区菜单 。按“1”键选择“BOOTABLE, BIGDOS, 322MB [Not Selected]”,选择后中括号内的“Not Selected”变为“Selected”(图19),然后按“P”键返回上一级菜单。

 “4”键选择“Set image file path”。即存放光盘镜像的位置,存放该镜像的分区至少要有700MB剩余空间,输入路径及文件名,如“G:\xpos.iso”(图20),按回车返回上一级菜单。

 “5”键选择“Advanced Options”。进入高级设置界面(图21),其中必须要设置的项目只有一个:“Specify disk signature”。按“2”键进入该项设置,在这里需要输入一串数字,启动“Target Designeras”,展开“El Torito CD”组件,在其设置项中就有我们需要的那串数字(图22)。输入数字后回车退至上一级菜单,该值自动转化为16进制数字。按“P”键退出高级设置菜单。

 “6”键选择“Create Image to package the ISO image”开始创建光盘镜像,此过程需要较长时间,创建完毕后按“Q”键退出。

 Nero Burning ROM或其他刻录软件将制作好的镜像刻到CD-RW盘片上,至此“pre-FBA CD”制作完毕。由于Windows无法识别这个镜像中的文件格式,所以查看光盘时内容空空如也,但322MB的容量可以显示出来。

 6.引导硬盘上的El Torito Run-Time镜像

 当pre-FBA CD制作完毕后,就可通过它引导目标硬盘上的El Torito Run-Time镜像了。关机卸下系统硬盘(在BIOS中关闭系统硬盘亦可),在BIOS中将启动方式设置为从光盘启动,并将pre-FBA CD放入CD-ROM驱动器中。系统首先从pre-FBA CD启动,加载相关信息之后,便把权力转让给硬盘中的镜像继续完成引导,这个引导过程中系统会不断从pre-FBA CD中读取信息,完成XP Embedded的配置,这个过程被称为First Boot AgentFBA),要经过两次重启才能完成。另外,Enhanced Write FilterEWF)也在这个阶段开始工作并创建一个临时配置分区(图23)。

 进入XP Embedded界面后,需要确定EWF的状态,下面的操作均在XP Embedded系统内完成。

 确认所有EWF Volume的配置情况,在开始运行中输入CMD并回车,调出命令提示符界面。然后键入“Ewfmgr.exe”,如果EWF Volume配置正确,则会显示EWF Volume的情况。

 确认C分区是否为受EWF保护的分区,在命令提示符界面中输入“Ewfmgr C:”,如果配置正确,则会显示Protected Volume的信息。

 选择开始程序“Windows 资源管理器。查看你的系统中是否包括磁盘“El Torito CD”(实际上就是光驱中的pre-FBA CD,不过它在XP Embedded中被当作卷名为“El Torito CD”的磁盘)和目标区。

 如果上述检查都正常,那么你就可以对这个El Torito Run-Time镜像进行更多的定制了,如增加应用程序等,增加软件的方法和在WinXP中安装软件的方法一样,很简单吧?

 7.运行“Etprep.exe”

 制作最终的系统光盘前还需要执行程序“Etprep.exe”,这个工具执行如下任务:删除目标盘上在FBA过程中建立的EWF配置分区;交换“El Torito CD”磁盘和目标区的驱动器符号,这一步过后,就无法通过目标区中的“El Torito Run-Time”镜像启动了。

 调出命令提示符界面,进入“\Windows\system32 ”目录并运行如下命令:etprep /all

 如果操作成功会显示如下文字:

 Deleted EWFpartitions = 1.
 Swapped ElTorito volume drive E: with Boot volume C: .

 在执行“Etprep.exe”后,系统会自动重启,由于目标区已经无法引导系统,所以重启后手动关闭计算机。如果没有自动重启,手动关闭机器即可。

 8.制作最终的XP Embedded Bootable CD

 现在可以制作最终的系统光盘了。这个过程与制作pre-FBA CD的过程一模一样,请按“5.”中所述步骤制作最终的光盘镜像。在刻录成CD前,最好使用虚拟PC软件测试一下这个镜像,但要注意只有VMware的虚拟PC软件能正确使用此镜像,微软的“Virtual PC”反而不行,是不是有点讽刺(图24)?进入系统后,查看系统属性,有嵌入式的字样,版本为“2002”(图25)。

posted @ 2009-12-30 22:14  clara  阅读(1226)  评论(0编辑  收藏  举报