无忧启动论坛

标题: [转帖]使用 Windows PE 和 SDI 创建嵌入式恢复 CD [打印本页]

作者: wlyh    时间: 2006-3-20 19:55
标题: [转帖]使用 Windows PE 和 SDI 创建嵌入式恢复 CD

http://www.uml.org.cn/embeded/200506245.htm

使用 Windows PE 和 SDI 创建嵌入式恢复 CD
来源:www.microsoft.com 作者:Kevin Otnes
摘要
本文将解释如何打包 Microsoft® Windows® Preinstallation Environment (Windows PE)、系统部署映像 (SDI) 文件和 SDI 工具,以创建恢复 CD。通过该恢复 CD,可以用 Windows PE 启动设备,然后通过从 SDI 文件安装映像来还原设备上的映像。
通过对本文中概述的过程进行少量的修改,您可以使用 Windows PE 和 SDI 将 Windows XP Embedded 部署到设备中,或者升级现场中的现有设备。
Windows PE 对于很多 Windows Embedded 开发任务也很有用,其中包括启动没有硬盘的设备、硬件检测以及对设备上的映像进行微调。
本页内容
流程图:使用 Windows PE 和 SDI 进行恢复、现场升级或部署

简介

要求

生成和部署 Windows XP Embedded 映像

启动并测试,直到具有主映像

在开发计算机上创建 SDI 文件

将主映像复制到 SDI 文件/装入的驱动器

选择 Windows PE 选项

将 SDI 文件、Windows PE 和 SDIMGR.WSF 工具复制到 Working 文件夹

创建可启动的 CD

用 CD 启动设备,并安装映像

复制恢复 CD,并且随安装说明一起分发

网络部署

更多信息
流程图:使用 Windows PE 和 SDI 进行恢复、现场升级或部署

 
简介
通过 Microsoft® Windows® Preinstallation Environment (Windows PE) 和系统部署映像 (SDI) 文件创建恢复 CD,可以启动设备(无论设备上的当前操作系统的状态如何)和安装恢复映像。在安装恢复映像之后,就可以从该恢复映像中重新启动设备了。
该恢复过程不会修复个别文件;相反,它会在设备上安装其出厂时具有的完整映像。设备上的所有现有文件、数据和设置以及自设备出厂之后进行的任何更改都会被该映像替换。恢复 CD 不是用于部署或升级个别组件、设置或 QFE 的方法。
要求
要完成本文中概述的过程,您将需要下列工具和程序:

Microsoft Windows XP Embedded with Service Pack 2
提供用于生成 Microsoft Windows XP Embedded 映像的工具以及用于创建和安装 SDI 映像的实用工具。还提供一个独立版本的 Windows PE,它可以从安装盘运行或者不经修改即添加到恢复 CD 中。

Windows PE 工具包或 OEM 预安装工具包 (OPK)
提供用于自定义 Windows PE 的工具,并且为实际的恢复 CD 创建所必需。要使恢复 CD 可用 Windows PE 启动,需要用 oscdimg.exe 工具创建 .iso 映像并且包含 etfsboot.com(它只能通过 Windows PE 工具包或 OPK 得到)。可以从 Microsoft Windows Embedded 分发服务器中获得 Windows PE 工具包。

Windows XP Embedded 映像
提供您将要在恢复 CD 中包含的主映像。如果您尚未创建主映像,则需要创建一个,以便借助于恢复 CD 进行部署。

基于 Windows XP Embedded 的设备
提供用于完善将要包含在恢复 CD 中的主映像的设备,并且提供用于在创建恢复 CD 之后对其进行测试的设备。

