使用ImageX获取WES7镜像完成定制及部署

发布时间:2011-4-26 10:46    发布者:eechina
关键词: Embedded , ImageX , WES7 , Windows
来自:微软嵌入式中文社区(http://www.msembed.com/)  樊成虎

ImageX可以用来捕获WES7系统的镜像并将其创建为镜像文件(.wim格式),从而可以在离线状态下对WES7系统进行提取、部署、修改等操作。

可能之前您使用某些磁盘工具来做嵌入式产品的系统镜像备份、还原等。但事实证明,Windows Embedded开发工具包中的ImageX才是部署WES7系统的最佳工具,本文重点通过动手实例来演示ImageX在Windows Embedded产品开发过程中的用法。

实验环境:

建议您准备目标机和开发机两台实验设备,目标机上安装有定制的WES7系统,开发机上安装有Win7操作系统和WES开发环境。
实验步骤:

1.    首先确认一下目标机上的磁盘分区情况,本例中磁盘0是目标机的主硬盘,两个分区,C盘卷标为SYS,是主分区,约10GB;D盘卷标为DATA,约6.4GB,用于存放实验数据;磁盘1是从硬盘,只有一个分区即E盘,卷标为ImgTarget,约6GB,用于存放镜像文件。光驱为F盘,插入了IBW光盘。

2.    通过DiskPart查看当前磁盘分配情况。从IBW光盘启动目标机,在Install Windows界面点击Launch WinPE Command Prompt以进入WinPE环境,输入diskpart,在DISKPART>提示下输入list vol来查看当前设备上的磁盘分区情况。请注意,此时盘符分配情况发生了变化。一定要注意这点,通过对比卷标和磁盘大小,确定原来的D盘和E盘盘符互换了,而WinPE占用的盘符是X。

image001.jpg
图1

3.    捕获WES7操作系统镜像。本例中,我们的目标机系统安装在C盘,现在要把它捕获为镜像文件(.wim格式),然后存放在D盘,即卷标为ImgTarget的分区上。使用命令exit退出diskpart,然后键入以下命令来捕获镜像:

Imagex /capture c: d:\ImgOfWES7_0216.wim “capture WES7 by ImageX” /verify

/capture表示捕获卷镜像到一个wim文件中,接着是目标卷的路径,然后是镜像名称的全路径,双引号里面是该镜像的名字,最后是启用文件资源确认。

4.    看到如下界面时,表示命令正确,ImageX开始为您的WES7工作了,百分比显示进度,还有估算的剩余时间。

image003.jpg
图2

当看到”Successfully imaged …”时表示捕获成功。

备注:还有一个参数/compress,它表示可以将镜像文件压缩,以减小其体积,一共有maximun,fast,none三个值,分别表示最大压缩、最快压缩、不压缩。

5.    /append参数可以将已有的镜像文件扩展,例如,您的WES7刚刚安装完毕,需要做一下备份,而在安装一些软件并进行更改后又需要做一个镜像,这种情况下可以将一类镜像文件集成到同一个镜像文件中。或者如果您的目标设备上有两个分区,也可以分别将两个分区捕获到同一个镜像文件中。我们在WinPE中键入以下命令:

Imagex /append e: d:\ImgOfWES7_0216.wim “capture DATA by ImageX” /verify

这表示将E盘捕获至之前创建的镜像文件中。

6.    使用/apply参数可以将WES7镜像应用到目标设备中。在保证捕获镜像时的设备和目标设备基本一致的前提下(这包括硬件配置和磁盘分区的一致),可以将捕获到的镜像部署到目标设备上,在WinPE中键入以下命令:

Imagex /apply d:\ImgOfWES7_0216.wim 1 c:

/apply参数后面是镜像文件的全路径,接着要跟上wim文件中的镜像序号,然后是目标卷的路径。

与/capture参数类似,如果命令正确解析,会显示百分比进度和估算的剩余时间,当出现”Successfully applied image.”时表示恢复镜像成功。

7.    WIM文件中可以存放多个镜像文件,如果不确定要恢复哪个镜像,可以通过/info参数来查看一下其中的镜像信息。在WinPE中键入:

Imagex /info d:\ImgOfWES7_0216.wim

返回镜像文件的XML格式描述。

image005.jpg
图3

Image Count处显示该文件中有两个镜像,找到镜像索引是1的区块,标记中显示的是用/capture参数时双引号中的该镜像名字,据此可以判断要恢复哪个镜像至目标分区。

8.    查看一下提取到的ImgOfWES7_0216.wim文件大小大约是877MB,假设要将它刻录在CD光盘上,那么可以用/split参数将其分成600MB大小的若干文件(.swm格式),以利于刻录。在WinPE中键入:

Imagex /split d:\ImgOfWES7_0216.wim d:\ImgOfWES7_0216.swm 600

/split参数后面跟原镜像全路径,接着是要目标全路径,注意用了swm格式,最后是期望的镜像大小,默认单位为MB。

image007.jpg

命令提示成功完成后,我们可以看到原镜像文件已被分成了两个swm文件,且第二个往后的名字自动加了数字2。

9.    使用/dir参数可以列出镜像包含的所有文件和文件夹清单,如果要显示刚才镜像文件中的镜像1,因为内容太多屏幕会滚动很长时间,这时可以使用>d:\list.txt来将结果导入到目标文件中,方便用文本编辑器查看。

10.    参数/mount参数以只读方式将WIM文件加载到指定的文件夹,方便查看镜像内容。参数/moutrw是有了写的权限。下面尝试一下对其中一个镜像进行更改,在命令提示符中键入:

Imagex /mountrw e:\ImgOfWES7_0216.wim 2 e:\mount

将镜像文件中的第二个镜像,也就是我们对DATA盘做的镜像加载到E盘mount目录下,打开该目录,看到原来该盘中的数据。可以在该目录下新建一个记事本文档,输入一些字符并保存。然后在命令提示符中键入:

Imagex /unmount /commit e:\mount

/unmount表示将加载到mount文件夹的镜像卸载,/commit表示将所做的更改提交。然后结合/dir参数就可以看到效果,在命令提示符中键入:

Imagex /dir e:\ImgOfWES7_0216.wim 2

可以看到刚才新建的记事本文档已经进去了。应用/apply参数就可以把修改后的镜像提交到目标分区,很方便。

上面是一系列使用ImageX时的镜像操作方法,下面再扩展一下其用法:

1.    参数/export用于将镜像文件中一个标记的镜像导出到另一个WIM文件中。具体用法如:

Imagex /export d:\ImgOfWES7_0216.wim 2 d:\ImgNew.wim

指定好原镜像路径,其中对应的镜像编号和目标镜像路径,待命令成功执行后,就可以看到D盘出现了新的WIM文件,里面有刚才导出的镜像。

2.    参数/delete用来移除包含多个卷镜像的WIM格式镜像文件中指定的卷镜像。可以尝试移除上例中的数据盘镜像。在WinPE中键入:

Imagex /delete d:\ImgOfWES7_0216.wim 2

命令成功执行后通过/info参数来观察,看到该镜像文件中只有一个镜像了。

3.    Wimscript.ini是为了防止ImageX在获取镜像时遇到锁定文件或文件夹造成失败而设计的,通过它可以列出一些排除在ImageX捕获之外的文件和文件夹,它应当位于与ImageX同一目录中,ImageX的/capture参数可以自动加载它。以下是它的示例:

[ExclusionList]    //被排除的文件和文件名字
"System Volume Information"
RECYCLER
[CompressionExclusionList]    //不被压缩的文件或文件夹名称或者文件类型,可以使用通配符
*.mp3
*.zip

----------------------------------------------------------------
如果您有任何问题,可以联系作者:WESfan
BLOG:
http://wesfan.blog.51cto.com
微软中文技术论坛:
http://social.microsoft.com/Forums/zh-CN/category/embeddedtechnologycn
本文地址:https://www.eechina.com/thread-63517-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表