USB设备是现成的,并为各种各样的引导介质提供一个具有低成本的替换选项,如闪盘,甚至CD或DVD 。USB 2.0的高速功能打开了为Windows Embedded Standard 2009 设备从USB存储引导的大门。从USB启动,就Windows Embedded Standard 2009而言是指从USB大容量储存介质启动,俗称钥匙盘(DoK),而不是从CD或DVD USB驱动器。
USB引导前提条件
首先,您的设备需要有USB 2.0高速接口的支持和BIOS必须支持INT 13H(中断13H)。由于NT Loader(NTLDR)会调用INT 13H中断访问您设备上的磁盘,为了支持引导能力,您设备上的BIOS必须遵守BIOS Enhanced Disk Drive Services 2 和 USB Mass Storage Specification规范,必须支持调用INT 13H中断。由于只有USB 2.0高速接口的存储设备被支持,所以请确认您的USB设备{zd1}写入速度为9 MB /秒和拥有单级块非与运算(SLC NAND)闪存,它提供高性能和长时间可靠性。 USB大容量存储介质必须有一个格式化的可引导分区。
有几个关于从USB大容量储存介质引导的附加说明。因为休眠不被不支持;所以,“Enhanced Write Filter Hibernate Once/Resume Many (EWF 休眠一次启动多次)”不支持,故障转储和页面文件也不支持。
准备用USB大容量存储介质引导
在写入映像之前,必须准备您的USB存储设备(DoK)。准备您的DoK涉及到创建一个带有主引导记录扇区(MBR)的主分区。然后,您可以用适当的文件系统格式化这个磁盘分区。因为NTFS向磁盘执行更多写操作,您可以考虑用FAT32格式创建相应的映像。Windows Embedded Studio为您提供了一个命令行工具“ufdprep.exe” ,帮助您准备DoK。请注意,ufdprep.exe只运行在Windows XP和Windows Server 2003 SP1 上。如果您的开发环境是Windows Vista,那么你将需要使用Diskpart准备介质。要验证您恰当地创建了分区,将Ntdetect.com和NTLDR复制到您准备好的DoK,设置您的设备的BIOS从USB大容量存储盘上启动,并启动设备。它应当启动Windows ,并不能在Windows根目录下找到必要的组件。您应该得到一个Windows无法启动的错误信息,这是正常的,因为,这表明BIOS找到MBR ,启动了NTLDR。
注意:可引导扇区的大小
由于DoKs是固态存储设备,很可能您需要另一个EEF ,增强写过滤器( EWF ) ,第3课讨论过的。由于EWF可能需要一个在主分区之后至少8M的分区(存储其配置数据),你应该创建比整个DoK小的主分区。这章的练习会涵盖这些。
向映像添加USB引导组件
您必须添加 USB Boot 2.0组件到您的操作系统配置中,该组件位于目标设计器中组件浏览器 “Embedded Enabling Features” 分支下。剩下要做的就是执行依赖关系检查,构建操作系统映像并复制到您的USB DoK。
小结
本文涵盖了从USB大容量存储设备引导的选项。由于现在几乎所有的计算机主板都有USB接口,主板的 BIOS支持USB接口,这就使Windows Embedded Standard 2009的设备,有了从低成本,高性能,高可靠的存储介质上启动的选择。