符合 ISO 9660 的 CD 烧录软件
在用 oscdimg 工具和 ETFSboot.com 文件创建 .iso 文件之后,需要使用符合 ISO 9660 的 CD 烧录软件将其烧录到 CD 中。
生成和部署 Windows XP Embedded 映像
用于恢复映像的映像应当与在已交付设备上安装的映像匹配。
如果您要主部署该映像,则该映像将成为主映像。如果设备中已经具有主映像,则可以直接跳到在开发计算机上创建 SDI 文件。
如果您还没有为设备创建主映像,则应当在代表最终硬件配置的测试设备上生成和部署映像。生成和部署过程通常遵循以下顺序:

为目标设备创建组件。

创建新配置。

更新配置设置。

检查依赖项。

生成 Windows XP Embedded 运行时映像,直到没有错误和警告。

部署 Windows XP Embedded 运行时映像。

另外,还应当包含更新和维护功能(独立于恢复 CD)。
启动并测试,直到具有主映像
在将映像部署到设备中以后,就需要启动设备。这使您可以:

完成 First Boot Agent (FBA) 阶段。

发现可能存在的运行时映像或启动错误。

验证设备和应用程序能够正常工作。

执行 FBA 之后的其他配置更改或自定义(如果需要)。

注 对于大规模部署,应当在完成 FBA 之后重封设备。这可以确保在部署该映像时,每个设备都具有唯一的安全 ID (SID) 和计算机名称。
重新生成、启动和重新测试,直到设备正常工作。最终映像应当满足以下条件:

映像成功启动并且能够在目标设备上正确运行。

所有无关的应用程序都已经移除 — 请移除您不希望出现在客户设备上的任何内部诊断、测试和调试应用程序。

已经重封了运行时映像,以便在部署该映像时,在每个设备上创建新的且唯一的 SID。

该映像在可从开发计算机访问的驱动器中脱机提供。这可以是已装入的 SDI 卷、开发计算机上的文件夹或通用命名约定 (UNC) 网络路径。
在开发计算机上创建 SDI 文件
使用 SDI 创建开发计算机上的已分区且已格式化的磁盘的映像。使用 SDI,在计算机中创建一个 SDI 文件,该文件随后将显示为已装入的常规驱动器(可以向其中添加文件)。
要创建 SDI 文件:
1.
在 Start 菜单上,单击 All Programs,指向 Microsoft Windows Embedded Studio,然后单击 SDI Loader。
Storage Device Image Loader 对话框出现。

2.
单击 Add Disk。

3.
指定一个新的文件名,例如“recovery.sdi”。

4.
单击 Open,然后单击 Yes 以确认您希望创建该文件。

5.
指定您要创建以存放运行时映像的磁盘的大小,然后单击 OK。
请将该大小设置为仅比主映像的总大小略大一些。在大多数情况下,可以将其设置为 490 MB。根据您是使用 74 分钟还是 80 分钟的 CD-R,恢复 CD 可以存放大约 650 到 700 MB 的数据。恢复 CD 将包含下列内容:

Windows PE(未经修改,154 MB;自定义版本可能更大或更小,具体取决于您所做的更改)

SDI 文件(400 到 490 MB)

SDI 管理器(sdimgr.wsf,217 KB)

一些小的杂项文件(每个 1 KB)

您希望在映像外部包含的其他任何附加文件

给定这些默认大小,您可能在光盘上具有 40 到 200 MB 的可用空间,具体取决于光盘容量。
“Found New Hardware”(发现新硬件)通知出现在新的 SDI 磁盘和磁盘驱动器的任务栏通知区域中。

6.
单击 Done。

要将SDI 文件初始化为磁盘驱动器:
1.
在 Start 菜单上,单击 Control Panel,然后双击 Administrative Tools。

2.
双击 Computer Management,然后单击 Disk Management。
“Initialize and Convert Disk Wizard”出现。

3.
单击 Next 接受默认设置,然后单击 Finish 完成该向导。

4.
在“Computer Management”窗口的底部窗格中,找到您刚刚创建的新磁盘。右键单击显示 Unallocated 的区域,然后单击 New Partition。

