Windows Embedded Standard的U盘启动

开发
现在大多数主板都支持USB启动,而U盘便于携带的特点,能够让你打造一个属于你自己的PC环境,使用自己熟悉的界面。现在U盘启动的系统已经非常时髦了,比如Ubuntu Linux。而大家有没有想过将Windows XP放到U盘里?Windows XP Home或Pro放在U盘里的确有点难度,但是Windows XP Embedded(也就是现在的Windows Embedded Standard)放在U盘里却不是件太难的事情,我们可以根据自己的需要定制出一个比较小的操作系统镜像(最小可以达到20M左右,一般在300M左右)。

准备启动环境

开发工具自然就是Windows Embedded Studio,具体使用方法请参考《Windows Embedded Standard开发初体验》。除了开发工具外,我们还需要准备存储介质——U盘,从市面上随便买一个就可以,建议容量是1GB,小一点也没关系,最好是USB 2.0的,否则在拷贝文件时会比较慢。
 
接下来就是U盘的准备步骤:

1.使用usboot设置U盘的工作模式

我们使用的usboot166是第三方工具,可以在雷志刚的博客上找到:
 
http://cid-ea7144b242d01ad2.skydrive.live.com/browse.aspx/Public/%e7%ac%ac%e4%b8%89%e6%96%b9%e5%b7%a5%e5%85%b7

将U盘插到计算机上之后,我们打开USBoot的界面,就可以看到磁盘的列表。

磁盘的列表 

Windows Embedded Standard的U盘启动图1

第一个是计算机的硬盘,第二个才是我们要格式化的U盘,所以千万别弄错。

选择了要格式化的U盘之后,还要选择工作模式,点击界面下方的链接处。

选择工作模式 

Windows Embedded Standard的U盘启动图2

我选择使用的是HDD模式,据说FDD模式也可以,没试过。有一款Thin Client竟然不支持USB-HDD模式启动,抓狂……

接下来的工作,就是按照提示,等待U盘格式化完成,再写入引导文件。

其实这一步主要是改变U盘的工作模式,因为我们不使用DOS启动,所以启动文件还要通过下一步来做。

2.使用ufdprep写入启动信息

假设Windows Embedded Standard的开发工具安装在C盘,我们可以在下面的目录中找到一个名叫UFDPrep的程序:C:\Program Files\Windows Embedded\utilities

我们在命令行中执行这个程序:

如果不知道该怎么使用,可以用ufdprep /?来查询参数。

如果我们想格式化U盘,则需要使用下面的命令行:

Ufdprep /size=1000 /ntfs /y g: /size,

表示使用U盘上多大的空间,不能超过磁盘的最大存储空间;/ntfs,是磁盘格式;/y,表示安全提示时选择y;g:是U盘的盘符。

可能需要等待一段时间,如果看到格式化成功的提示,则表示该操作完成。

我们还可以使用下面命令行来验证ufdprep是否成功:

Ufdprep /verify g:

制作最小化系统

接下来我们就需要将操作系统拷贝到U盘上去了。我们要做的不是DOS启动盘,所以刚才将U盘格式化为NTFS格式的了。所以接下来,我们要做一个Windows Embedded Standard的操作系统。因为不知道目标设备的驱动,所以,比较稳妥的方式就是构建一个命令行的Windows Embedded Standard平台,将一些常用工具拷贝进去,个人感觉,比DOS启动盘好用。
构建步骤,与步骤三类似,所以详情参考“制作XPe镜像”:

1.打开Target Designer,创建一个新的Configuration,取名MiniOS。

2.在组件列表中,选择Software-> Test&Development 下的MinLogon组件,下图红圈所示位置:

Software-> 

Windows Embedded Standard的U盘启动图3

3.选择USB boot 2.0组件(见“制作XPe镜像”一节);

4. 选择Configuration菜单中的Dependency Check,或者F5,进行依赖检查;

5. 选择Configuration菜单中的Build Target Image,或者F7,编译操作系统。

6.编译出来的操作系统大约20M左右,只提供命令行界面。我们将C:\Windows Embedded Images文件夹下的所有文件拷贝到U盘的根目录中。

7. 我们在U盘的根目录中建一个Tools文件夹,将一些常用工具拷贝进去,比如:

System32目录下的Diskpart、edit等命令

因为要收集硬件信息,所以要拷贝C:\Program Files\Windows Embedded\utilities下的TAP程序到Tools目录中。大家注意,在这里我们使用的是32位版本的TAP,而不是16位版本的TA,这也说明我们运行的环境是32位操作系统环境。

8. 将U盘从计算机上安全删除;插到目标设备的USB端口上;

9. 重新启动目标设备,在BIOS中选择USB-HDD启动;

10. 进入FBA过程;

11. FBA过程完成后,会重新启动,然后显示XP的启动画面,进入命令行界面;

