原创 定制WES7紧急修复U盘

简介: 本文转载自微软嵌入式中文社区http://www.msembed.com  这篇动手实验是通过编写脚本文件实现一个定制的WinPE,以满足售后维护过程中紧急修复WES7操作系统的需求,全程只需要工程师在目标设备上选择从USB启动即可,完全自动化维护,从而提高工程师的工作效率。

本文转载自微软嵌入式中文社区http://www.msembed.com

 

 

这篇动手实验是通过编写脚本文件实现一个定制的WinPE,以满足售后维护过程中紧急修复WES7操作系统的需求,全程只需要工程师在目标设备上选择从USB启动即可,完全自动化维护,从而提高工程师的工作效率。它最大的优点是小巧、操作方便,对公司的售后维护部门来说是一把工作利器。
 

 

基本原理:
通过WinPE启动后自动运行脚本文件,将源镜像恢复到目标设备中。
 

 

先决条件:
1、WES7(Windows Embedded Standard 7)开发环境,以及目标设备。
2、准备一个wim格式的WES7系统镜像,本例中它的名字是source.wim,该镜像可以使用ImageX捕获,具体的操作方法可以参看《使用ImageX获取WES7镜像并完成部署》一文。
 

 

实验步骤:
1、 准备一块U盘,如有数据,请提前备份好。

 

2、 在开发机上插入已经准备好的U盘,以管理员身份运行命令提示符。
 

 

3、 下面对目标U盘进行分区,在命令提示符中依次输入:
 

//进入diskpart磁盘管理工具
>diskpart
//列举当前所有磁盘
DISKPART>list disk

//上图看出目标U盘是“磁盘1”,下面选中它,执行清除、分区、格式化、标记卷标和盘符、激活。
DISKPART>select disk 1
DISKPART>clean
DISKPART>create par pri
DISKPART>format fs=ntfs quick label=”Recovery”
DISKPART>assign letter=”H”
DISKPART>active
//查看并确认一下目标磁盘
DISKPART>list vol
本例中目标磁盘分区的卷标是”Recovery”,盘符是H。

 

4、 在开发机上打开ICE,找到菜单中的Tools – Create Media – Create Window PE Media …并打开创建WinPE磁盘对话框。

 

5、 点击“…”按钮,选择开发机上任一目录,如C:/WinPE,目标设备的架构x86,然后点击OK,ICE开始将WinPE构建到目标磁盘。

 

6、 ICE提示成功后,我们打开目标路径C:/WinPE/ISO,这个目录中的所有文件可以直接复制到目标磁盘的启动分区中(H:/),然后在目标机上选择从该U盘启动就可以启动WinPE了。但是不要着急,我们要做的是定制WinPE。
 

 

 

7、 先看一下最纯净的WinPE第一层目录中有4个文件夹,3个文件。我们要定制的文件就是位于sources文件夹下的boot.wim。
 

 

 

8、 顺着刚才的思路,要把boot.wim打开然后进行定制。先新建一个临时文件夹C:/WinPE/Temp。
 

 

 

9、 在命令提示符中找到我们开发环境中的ImageX,使用ImageX的mountrw参数将其释放在指定目录:
C:/Program Files/Windows Embedded Standard 7/Tools/x86>imagex /mountrw C:/WinPE/ISO/sources/boot.wim 1 C:/WinPE/Temp
 

 

 

10、 在看到Successfully mounted image提示之后,用资源管理器打开目标路径:C:/WinPE/Temp/,看到似曾相识的目录结构了吧,有Program Files、ProgramData、Users、Windows。
 

 

 

11、 目标直指Windows/ System32文件夹,找到startnet.cmd并用记事本打开,看到里面有一行wpeinit,意思是在WinPE启动后默认先执行一次PE初始化。根据本次实验的需求,要实现自动运行脚本文件(比如Recovery.bat),那么请在该wpeinit之后回车并输入Recovery.bat,保存startnet.cmd。
 

 

 

12、 先分析Recovery.bat应该包含什么:
①. 对目标磁盘进行分区。
②. 使用imagex进行系统恢复。
③. 设置启动信息。
④. 显示友好提示信息。
⑤. 关机。
 

 

 

13、 在该目录下创建Recovery.bat并保存,使用记事本编写脚本文件,如下:
Diskpart /s Recovery.txt

Imagex /apply Z:/source.wim 1 D:

//将启动信息写入BCD中

Bcdboot d:/windows /s c:

Echo Recovery Successfully

//关闭计算机

Wpeutil shutdown

 

14、 在该目录下创建Recovery.txt并保存,使用记事本编写脚本文件,如下:

