完成 Windows 系统部署之后,说一下华硕一键恢复工具 ASUS Recovery 的工作条件和重建方法,可以先看看我的另一个帖子《我制作了一个适用于天选一代的系统镜像【上】-- 系统部署》。想要让 ASUS Recovery 在 WinRE 恢复环境的启动菜单出现,且能正常工作,且使用过后依然存在,需要满足以下条件:
1. WinRE 的映像 Winre.wim 必须拥有独立的分区 (以下统称 WinRE 分区),而不是和 Windows 操作系统共享一个分区 (这就是上一个帖子里“2.3 磁盘选择”这一步要求比较严格的原因)。这个分区大小通常为500MB - 1.2GB
2. 另有一个分区 (以下统称 RESTORE 分区) 用于存放一键还原时所用到的系统映像 ASUS.swm,并且这个映像必须包含执行还原前的 WinRE 配置信息
3. 向当前的 Windows 系统注册 ASUS Recovery 的入口
4. EFI 系统分区 (ESP),Windows 分区,WinRE 分区,RESTORE 分区必须拥有正确的卷标
5. BIOS 里面的一些 DMI 值必须正确
现在让我们开始吧
三、重建 ASUS Recovery
3.1 进入系统之后在搜索框输入cmd,点击“以管理员身份运行”

3.2 现在我们向系统注册位于 WinRE 的启动菜单里面的 ASUS Recovery 入口
打开之前用于制作启动盘的U盘 (我这里是E: ),或者挂载之前下载的 ISO 安装镜像,在 AsRec 文件夹内找到 AddDiagnosticsToolToBootMenu。按住 Shift 右键点击这个文件,复制它的路径备用

然后在具有管理员权限的命令提示符窗口执行:
ReAgentC /SetBootShellLink /ConfigFile "E:\AsRec\AddDiagnosticsToolToBootMenu.xml"

其中 "E:\AsRec\AddDiagnosticsToolToBootMenu.xml" 是刚刚复制的文件路径
看到“操作成功”的提示,说明 ASUS Recovery 的入口注册成功了
3.3 打开磁盘管理,找到之前留下的8GB左右的未分配空间。新建一个NTFS分区并分配盘符 (我这里是F: )

3.4 在F: 盘内建立空路径 F:\Recovery\RecoveryImage ,用于存放 ASUS.swm 恢复映像。你可以手动创建文件夹,也可以直接执行:
md F:\Recovery\RecoveryImage

3.5 现在我们将恢复映像的其中一个索引导出到 F:\Recovery\RecoveryImage 里面
打开之前用于制作启动盘的U盘 (我这里是E: ),在 sources 文件夹内找到 install.esd。按住 Shift 右键点击这个文件,复制它的路径备用

然后在具有管理员权限的命令提示符窗口执行:
Dism /Export-Image /SourceImageFile:"E:\sources\install.esd" /SourceIndex:1 /DestinationImageFile:F:\Recovery\RecoveryImage\ASUS.swm /Compress:Max

其中 "E:\sources\install.esd" 是刚刚复制的文件路径,"/SourceIndex:1"表示导出映像中的第一个索引 (即 Windows 10 家庭中文版)。下面是 Windows 版本和索引号的对照,自行替换索引号即可:

3.6 虽然恢复映像已经导出到 F:\Recovery\RecoveryImage,但这个映像不包含指明 WinRE 路径和 ASUS Recovery 入口的配置文件。也就是说,如果直接使用这个映像来恢复 Windows 分区,将会丢失 ASUS Recovery 的入口。因此我们要对刚刚导出的 ASUS.swm 映像做一些修改
首先在C: 根目录创建一个文件夹 C:\mount,然后把 ASUS.swm 映像挂载到这个目录下。在具有管理员权限的命令提示符窗口执行:
md C:\mount
Dism /Mount-Image /ImageFile:F:\Recovery\RecoveryImage\ASUS.swm /Index:1 /MountDir:C:\mount

这里 "/MountDir:" 的后面必须是一个空目录
3.7 打开目录 "C:\Windows\System32\Recovery",点击文件资源管理器顶部的“选项”,去掉“隐藏受保护的操作系统文件(推荐)”,勾选“显示隐藏的文件、文件夹和驱动器”,点击确定。然后复制这个目录下的两个文件 "ReAgent" 和 "ReCustomization"