12.运行Tools目录中的TAP命令,该命令会收集硬件信息,在Tools目录下产生device.PMQ文件。

到这一步,我们的工作就基本完成了,这个命令行的Windows Embedded Standard系统一定要好好保存。自从软盘退出历史舞台后,这是我用过的最适合随身携带的工具盘。宝贝啊。

制作XPe镜像

1. 导入PMQ文件

接下来的工作就比较正常了,将U盘插回到计算机上,将U盘里的device.PMQ文件拷贝到计算机上来。如果之前你没有做完FBA的Mini操作系统,建议你也拷一份出来,毕竟20多M的小东西还是很好用的。

我们打开Windows Embedded Studio中的Component Designer将PMQ文件转换为组件文件(.sld文件)。Target Designer会根据硬件信息组件(sld文件)判断将哪些驱动程序加入到操作系统镜像中来。

选择Component Designer的File菜单里的Import选项,会让你打开PMQ文件,然后打开下面的对话框:

打开PMQ文件 

Windows Embedded Standard的U盘启动图4

点击Start开始导入过程,一般来说,会比较慢,需要几分钟的时间。导入完成后,会生成一个sld文件,将其保存到我们制定的目录下即可。

2. 导入组件数据库
 
接下来,我们要将生成的组件sld文件导入到组件数据库中。在这一步前,请确认所有的Target Designer和Component Designer都已经被关闭。
然后打开Component Database Manager ,界面如下图所示:

Component Database Manager 

Windows Embedded Standard的U盘启动图5

为了导入组件,我们点击Import按钮,打开下面的界面:

 

Windows Embedded Standard的U盘启动图6

点击SLD file文本框后的按钮,上图红圈所示,选择刚才保存的sld文件,然后点击Import按钮。Component Database Manager会提示导入是否成功。

3.生成WES镜像

导入sld文件成功之后,我们就可以重新打开Target Designer,来编译我们的操作系统Image文件。

首先需要新建一个Configuration文件,进入Target Designer主界面。

我们会看到刚才被导入的组件,会默认出现在组件列表的根目录中,我们双击,将该组件加入我们的操作系统中。

接下来,我们添加功能组件:

1. Runtime Quick Start Helper Macro,位于Software -> Test & Development目录下

Development目录 

Windows Embedded Standard的U盘启动图7

2. USB boot 2.0组件和User Account组件,位于Embedded Enabling Features目录下,其中USB boot 2.0是为了支持USB启动的组件,而User Account组件是默认的登录用户。

Embedded Enabling Features目录 

Windows Embedded Standard的U盘启动图8

3. 设置User Account组件

User Account组件 

Windows Embedded Standard的U盘启动图9

中间部分是我们已经添加到操作系统中的组件,我们打开User Account组件,选择Settings,在IDE的右侧会显示属性窗口,设置帐号的用户名和密码:

设置帐号的用户名和密码 

Windows Embedded Standard的U盘启动图10

4. 依赖检查;

5. 编译目标操作系统。

6. 将编译好的Image文件,拷贝到我们的U盘上。

7.经过FBA过程后,重启动,我们就可以进入Windows Embedded Standard的界面了。

参考资料
http://blogs.msdn.com/ningling/archive/2007/06/20/xpe-usb-2-0.aspx

http://lzg-ad.blog.sohu.com/77528224.html

Windows Embedded Standard开发的文章请参考:

http://www.cnblogs.com/aawolf/archive/2008/06/25/1229698.html

【编辑推荐】

  1. Windows Embedded Standard的U盘启动
  2. Windows Embedded下的网络监测工具(三)
  3. Windows Embedded下的网络监测工具(二)
  4. 在Windows Embedded Standard中开发Silverlight
  5. Windows Embedded下的网络监测工具(一)
责任编辑:仲衡 来源: IT168
相关推荐

2009-07-17 14:27:13

Windows Emb

2009-07-17 14:04:54

Windows Emb

2009-07-16 14:58:16

Windows Emb

2009-10-28 09:22:15

2010-03-04 13:54:17

Windows EmbICE

2009-07-16 14:41:48

Windows Emb

2010-12-14 18:56:12

微软

2009-09-02 09:15:24

Windows Emb

2010-02-25 09:48:37

Windows Emb

2009-07-21 15:28:06

Windows Emb

2009-07-17 13:47:46

Windows Emb

2010-05-07 15:38:29

Windows Emb

2009-11-13 09:44:44

Driver ExtrWindows Emb

2009-07-16 14:28:08

Windows EmbIE安全限制

2010-03-19 12:42:43

Windows Emb

2009-10-16 09:01:03

2009-07-16 15:46:09

Windows Emb

2009-08-07 08:30:20

Windows Emb

2009-07-16 14:49:50

Windows Emb

2010-04-10 13:06:24

Windows Emb
点赞
收藏

51CTO技术栈公众号