//先把外接U盘标记为Z盘

Select disk 1

Select par 1

Assign letter=”Z”

//把目标磁盘分为两个分区,并分别标记盘符、卷标

select disk 0

create par pri size=100

format fs=ntfs quick label="BCD"

assign letter="C"

active

create par pri

format fs=ntfs quick label=”Recovery”

assign letter=”D”

//退出diskpart

exit

 

 

15、 请确认您的临时路径(C:/WinPE/Temp/Windows/System32)中有Recovery.bat,Recovery.txt,在命令提示符中提交boot.wim文件,如下:

C:/Program Files/Windows Embedded Standard 7/Tools/x86>imagex /unmount C:/WinPE/Temp


 

16、 将目标镜像即target.wim和复制到H盘根目录,将定制好的WinPE目录(C:/WinPE/ISO/)复制到目标U盘的根目录中,安全移除该U盘,经测试验证后就可以提交工程师直接使用了。


说明:
1、一定要提前将磁盘分区状况整理清楚,比如本例中,对一个硬盘未格式化的目标设备来说,原来没有任何分区的,可以随意指定。
2、虽然这样的脚本足够完成您的大部分需求,但是它没有异常处理机制,还不够完美,有兴趣的话可以加上判断语句继续深入研究。
3、同理,可以通过定制来对镜像的注册表、配置文件、驱动程序等进行操作,当然还可以结合DISM来进行更进一步的维护,由此可见,微软Windows Embedded团队在WES7的定制上为我们提供了更丰富的功能,这是Windows XP Embedded所不具有的。


 

相关文章
|
存储 iOS开发 Windows
利用Dism修复系统步骤,以及dism找不到源文件解决方案
利用Dism修复系统步骤,以及dism找不到源文件解决方案
18493 0
利用Dism修复系统步骤,以及dism找不到源文件解决方案
|
7月前
|
人工智能 安全 数据库
🦞Docker 上部署 Clawdbot(Moltbot)AI助手完整步骤教程
Clawdbot是一款开源的本地优先个人AI助手,可运行在个人设备上,支持WhatsApp、Telegram、Slack、Discord等十余种通信渠道,兼容macOS、iOS、Android系统,还能渲染实时Canvas界面。其核心优势在于本地化运行带来的快速响应与隐私安全,网关仅作为控制平台,真正的助理功能聚焦于实际任务处理。本文基于Clawdbot官方文档整理,提供Docker Compose部署的完整指南,涵盖环境准备、源码获取、配置、构建、启动及运维等关键环节,补充生产环境必需的安全配置、数据持久化、备份与监控建议,且与官方配置无冲突,适用于希望通过Docker快速部署的用户。
1684 3
|
12月前
无法连接共享打印机 0*0000709 错误?win7连接win11的打印机709报错?
无法连接共享打印机 0*0000709 错误?win7连接win11的打印机709报错?
3021 1
|
12月前
|
Windows
[Windows] 微软.NET离线运行库合集
.NET是Windows系统必备运行框架,缺失会导致软件报错。微软.NET离线运行库合集包含多个版本,支持自动识别系统并安装推荐版本,适用于不同系统和软件需求。提供离线安装包及合集,适合无网络环境或批量部署,确保.NET应用正常运行。
5666 0
|
存储 安全 算法
Linux命令sha1sum的详细解析
`sha1sum`是Linux下的命令行工具,用于计算文件的SHA-1哈希值,用于验证文件完整性和安全性。SHA-1算法将数据转化为160位的哈希值,具有唯一性、固定长度和单向性。命令支持二进制或文本模式,可检查校验文件、保存哈希值、验证文件完整性。尽管由于安全问题不推荐用于高安全场景,但在一些场景下仍用于文件校验。最佳实践包括定期验证、保存校验文件和与其他命令结合使用。
|
存储 监控 物联网
物联网加车联网平台云服务通讯模式
物联网加车联网平台云服务通讯模式
669 2
|
开发框架 前端开发 JavaScript
在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
|
Linux 网络安全 Android开发
SSH神器: Termius介绍与使用
Termius是一款跨平台的SSH工具,提供美观的界面和便捷的操作,支持Android、Windows、macOS及Linux。它允许用户在不同设备间同步服务器连接,适合多设备切换工作。通过注册并关联GitHub学生账号,可以免费获取Termius使用权。软件功能包括SFTP文件传输,还有团队分享功能(需付费)。更多特色等待探索。官网:<https://www.termius.com/>
30399 0
SSH神器: Termius介绍与使用
|
Android开发
【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )(一)
【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )(一)
379 0
【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )(一)
|
调度 Windows 缓存