Microsoft® Windows® XP Embedded 支持所有基于 X86 的 Intel 处理器,包括 Intel x86 和 Pentium、AMD K5/K6、Cyrix 5x86 和 6x86 CPU。
可以将 Windows NT Embedded 4.0 配置转换为 Windows XP Embedded 配置吗?
不,您不能将整个 Microsoft Windows NT® Embedded 版本 4.0 配置转换为 Windows XP Embedded 配置。
可以将使用 Windows NT Embedded 4.0 创建的 .kdf 文件转换为 Windows XP Embedded 中的 .sld 文件吗?
是的,可以。
在 Windows XP Embedded 中创建组件比在 Windows NT Embedded 中创建组件更容易吗?
是的,Windows XP Embedded 提供了 ECONVERT 工具,该工具还能够将文件和注册表项从 .kdf 格式转换为 .sld 格式。
如何将为 Windows NT Embedded 4.0 编写的应用程序移植到 Windows XP Embedded ?
在应用程序级别进行移植可能涉及到简单地复制可执行 (.exe) 文件和它的相关文件。在更复杂的级别进行移植时,可能需要使用 Microsoft Visual Studio® 工具改写源代码的某些部分,以适应不同的核心操作系统 (OS) 问题,例如在注册表项和设置方面存在的差异。您将需要使用 Windows Embedded 组件设计器在 .sld 文件中定义应用程序,以便可以将其导入到组件数据库中。
Windows XP Embedded 功能与 Windows XP 完全兼容吗?
是的,Windows XP Embedded 包含与 Windows XP 完全相同的二进制文件。
Windows XP Embedded 具有与 Windows XP 相同的功能吗?
是的,Windows XP Embedded 是 Windows XP Professional 的完全组件化版本。Windows XP Embedded 使您能够在减小了内存足迹的嵌入式设计中利用您审慎挑选的 Windows XP 功能。此外,Windows XP Embedded 还提供了嵌入式功能以支持范围宽广的设备实现。
Windows XP Embedded 是实时 OS 吗?
Windows XP Embedded 满足了绝大多数性能要求。但是,如果您的 Windows XP Embedded OS 需要更强大的实时支持,则可以利用可通过第三方供应商获得的实时扩展之一。
Windows NT Embedded 4.0 将继续受到支持吗?
是的,Windows NT Embedded 4.0 将继续受到支持。
Windows XP Embedded 是如何授权和定价的?
有关授权和定价的信息,请参阅 Web 页 How to Buy。
如何为基于 Windows XP Embedded 的平台开发应用程序或驱动程序?
您可以使用与为桌面开发应用程序相同的应用程序环境。可以在 Windows NT 4.0 零售系统上开发应用程序,而不使用嵌入式系统来开发应用程序。Microsoft Visual Studio 提供了一个为 Windows XP Embedded 开发应用程序和驱动程序的综合环境。有关提供了为基于 Windows NT 4.0 的平台开发应用程序和驱动程序所必需的文档的信息,请访问 Microsoft 嵌入式开发人员网络。
如何向目标 OS 中添加组件?
使用 Microsoft 组件设计器,可以用其他 Windows XP 开发工具可以理解的方式定义组件。该组件信息称为组件对象定义,并且具有 .sld 扩展名。
在目标设计器中,在您的配置中定位硬件抽象层 (HAL) 组件,例如 Standard PC。展开该组件的树并选择 Settings。编辑“System Pagefile”设置中的“Initial Size”和“Maximum Size”。而且,选中 Enable Pagefile support 复选框。
在 Windows XP Embedded 中,运行库可以使用哪些外壳程序?
在数据库中,存在标准的 Explorer 外壳程序、Task Manager 外壳程序以及 Command 外壳程序 (cmd.exe)。如果您要获得标准的 Windows 外壳程序体验,则应该首选 Explorer 外壳程序。Command 外壳程序通常由非常小的配置使用,并且通常与 MinLogon 一起使用。
使用 tap.exe 而不是 ta.exe。使用 tap 几乎不会出错,并且可以确定所有需要的设备。只能从 Windows 2000 或 Windows XP 中运行 tap。Tap 将查询注册表以识别 Windows 安装程序确定最适合该计算机的正确设备。Tap 的另一个缺点是,它会引入任何它习惯于在该计算机中安装但随后被删除的设备,并且它可能会将某些您可能不需要的软件枚举设备引入到您的配置中。如果发生这种情况,请从您的配置中删除不需要的组件。
第二种解决方案是:在成功安装到目标计算机上的安全生成中分析设备管理器。例如,如果您已经安装了 Windows XP 或 Windows 2000,则请打开设备管理器,并且标识在设备管理器中列出并且在目标设计器中的配置中丢失的关键设备。然后,在目标设计器中找到具有相同显示名称的设备,并将其添加到您的配置中。
如何将运行库克隆到多个目标设备?
Windows XP Embedded 包含 System Cloning 工具组件。如果将该组件添加到配置中,则会向 First Boot Agent (FBA) 过程中添加通常看不到的步骤。在系统完成 FBA 阶段 0 到 8,500 之后,系统在您的主系统上重新启动并进入“重封”阶段 8,501 到 12,000。在“重封”阶段之后,必须关闭系统并将该映像复制到磁盘。将该映像传播到多个已克隆的计算机。该映像下一次启动时,克隆阶段将开始,并且计算机的主设备中的安全标识符 (SID) 被替换为唯一的 SID。有关详细信息,请参阅 XPEHELP.chm 中的帮助文件:System Design Guide | Design Considerations | Cloning
注: 请参考 XPEHELP.chm,以了解在克隆之后需要 FBA 处理某些工作时所需的特殊设置。有关详细信息,请参阅位于帮助文件中 System Design Guide | Appendix Info | Custom Resources | FBA Generic Command 处的“Phase (integer)”解释。
如何正确设置分区大小以避免错误: “A Problem is Preventing Windows from Accurately Checking the License for this Computer - 0x 80090006” ?
如果在登录运行库时收到错误“A problem is preventing Windows from accurately checking the license for this computer.Error Code:0x80090006”,则这表明您没有在目标设计器中正确设置分区大小。在目标设计器中,必须向工具提供目标分区的大小。如果它全然不正确,则运行库将失败。默认设置为 1024 MB。要更改该设置,请在目标设计器的中心窗格中单击配置的 Settings。然后,选择 Target Device Settings 并找到 Boot Partition size 可配置设置。将该值更改为运行库将驻留的真正分区大小。
重要事项: 在重新生成运行库之前,重新运行依赖项检查。
如何在运行库中启用 “ 右键单击 ” 功能的上下文菜单?
上下文菜单默认情况下被禁用。要启用它们,必须在 User Interface Core 组件中更改可配置的设置。有两个复选框与可以修改的上下文菜单相关。
向设备中部署 Windows XP Embedded 运行库可能相当简单,但这里将提供一些可以帮助您避免失误的技巧。为了明确起见,使用“部署映像”来表示将运行库映像移动到设备并且在该设备上启动运行库;并且为了简单起见,使用标准的集成设备电路 (IDE) 硬盘驱动器作为启动媒体。在部署映像时,应该记住几件事情。
下面是一些您需要自己检查的容易事情:
确保您用来启动的分区被格式化为 FAT 或 FAT32。
确保该分区是活动的(使用 FDISK 验证或更改)。
确保启动分区(通常为 C:,或者为第一个硬盘驱动器上的第一个分区)具有有效的 Windows XP 启动扇区。
确保启动分区具有需要的 Windows XP 启动文件(这些文件包括 NTLDR、NTDETECT.COM 和 BOOT.INI)。
确保 BOOT.INI 具有指向系统文件位置的正确的 ARC 路径。
确保系统文件以需要的形式位于您所声称的位置。
确保配置知道在何处放置这些文件。
确保系统包含支持启动所需的驱动程序。
头两件事情非常易于自己进行检查,但是如果您不考虑它们,则它们会导致一些问题。
您可以使用 Windows XP Embedded Beta 2 随附的 BOOTPREP.EXE 实用工具,将有效的 Windows XP 启动扇区放在启动驱动器上。该工具应当位于 \Program Files\Windows Embedded\utilities 文件夹中。如果它不在那里,请在控制面板中双击 Add/Remove Programs 以修改 Windows XP Embedded 客户端工具安装,并且选择 Boot Preparation 实用工具。该工具具有关联的自述文件,该文件提供了完整的用法信息和一些典型的使用方案。
显然,如果 ARC 路径正确,则系统文件很可能位于那里 — 您需要确保不会发生从长文件名 (LFN) 到 MS DOS 8.3 名称的转换。您可以使用 Microsoft 和第三方工具,以帮助您在使用不支持 LFN 的操作系统进行复制时保留它们。实现副本的最佳方式是在开发计算机中安装嵌入式系统,然后在本机 Windows 2000 或 Windows XP 操作系统中将这些文件复制过去。还可以通过网络复制它们。也可以使用第三方工具在软盘启动设备上启用 LFN 网络复制。
当然,必须确保系统文件具有正确的组件以支持启动。确保这一点的最容易的方式是使用 TAP.EXE 来发现计算机上的硬件。但是,如果您必须运行 TA.EXE,或者您要手动添加组件,则可能会丢失至关重要的组件。所需组件的列表随计算机而异,但是您起码需要 BIOS 组件(例如,Standard PC — 它位于目标设计器中的 Hardware:Computers 下)、IDE 控制器(特定于硬件)、Primary IDE Channel 和 Secondary IDE Channel 组件以及 Disk Drive 组件。最后一个比较棘手,因为在 Windows XP Embedded 数据库中有三个 Disk Drive 组件。请检查每个组件的属性,并观察高级属性。您需要“cmiPnPDevID”属性值为“GenDisk”的组件。
在 boot.ini 中使用“/NOGUIBOOT”开关。这会消除 Windows XP Embedded 启动画面,屏幕将保持空白,直到外壳程序加载或者提示用户登录系统为止。
示例:在 boot.ini 中,您的 ARC 路径看起来将如下所示:
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP Embedded" /fastdetect /noguiboot
什么是 Bootprep ?
Bootprep.exe 是一个命令行工具,可用于创建能够启动到 Windows XP Embedded 中的媒体。首先,必须通过使用诸如 FORMAT 和 FDISK 这样的 MS DOS 工具准备 MBR(主启动记录)和至少一个分区,来准备该媒体。该程序会准备媒体,该媒体的活动分区已经被用 FAT16、BIGDOS FAT 16 或 FAT32 进行了格式化并使其变得可启动,以便启动到 Windows Embedded 中。该程序用加载 NTLDR 的代码替换通常会通过加载 IO.SYS 和 MSDOS.SYS 启动到 DOS 中的分区启动扇区代码。
使用 NTLDR,可以在 Windows NT®、Windows XP 或 MS DOS(还包括不带 DOS 启动加载程序的 Windows CE)之间多重启动基于 Microsoft Windows CE 的个人计算机。只须在基于 Windows CE 的计算机上的 FAT16 启动分区中安装 Windows NT 或 Windows XP,然后在 BOOT.INI 文件中添加一行,以便为要从中启动的 512 字节分区启动扇区提供另一个选择。
当 NTLDR 安装时,当前分区启动扇区(通常为磁轨 0、柱面 1、扇区 1)被保存到 BOOTSECT.DOS,并且被替换为它自己的加载 NTLDR 的启动扇区,NTLDR 又会调用 NTDETECT.COM 以继续启动到 Windows NT 或 Windows XP 中。
NTLDR 将为 C:\ 分区使用默认的 BOOTSECT.DOS 文件,但是您可以指定您自己的路径名(就像在 Windows NT 安装过程中所做的那样)。要使 NTLDR 显得好像不在那里以便绕过它的提示,只须在 BOOT.INI 文件中设置 timeout=0。