ImageX在WindowsEmbedded产品中的用法演示-飞外网

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。

图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工作了,百分比显示进度,还有估算的剩余时间。

图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格式描述。

图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。

命令提示成功完成后,我们可以看到原镜像文件已被分成了两个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

责任编辑:gt


尽管对互联网连接的支持现在实际上是许多嵌入式系统设计人员的要求,但所构成的威胁是可以控制的。通过.... 星星科技指导员 发表于 06-30 11:33 •
通过公开规范,MIPI 使开发人员、工具供应商和其他人能够围绕调试通信和跟踪数据建立价值。通过这.... 星星科技指导员 发表于 06-30 11:16 •
RTOS 是确保嵌入式设备(例如用于物联网、机器人和移动设备)的可预测和及时执行的关键组件。因此.... 星星科技指导员 发表于 06-30 10:43 •
对于 SMP 系统,操作系统的选择是按照本文迄今为止描述的方式进行的,另外一个因素是操作系统必须.... 星星科技指导员 发表于 06-30 10:41 •
统信服务器操作系统V20助力铁路局完成核心业务系统信创改造 未来,统信软件将提供更加安全稳定和智能易用的产品和服务,成为坚实可信的新基建基座,与国铁集团及相关单.... 科技绿洲 发表于 06-30 10:33 •
关于Windows和Linux操作系统中线程同步了解 线程可以是可连接的(默认情况下)或分离的。当一个可连接线程终止时,信息(标识符、终止状态、线程计数器.... 星星科技指导员 发表于 06-30 10:31 •
物联网数据库管理注意事项 在物联网边缘设备上收集和管理的数据量不断增长,这对物联网工程师和数据库管理系统供应商必须不断研究.... 发表于 06-30 10:18 •
IDE 中内置的调试器只提供最基本的必需品:代码、启动/停止、设置断点和其他一些简单功能。一.... 星星科技指导员 发表于 06-30 10:15 •
在一个敏捷性需要与合规性共存的世界中,很高兴知道这是绝对可能的,只要通过正确的文化、工具和流程来解决.... 星星科技指导员 发表于 06-30 09:36 •
利用YOCTO的力量进行Linux操作系统移植项目 随时可用的 开发工具:作为 Yocto 用户,您可以访问各种开发工具,例如应用程序开发工具包 (.... 星星科技指导员 发表于 06-30 09:05 •
1、 腾讯 ncnn 源码命令如下所示 1) 第一种方法: Orang Pi 百度云盘中提供的 ncnn.tar.gz 压缩包 a) 从... 发表于 06-29 17:26 • 1188次
ARM和DSP算是嵌入式的硬件还是软件方向?编程用的是C语言吗 ARM和DSP算是嵌入式的硬件还是软件方向?编程用的是C语言吗?求解答 发表于 06-29 15:49 • 530次
代码永远不应陷入无限循环,但逻辑错误或未发生预期的外部事件可能会导致代码挂起。当代码在等待某事发.... 星星科技指导员 发表于 06-29 15:43 • 100次
LS1028A 常见问题解决思路 本文硬件平台以凌OK1028A-C开发板为基础进行示例,其他厂商开发平台,因各个厂家设置不同,可供参考使用。内容包含LS1028A... 发表于 06-29 15:04 • 606次
摘要:随着物联网技术的发展,各种应用及系统推陈出新,不断更新换代,而通信管理机是系统的数据枢纽,在整.... panqin888 发表于 06-29 12:33 •
适用于3D运动分析的模型 对系统的运动进行精确建模可能是一件棘手的事情,但通过构建一个稳健的模型,我们可以更快地响应更广泛.... 发表于 06-29 11:12 •
通过RTOS平台构建可靠、安全和可靠的系统 将经过验证的安全功能作为 RTOS 开发平台的组成部分,对于帮助开发团队构建可靠和安全的嵌入式应.... 星星科技指导员 发表于 06-29 11:03 • 158次
NVIDIA为Orin开发套件提供更加轻松的系统安装方式 NVIDIA 为 Orin 开发套件提供更加轻松的系统安装方式。 NVIDIA英伟达企业解决方案 发表于 06-29 10:55 •
当与其他正式指定需求的系统方法相结合,并根据这些需求生成需求监控器和预言机等组件时​​,就有可能以一.... 星星科技指导员 发表于 06-29 10:31 •
如何使用覆盖率指标进行更有效的嵌入式软件测试 声明、决策或 MC/DC 覆盖率等指标并不能保证软件没有缺陷。如前所述,真正详尽的测试可能是不可.... 星星科技指导员 发表于 06-29 10:20 •
选择嵌入式设计软件时要考虑的前五个特性 选择正确的嵌入式软件开发工具和正确的工具供应商可能是一项挑战。确保您选择的软件支持您将使用的设备.... 星星科技指导员 发表于 06-29 10:12 •
在典型系统中,许多路径流经 RTOS,因此它处于检测和处理错误的良好位置。一般来说,函数的返回值.... 星星科技指导员 发表于 06-29 09:46 • 123次
在寻求无错误软件的过程中增强静态代码分析 采用静态分析等现代开发人员测试方法是嵌入式软件行业的一个积极趋势。该技术已经成熟到可以成为软件工.... 星星科技指导员 发表于 06-28 15:58 •
基于模型的设计通过早期验证最大限度地发挥优势 本文中概述的最佳实践使工程师能够实现早期验证,减少在开发周期结束时花费的时间测试和调试他们的设计.... 星星科技指导员 发表于 06-28 15:46 • 119次
基于模型的方法缩小了开发和测试之间的差距 使用支持 UML 测试配置文件的工具(例如 IBM Rational Rhapsody)将他们的.... 星星科技指导员 发表于 06-28 15:38 • 104次
中科曙光携手生态伙伴共同推动国产开源操作系统生态的繁荣 在2022OpenCloudOS 社区开放日上,国产开源操作系统OpenCloudOS正式发布首个源.... 中科曙光 发表于 06-28 15:37 • 134次
灵活的硬件可以实现更大的产品差异化,使开发人员和产品经理能够为他们的客户提供与众不同的价值。并发.... 星星科技指导员 发表于 06-28 15:33 • 1584次
集成嵌入式平台加速了SoC和嵌入式系统的软件调试和启动 这种跨学科的早期研究改进了设计硬件并加速了 SoC 和嵌入式系统的软件调试和启动。软件开发人员和.... 星星科技指导员 发表于 06-28 15:31 • 1234次
从设备制造商的商业模式转变为软件公司的商业模式不会在一夜之间发生,而且通常是分阶段进行的。 星星科技指导员 发表于 06-28 15:24 • 138次
应用程序生命周期管理软件增强产品开发测试和可追溯性 智能手机、汽车系统和智能工业控制设备等项目受益于更好的可追溯性。随着越来越多的测试团队采用自动化.... 星星科技指导员 发表于 06-28 15:18 • 133次
嵌入式设计人员最喜欢的捷径之一是使用商用现货 (COTS) 模块启动项目,以消除大部分硬件开发和.... 星星科技指导员 发表于 06-28 15:13 • 132次
统信软件成为各行业客户替换CentOS系统的优先选择 随着2021年12月31日,CentOS 8正式停止维护,CentOS 7也将于2024年停止服务,.... 科技绿洲 发表于 06-28 15:08 • 182次
在竞争激烈的嵌入式 UI 世界中,评判公司的依据是其提供超出消费者期望的最先进技术的能力。更快、.... 星星科技指导员 发表于 06-28 15:07 • 163次
总之,被称为嵌入式虚拟机管理程序的虚拟化技术基于实时分离内核,可以帮助嵌入式开发人员将他们的传统.... 星星科技指导员 发表于 06-28 15:05 • 146次
用全志A40i打造智能自助洗车机,让洗车体验大大提升 说到“洗车”,以前人们最先想到的应该就是汽车美容店人工洗车和自动洗车。传统的人工洗车方式虽然省心,但也有着诸多的缺点,比... 发表于 06-28 15:01 • 470次
在当今的高性能嵌入式系统中,必须在设计周期的开始就解决散热要求。随着 CFD 的出现,工程师几乎.... 星星科技指导员 发表于 06-28 14:36 • 110次
一个经过深思熟虑的建模方法可以克服虚拟平台采用的障碍,并确保用户获得虚拟平台可以提供的所有价值。.... 星星科技指导员 发表于 06-28 14:33 •
设备集成商必须采取全面的节能方法,从能够缩减功耗的硬件和基础设施开始,并采用能够控制设备整体功耗.... 星星科技指导员 发表于 06-28 14:22 • 207次
许多嵌入式应用程序都能够从 Flash 技术中受益。例如,集成远程信息处理系统将车队交互、GPS.... 星星科技指导员 发表于 06-28 14:15 • 235次
高级静态分析工具在嵌入式系统开发中变得越来越重要。远远超出实际上是编码风格检查器的旧静态分析工具,新.... 星星科技指导员 发表于 06-28 14:09 • 164次
作为额外的奖励,当 Linux 被故意崩溃时,视频会消失,但音乐会在安全模式下播放,不会出现任何可听.... 星星科技指导员 发表于 06-28 11:53 • 117次
在嵌入式市场中,开发人员已经习惯于使用多个处理平台来定制具有额外工作和费用的操作环境,以保证实时.... 星星科技指导员 发表于 06-28 11:49 • 188次
使用Eclipse Process Framework构建嵌入式软件 在设计医疗设备时,FDA QSR 规定的设计指南和法规可以与系统和软件开发中的最佳实践同时解决。.... 发表于 06-28 11:35 •
嵌入式减少调试时间的3个技巧 工程师喜欢解决问题。这就是我们所做的。不幸的是,嵌入式软件工程师最大的问题之一是我们制造了很多问题,然后通过花费大量时间... 发表于 06-28 09:58 • 2369次
在图案化的抗蚀剂上溅射或蒸发金属,然后剥离金属,传统上用于在砷化镓晶片处理中定义互连,在剥离工艺中,.... 华林科纳半导体设备制造 发表于 06-27 17:21 • 207次
HOLXI是哪一家的IC呀,用起来怎么样?? HOLXI是哪一家的MCU呀,有人用过吗?用起来怎么样??一般用在哪类产品上多一些呀? 发表于 06-27 10:01 • 959次
前 言本文档主要介绍嵌入式初级学习者,在使用核心板/开发板过程中,所做的一些硬件接口资源以及设计注意事项等内容。本篇文章... 发表于 06-24 10:58 • 4447次
嵌入式必学!硬件资源接口详解——基于ARM AM335X开发板 (上) 前 言本文档主要介绍嵌入式初级学习者,在使用核心板/开发板过程中,所做的一些硬件接口资源以及设计注意事项等内容。本篇文章是... 发表于 06-24 10:48 • 4653次
每日推荐 | 每周论点有奖栏目,OpenHarmony学生挑战赛开启 大家好,以下为飞外推荐每日好帖,欢迎留言点评讨论~推荐理由:即日起社区开始【每周论点】栏目(长期进行),以... 发表于 06-23 10:39 • 6805次