如何利用REAgentC命令行创建自定义路径的WinRE

本文原载于远景论坛,是本人早年玩弄Windows 7的心得。本次转载稍有修改。(原文链接

1 引子

景友nfy1984创建一个单独用于存储系统恢复映像以及 WinRE 的分区卷, 在建立好R分区及准备好相关文件后,执行如下命令,但未获成功:

reagentc /disable
reagentc /setreimage /path r:\recovery\windowsre
reagentc /enable

针对上述情况,我按照nfy1984描述方法亲自测试了一次,发现出现了同样的问题。后来通过查阅大量网络文献,初步判断问题的症结在于winre.wim为隐藏的系统文件,reagentc命令无法正确识别。下面,我来说说整个操作的过程。

2 建立R分区

(一)右击“计算机”>>“管理”>>“磁盘管理”,压缩F盘空间是建立R分区的第一步,右击“(F:)”>>“压缩卷”,如下图:

(二)在“输入压缩空间量(MB)”处输入即将建立的R分区的大小,我输入了“5120”,即5G空间(网上有教程说,这个分区至少要有3G空间)。如下图:

(三)在完成上一步后,我们会发现在分区的最后,出现一处未分区的空间。右击该空间,选择“新建简单卷”,如下图:

此后步骤没有什么特别,省略。注意的是,要以NTFS格式格式化R分区。

3 新建文件目录

在R分区,我们建立一个二级目录:

R:\Recovery\WindowsRE

将来,把WinRE镜像(boot.sdi和winre.wim)以及Win7镜像(install.wim)均放在该目录下。

4 准备boot.sdi、winre.wim以及install.wim文件

(一)打开“计算机”>>“组织”>>“文件夹和搜索选项”>>“查看”>>把“隐藏受保护的操作系统文件(推荐)”前面的勾去掉。如下图:

(二)在C盘根目录下,找到文件夹“Recovery”,一路打开目录,最终在名字一个超级无敌长的文件夹里面找到了“boot.sdi、winre.wim”。这个超级无敌长的名字其实就是BCD ID。如下图:

(三)复制boot.sdi、winre.wim文件,粘帖至R:\Recovery\WindowsRE目录下。

(四)将win7安装盘“\sources”路径下的“install.wim”复制粘贴至R:\Recovery\WindowsRE目录下。

5 改变文件属性

在我整个测试过程中,这一步至关重要。

(一)以管理员的身份运行cmd.exe。见下图:

“开始”>>在搜索框中输入“cmd”>>右击搜索结果中的“cmd.exe”>>选择“以管理员身法运行”。

(二)依次运行下列命令:

attrib r:\recovery\windowsre\boot.sdi -h -s -r
attrib r:\recovery\windowsre\WinRE.wim -h -s -r
attrib r:\recovery\windowsre -h -s -r

6 运行REAgentC命令行

终于轮到REAgentC命令行登场了,红色加粗字体为运行命令后返回的信息。

Reagentc /disable  '停止当前的WinRE

REAGENTC.EXE: 操作成功

Reagentc /Setreimage /Path R:\Recovery\WindowsRE /bootkey 3b00  '重新定义WinRE的启动路径,F1激活

目录设置为: \?\GLOBALROOT\device\harddisk0\partition6\Recovery\WindowsRE
REAGENTC.EXE: 操作成功

3b00为激活键F1的扫描代码,大家可以自行设置。按键代码对照如下:

  1. F1:0x3b00;
  2. F2:0x3c00;
  3. F3:0x3d00;
  4. F4:0x3e00;
  5. F5:不使用(已预留);
  6. F6:0x4000;
  7. F7:0x4100;
  8. F8:不使用(已预留);
  9. F9:0x4300;
  10. F10:0x4400;
  11. F11:0x8500;
  12. F12:0x8600。
Reagentc /Setosimage /Path R:\Recovery\WindowsRE  '指定WinRE启动Win7安装镜像路径

目录设置为: \?\GLOBALROOT\device\harddisk0\partition6\Recovery\WindowsRE
REAGENTC.EXE: 操作成功

Reagentc /enable  '重启WinRE

REAGENTC.EXE: 操作成功

到这里,算是成功了。我们可以通过运行命令reagentc /info来看看最终的信息。

7 隐藏R分区

在刚才打开的cmd.exe窗口,依次输入下列命令:

diskpart
list disk
sel disk 0  '选择正确的磁盘
list par
sel par 6  '选择正确的分区
remove
set id=27
exit

附上恢复R分区的命令,运行后在“磁盘管理”里重新分配盘符R:

diskpart
list disk
sel disk 0
list par
sel par 6
detail par
set id=07 override
exit

发表评论