5.
执行“New Partition Wizard”中的步骤以完成下列工作:

使用默认值创建主启动分区。

指定分区大小。接受默认值(该值比您为在上一个过程中创建的 SDI 文件指定的大小略小)。

分配驱动器号。接受默认值,或者根据需要更改。

指定文件系统。接受默认值,即 NTFS。

通过选择 Perform a quick format 格式化该分区。

6.
单击 Next,然后单击 Finish。
根据磁盘的大小,可能需要花费几分钟来格式化该驱动器。

7.
右键单击新卷,然后单击 Mark Partition as Active。
您现在应当具有一个带有驱动器号的驱动器,并且它已准备好接收映像。
将主映像复制到 SDI 文件/装入的驱动器
在该阶段,您将使用您作为装入的驱动器创建的 SDI 文件。它在“My Computer”中显示为驱动器,并且您可以向它添加文件。SDI 文件将只用来存储主映像。在将该映像复制到装入的驱动器之后,可以卸除该驱动器,以便它只是一个可以移动或复制的文件。
要完成 SDI 文件并卸除该驱动器:
1.
找到包含主映像的文件夹或驱动器(例如,C:\),并且将该文件夹的内容复制到刚刚创建的装入的 SDI 磁盘驱动器(例如 G:\)。

2.
如果得到 Confirm Folder Replace 对话框,则单击 Yes 以将现有的“System Volume Information”文件夹(在新的虚拟磁盘上)替换为您要从主映像中复制的版本。

3.
采用下列方式之一,从计算机中卸除该磁盘:
在 Start 菜单上,单击 All Programs,指向 Microsoft Windows Embedded Studio,然后单击 SDI Loader。选择要移除的映像,然后单击 Remove Disk。
例如,单击 C:\recovery.sdi,然后单击 Remove Disk。这样做会将其作为映射驱动器移除。现在,您可以将其作为文件移动或复制。
或者
在任务栏通知区域中,右键单击 Safely Remove Hardware 图标以卸除 SDI 文件。
选择 Windows PE 选项
无论您在恢复 CD 上使用哪个版本的 Windows PE,都必须使用 Windows PE 工具包或 OEM 预安装工具包 (OPK) 来完成实际烧录 CD 之前的最后步骤。在创建 .iso 文件(它是整个 CD 的映像文件)时,必须使用 oscdimg 工具和 etfsboot.com。这些工具只能在 Windows PE 工具包或 OPK 中得到。Oscdimg.exe 用于创建 .iso 文件,而 etfsboot.com 用于创建 CD 启动扇区。如果您使用其他软件来创建 .iso 映像,则 CD 将无法启动。在创建了该 .iso 文件之后,就可以用任何能够烧录符合 ISO-9660 的映像的软件烧录 CD。
Windows PE 以下列两种形式提供:

独立版本
Windows PE 在 Windows XP Embedded CD ROM 光盘 1 或单独的 Windows PE 光盘中提供,具体取决于您是具有全价产品还是升级产品。在这种形式下,可以将它用作启动盘来执行很多开发任务。还可以将它与 SDI 一起包含在恢复 CD、部署盘或现场升级盘中,以支持 SDI 映像的安装和部署。
要在 CD ROM 或部署中使用该版本,需要从 Windows XP Embedded CD ROM 光盘 1 中复制整个 I386 文件夹(文件夹和文件夹名称)。

可自定义的版本
您还可以用单独授权的 Windows PE 工具包或者用 OPK 中包含的 Windows PE 工具创建自己的自定义版本 Windows PE。
要创建可自定义的版本,请按照 Windows PE 帮助(与 Windows PE 工具包和 OPK 一起提供)中的说明操作。

可以从 Microsoft Windows Embedded 分发服务器中获得 Windows PE 工具包。
在每一种形式下,都有对 Windows PE 的使用和再分发进行管理的特定的授权限制。有关详细信息,请参阅版本所随附的适当的许可证。
下表显示了如何将 Windows PE 与 Windows XP Embedded 分发相结合。
分发
说明