3.8 打开目录 "C:\mount\Windows\System32\Recovery",删除里面的两个文件 "ReAgent" 和 "Winre.wim" ,然后把刚刚复制的 "ReAgent" 和 "ReCustomization" 粘贴进来。现在 "C:\mount\Windows\System32\Recovery" 已经和 "C:\Windows\System32\Recovery" 保持一致。记得把上一步的文件隐藏选项改回原设定
3.9 到这里 ASUS.swm 已经修改完毕,现在我们提交并卸载映像。先把 C:\mount 路径下的所有文件资源管理器窗口关闭,然后在具有管理员权限的命令提示符窗口执行:
Dism /Unmount-Image /MountDir:C:\mount /Commit

3.10 为了让 ASUS Recovery 正常工作,还需要修改4个分区的卷标。首先我们用 diskpart 分别给这4个分区分配盘符。输入 diskpart 进入

输入list disk,查看所有磁盘
找到当前系统所在的磁盘 (这里是磁盘0),输入 sel disk 0,选中磁盘0
输入list part,查看所选磁盘上的所有分区

找到类型为“系统”的 EFI 系统分区 (这里是分区1),输入 sel part 1
输入 assign letter=Z: ,为它分配盘符 Z:
找到类型为“恢复”的 WinRE 分区(这里是分区4),输入sel part 4
输入 assign letter=R: ,为它分配盘符 R:
现在可以看到4个分区都已经拥有各自的盘符

另开一个具有管理员权限的命令行窗口,用 label 命令修改这4个分区的卷标:
label C: OS
label F: RESTORE
label R: RECOVERY
label Z: SYSTEM

3.11 回到 diskpart 窗口,输入 list vol,查看所有的卷
找到大小约为 8GB 的 RESTORE 分区 (这里卷标为F: ),输入 sel vol F
输入 gpt attributes = 0x8000000000000001,对所选分区赋予 “OEM” 和 “隐藏” 的属性 (8和1之间有14个0)

最后输入 remove,清除所选分区的卷标。到这里,ASUS Recovery的重建工作全部完成了
四、测试 ASUS Recovery
按住 Shift 点击“重启”,或者开机按 F9,系统会进入 WinRE 的启动选择菜单。在“疑难解答”里面可以看到 ASUS Recovery 出现了!并且可以正常还原 Windows 分区,还原之后 WinRE 里面的 ASUS Recovery 选项仍然存在

1. WinRE 的映像 Winre.wim 必须拥有独立的分区 (以下统称 WinRE 分区),而不是和 Windows 操作系统共享一个分区 (这就是上一个帖子里“2.3 磁盘选择”这一步要求比较严格的原因)。这个分区大小通常为500MB - 1.2GB
2. 另有一个分区 (以下统称 RESTORE 分区) 用于存放一键还原时所用到的系统映像 ASUS.swm,并且这个映像必须包含执行还原前的 WinRE 配置信息
3. 向当前的 Windows 系统注册 ASUS Recovery 的入口
4. EFI 系统分区 (ESP),Windows 分区,WinRE 分区,RESTORE 分区必须拥有正确的卷标
5. BIOS 里面的一些 DMI 值必须正确
现在让我们开始吧
三、重建 ASUS Recovery
3.1 进入系统之后在搜索框输入cmd,点击“以管理员身份运行”

3.2 现在我们向系统注册位于 WinRE 的启动菜单里面的 ASUS Recovery 入口
打开之前用于制作启动盘的U盘 (我这里是E: ),或者挂载之前下载的 ISO 安装镜像,在 AsRec 文件夹内找到 AddDiagnosticsToolToBootMenu。按住 Shift 右键点击这个文件,复制它的路径备用

然后在具有管理员权限的命令提示符窗口执行:
ReAgentC /SetBootShellLink /ConfigFile "E:\AsRec\AddDiagnosticsToolToBootMenu.xml"

其中 "E:\AsRec\AddDiagnosticsToolToBootMenu.xml" 是刚刚复制的文件路径
看到“操作成功”的提示,说明 ASUS Recovery 的入口注册成功了
3.3 打开磁盘管理,找到之前留下的8GB左右的未分配空间。新建一个NTFS分区并分配盘符 (我这里是F: )

3.4 在F: 盘内建立空路径 F:\Recovery\RecoveryImage ,用于存放 ASUS.swm 恢复映像。你可以手动创建文件夹,也可以直接执行:
md F:\Recovery\RecoveryImage