恢复 CD
包含 Windows PE 和 SDI,作为恢复映像。通常位于物理设备上,与要在现场使用的设备一起交付,以便重新安装工厂映像。

现场升级 CD
包含 Windows PE 和 SDI,作为可以用来升级一直在运行 Windows NT Embedded 或非 Microsoft 操作系统的嵌入式设备的映像。
要求有经过签名的 2004 版本 Field Upgrade Additional Rights Agreement(间接)或版本 2 Field Upgrade Schedule(直接)。
可以将该光盘独立于设备进行交付,以便可以将其部署到现场中的设备上。

部署 CD 或 RIS 服务器
包含 Windows PE 和 SDI,以便进行工厂内部署。可以通过使用部署光盘或者通过使用 RIS 服务器,将它们结合起来使用,以便将初始安装部署到嵌入式设备中。。
可以将该光盘独立于设备进行交付,以便可以将其部署到现场中的设备上。
将 SDI 文件、Windows PE 和 SDIMGR.WSF 工具复制到 Working 文件夹
在创建了映像文件并且选择或自定义了某个版本的 Windows PE 以后,就可以装配恢复光盘组件了。
1.
在开发计算机上创建一个新的工作文件夹。
例如,创建一个名为“Working”的文件夹。

2.
将 recovery.sdi 文件复制到 Working 文件夹。

3.
采用下列方式之一,将 Windows PE 复制到 Working 文件夹:
将 Windows XP Embedded 光盘 1 插入计算机,并且将以下内容复制到 Working 文件夹:

I386 文件夹

win51 文件

win51ip 文件

win51ip.SP2 文件

winbom.ini

或者
将 Windows PE 的自定义版本复制到 Working 文件夹。

4.
将 sdimgr.wsf 从 Windows Embedded\utilities 文件夹复制到 Working 文件夹。
例如,如果 C:\ 是开发计算机上的主驱动器,则 sdimgr.wsf 应当位于 C:\Program Files\Windows Embedded\utilities 中。

5.
从 Windows PE 光盘的 I386\SYSTEM32 文件夹中,将 sdiaut.dll 复制到 Working 文件夹。

6.
将您需要的其他任何文件复制到 Working 文件夹,例如,安装说明或您希望在 SDI 文件中包含的映像外部安装的其他文件。
在将需要的所有文件复制到 Working 文件夹以后,应当得到如下结果:

 
创建可启动的 CD
在工作文件夹中包含所有需要的文件以后,就可以创建一个 .iso 文件并且将该文件烧录到 CD 中。要烧录 CD,需要使用能够烧录符合 ISO-9660 的映像的软件。
注 必须使用 oscdimg.exe 和 etfsboot.com 创建该 .iso 文件。这些工具只能在 Windows PE 工具包或 OPK 中得到。Oscdimg.exe 用于创建 .iso 文件,而 etfsboot.com 用于创建 CD 启动扇区。如果使用其他软件来创建 .iso 映像,则 CD 将无法启动。
要用 OPK/Windows PE 工具包 oscdimg 实用工具创建 .iso 文件:
1.
找到 OPK 和 Windows PE 工具包中随附的 winpe.chm 帮助文件。

2.
搜索主题“Creating a Customizable Windows PE Image”和/或“Creating a Custom Windows PE CD”。
用 CD 启动设备,并安装映像
1.
请确保将目标设备配置为允许从 CD ROM 启动。通常,这在目标设备的 BIOS 中指定。

2.
用 CD 驱动器中的恢复 CD ROM 启动目标设备。
设备在 Windows PE 中启动,并且在驱动器 X: 提供命令提示。

3.
在命令提示处,键入:
regsvr32 sdiaut.dll
这会注册 SDI 管理器。

4.
将目录更改到 SDI 文件的位置,然后键入:
sdimgr.wsf recovery.sdi /writedisk:0 /yes  
这会告诉 SDI 管理器将 DISK Blob 从 SDI 文件“recovery.sdi”中写入物理驱动器 0。/yes 开关可以防止意外擦除驱动器上的数据。否则,磁盘写入操作会擦除所有数据。
SDI 管理器将映像写入磁盘,并且显示类似如下所示的消息:
*Writing to disk  :"\\.\PhysicalDrive0"...

5.
当消息显示写入完成时,请退出 Windows PE,取出 CD ROM,并重新启动计算机。

6.
测试设备上的运行时映像。根据需要进行疑难解答,直到您具有从烧录的 CD 中安装并且能够正确运行的映像。
复制恢复 CD,并且随安装说明一起分发
在具有完善的 CD 以后,就可以复制该 CD 并且将其随安装说明一起分发了。根据您打算如何使用该 CD,您的说明应当解释如何使用它来进行恢复、部署或现场升级。
您的说明可以简单到只是告诉用户在目标设备中插入该 CD、启动、让它运行它的过程,然后在收到重新启动的提示时取出该 CD。您可能希望创建一个批处理文件,以自动注册 sdiaut.dll 并运行 sidmgr.wsf。您还可能希望包含后安装说明,以供当设备在它的新映像中重新启动时使用。
网络部署
部署 Windows XP Embedded 映像的另一种方式是使用 Preboot eXecution Environment (PXE) 启动技术、RIS、Windows PE 和 SDI。
在已经自定义 Windows PE 以部署 SDI 磁盘映像之后,必须将 Windows PE 的可启动版本放到 RIS 服务器上。这会为目标设备(带有 PXE 支持)提供从 RIS 服务器启动 Windows PE 的能力。Windows PE 随后会将 SDI 磁盘部署到该设备。本文不打算详细介绍设置 RIS 服务器的过程。
在 RIS 服务器上使用 Windows PE 需要:

Windows XP 产品光盘和具有相同内部版本号的 Windows PE 光盘,或者 Windows XP Embedded 安装光盘中的独立版本 Windows PE

正确配置的带有 Service Pack 2 (SP2) 或更高版本安装的 Windows 2000

具有支持 PXE 的网络接口卡 (NIC) 或者具有由 RIS 启动盘支持的 NIC 的目标计算机

Windows 2000 或更高版本的 RIS 服务器

要创建 RIS 映像并且从该映像中启动:
1.
在 RIS 服务器上,打开命令提示并运行 RISetup.exe –add。

2.
在显示提供来源的提示时,使 RISetup 指向 Windows XP 产品光盘。

3.
浏览到 RISetup 安装映像的位置,例如,\\Server_name\Share_name\REMINST\Setup\Language\Images。

4.
在新映像的文件夹中,打开 I386 文件夹。

5.
浏览 Windows XP Embedded Service Pack 1 光盘(它包含 Windows PE 文件),并且打开 I386 文件夹。

6.
将 Windows PE I386 文件夹的内容复制到刚刚打开的新 I386 文件夹中(如果显示提示,则改写所有文件)。

7.
在刚刚复制过去的 I386 文件夹中,打开 Templates 文件夹。

8.
在文本编辑器中打开 RIStndrd.sif 文件,并且在以 OSLoadOptions 开头的行中,添加开关 /minint。

9.
将 sdimgr.wsf 从 Windows XP Embedded 光盘 1 上的 Windows XP Embedded 文件夹复制到 Windows PE I386\System32 文件夹。

10.
如果您希望自动执行安装 SDI 磁盘 (gold.sdi) 的过程,请修改 I386\System32 文件夹中的 startnet.cmd。

11.
启动 RIS 客户端,并且选择在步骤 1 中创建的操作系统映像。Windows PE 将启动。

 
版权所有:UML软件工程组织




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