3.5 现在我们将恢复映像的其中一个索引导出到 F:\Recovery\RecoveryImage 里面
打开之前用于制作启动盘的U盘 (我这里是E: ),在 sources 文件夹内找到 install.esd。按住 Shift 右键点击这个文件,复制它的路径备用

然后在具有管理员权限的命令提示符窗口执行:
Dism /Export-Image /SourceImageFile:"E:\sources\install.esd" /SourceIndex:1 /DestinationImageFile:F:\Recovery\RecoveryImage\ASUS.swm /Compress:Max

其中 "E:\sources\install.esd" 是刚刚复制的文件路径,"/SourceIndex:1"表示导出映像中的第一个索引 (即 Windows 10 家庭中文版)。下面是 Windows 版本和索引号的对照,自行替换索引号即可:

3.6 虽然恢复映像已经导出到 F:\Recovery\RecoveryImage,但这个映像不包含指明 WinRE 路径和 ASUS Recovery 入口的配置文件。也就是说,如果直接使用这个映像来恢复 Windows 分区,将会丢失 ASUS Recovery 的入口。因此我们要对刚刚导出的 ASUS.swm 映像做一些修改
首先在C: 根目录创建一个文件夹 C:\mount,然后把 ASUS.swm 映像挂载到这个目录下。在具有管理员权限的命令提示符窗口执行:
md C:\mount
Dism /Mount-Image /ImageFile:F:\Recovery\RecoveryImage\ASUS.swm /Index:1 /MountDir:C:\mount

这里 "/MountDir:" 的后面必须是一个空目录
3.7 打开目录 "C:\Windows\System32\Recovery",点击文件资源管理器顶部的“选项”,去掉“隐藏受保护的操作系统文件(推荐)”,勾选“显示隐藏的文件、文件夹和驱动器”,点击确定。然后复制这个目录下的两个文件 "ReAgent" 和 "ReCustomization"

3.8 打开目录 "C:\mount\Windows\System32\Recovery",删除里面的两个文件 "ReAgent" 和 "Winre.wim" ,然后把刚刚复制的 "ReAgent" 和 "ReCustomization" 粘贴进来。现在 "C:\mount\Windows\System32\Recovery" 已经和 "C:\Windows\System32\Recovery" 保持一致。记得把上一步的文件隐藏选项改回原设定
3.9 到这里 ASUS.swm 已经修改完毕,现在我们提交并卸载映像。先把 C:\mount 路径下的所有文件资源管理器窗口关闭,然后在具有管理员权限的命令提示符窗口执行:
Dism /Unmount-Image /MountDir:C:\mount /Commit

3.10 为了让 ASUS Recovery 正常工作,还需要修改4个分区的卷标。首先我们用 diskpart 分别给这4个分区分配盘符。输入 diskpart 进入

输入list disk,查看所有磁盘
找到当前系统所在的磁盘 (这里是磁盘0),输入 sel disk 0,选中磁盘0
输入list part,查看所选磁盘上的所有分区

找到类型为“系统”的 EFI 系统分区 (这里是分区1),输入 sel part 1
输入 assign letter=Z: ,为它分配盘符 Z:
找到类型为“恢复”的 WinRE 分区(这里是分区4),输入sel part 4
输入 assign letter=R: ,为它分配盘符 R:
现在可以看到4个分区都已经拥有各自的盘符

另开一个具有管理员权限的命令行窗口,用 label 命令修改这4个分区的卷标:
label C: OS
label F: RESTORE
label R: RECOVERY
label Z: SYSTEM

3.11 回到 diskpart 窗口,输入 list vol,查看所有的卷
找到大小约为 8GB 的 RESTORE 分区 (这里卷标为F: ),输入 sel vol F
输入 gpt attributes = 0x8000000000000001,对所选分区赋予 “OEM” 和 “隐藏” 的属性 (8和1之间有14个0)

最后输入 remove,清除所选分区的卷标。到这里,ASUS Recovery的重建工作全部完成了
四、测试 ASUS Recovery
按住 Shift 点击“重启”,或者开机按 F9,系统会进入 WinRE 的启动选择菜单。在“疑难解答”里面可以看到 ASUS Recovery 出现了!并且可以正常还原 Windows 分区,还原之后 WinRE 里面的 ASUS Recovery 选项仍然存在
