HOWTO:利用 REAgentC 实现快速的系统恢复
在 Windows 7 中 Windows RE 已经被内置在系统中,我们能够在启动系统时通过 F8 热键来启动它。利用 Windows RE,我们能够轻松的修复系统。此外通过 Windows 7 提供的高级恢复功能,我们还能够恢复一个系统映像或重新安装系统。
默认情况下,如果我们的系统出现了问题或故障,需要重新安装操作系统,而之前通过“备份和还原”功能创建过系统映像,那么我们可以利用“备份和还原”中的“高级恢复方法”来恢复这个系统映像。
在高级恢复方法中,还有一个“重新安装 Windows (需要 Windows 安装光盘)”的可选功能,我们可以利用该选项,能够从安装光盘重新为计算机安装操作系统。
当单击“重新安装 Windows (需要 Windows 安装光盘)”后,系统会给我们一个提示,如下图所示。是的,初一看这与常规使用光盘安装系统并无太大区别,只是安装过程中会提示备份当前系统中的用户数据,这样可以有效地避免重装系统而导致的用户数据丢失的问题。
其实该恢复方法还提供了一种无需插入安装光盘便能重新安装系统的配置方法。并且该方法经过重新定制和改进,被用于很多品牌计算机的系统恢复解决方案中。也就是说,我们事先将安装盘中的 install.wim 拷贝到系统盘以外的分区卷上,便可以在使用其恢复系统时,而不插入光盘。这一特性对于那些要恢复系统时可能手头没有安装光盘,或系统组装商来讲是一个非常好的系统恢复解决方案。
此篇日志将主要与大家分享这一配置的详细过程和注意事项。要对恢复环境进行配置,要用到 REAgentC.exe 这个命令。如下图所示,我们可以在 CMD 环境中键入 reagentc /info 命令来查看当前恢复环境的配置信息。(注意:以下所有执行的命令,都需要在管理权限下的 CMD 环境中执行!)从图中我们能看到当前调用的恢复环境(WinRE)是存储在系统盘根目录的 Recovery\f68a6748-77d7-11df-ac2f-b2a6bfbec333 目录下的,并且没有配置“安装程序文件”的路径信息,因此在执行重新安装 Windows 时会提供我们插入安装光盘。那么只要我们配置了“安装程序文件”,便可以实现免光盘的恢复安装。
为此,我们需要准备一份安装源 install.wim,该文件位于系统安装盘的 Sources 目录下,将其拷贝到系统盘以外的分区卷中。本例中 gOxiA 单独创建了一个用于存储恢复数据的分区 - (R:),并将 install.wim 拷贝到根目录下。(PS:执行这一步有几个注意事项,我会在文末注明!强烈大家要看看!)
之后,执行“reagentc /setosimage /path r:\”,其中 setosimage 参数便是指定 Windows 安装映像,path 是路径参数。如下图所示,提示操作成功。
之后我们便可以重新通过控制面板中的“备份和还原”来启动这个高级恢复方法,此时提示插入 Windows 安装盘的信息不再出现。最后启动会提示重新启动计算机,单击重新启动。
计算机重新启动后,会自动进入 WinRE 恢复环境,进入之后恢复环境之后首先会提示我们选择键盘输入方法,默认直接单击“下一步”即可。如果出现账号验证提示框,按要求输入验证密码即可。
之后,会出现一个提示如下图所示。大致内容是一旦执行重新安装 Windows,那么现有的 Windows 安装将被移动到 Windows.old 目录中。这样一来,我们在完成重装系统之后,能够从该目录中检索之前的数据。此外,使用 Bitlocker 的驱动器将暂停保护,完成重装系统后可以通过控制面板中的 BitLocker 恢复对驱动器的保护。
阅读过上面的提示后,单击“是”,向导便开始启动 Windows 的安装程序。因为 install.wim 中包含多个 Windows 7 的 SKU,所以会出现版本的安装选择,这里应当根据自己实际的授权来选择安装 Windows 的版本。
而当我们通过启动系统时按下 F8 键调用系统修复,进入修复环境中能看到选项列表中已经包含“重新安装 Windows”的选项功能。所以,要使用该恢复方法也多了一种调用途径。
至此,整个配置过程便结束了。经过短暂的安装,我们便可以看到重新安装的 Windows。下面 gOxiA 来与大家分享一下实践中遇到的问题以及注意事项,避免大家也走弯路。
1. install.wim 文件必须存储在系统分区卷以外(20100712修正:经过gOxiA后续测试发现,之前测试失败是因为将install.wim存储在了c:\windows\system32\recovery目录下,后续测试存储在系统卷根目录下则不会出现恢复失败的问题,如存储在c:\recoveryos目录中。此外,在恢复之后recoveryos目录并不会移动到Windows.old目录中。特此声明!),如 gOxiA 当初测试时将其拷贝到了 C:\Windows\System32\Recovery 目录中,在测试时进入安装过程会提示如下图的错误。
2. install.wim 不能更名,否则将无法被 Windows 安装程序所识别。
3. 除了使用原始的 install.wim,我们也可以使用定制或预安装过的系统映像,这样可以有效减少重新安装操作系统的时间,与此同时也避免了重装应用程序之苦。当然,这需要前期做好准备工作!定制的映像文件名称规则需遵循 2.
4. 前面我们讲到,很多品牌机制造商也在利用该功能来实现系统恢复。那么,我们可以再深一步的应用,与 gOxiA 在本案例中的环境一样,创建一个单独用于存储系统恢复映像以及 WinRE 的分区卷(本案例中该分区卷的驱动器号是 R:),将 WinRE 或定制版的 WinRE 拷贝到 R:,之后利用 reagentc 命令重新指定 WinRE 的路径。这样做的好处是为了更好的保护 WinRE 以及系统映像文件。为此,我们利用 xcopy /h 来将系统卷中的 WinRE 拷贝到目标卷 R: 中的指定目录下。(PS:因为 WinRE.wim 是系统文件,单独利用 copy 是无法拷贝的。)而这个指定目录结构必须是 Recovery\WindowsRE(PS:不论你指定的 WinRE 是原始文件还是经过自定义过的),如下图所示:
为了重新指定 WinRE 的路径,我们首先需要禁用 WinRE,为此执行如下命令:
之后再执行 reagentc /setreimage 来重新指定 WinRE 的路径,为此执行如下命令:
指定完毕之后执行如下命令来重新启动 WinRE:
最后,我们可以使用 reagentc /info 来查看 WinRE 的配置信息。如下图所示:
5. 为了能更好的保护 Recovery 分区卷,我们可以利用 diskpart 命令将该分区卷的类型改为 OEM,即:ID 27。这样该分区即会被保护起来。
6. 利用 reagentc 的 bootkey 参数,我们还能够为 WinRE 指定键盘扫描代码,这样我们便可以像品牌机一样通过功能键(如:F11)在开机时调用 WinRE,从而显得更加专业。
7. 如果系统卷启用了 Bitlocker 加密保护,那么会自动禁用 WinRE。
OK!今天就到这里,最后友情提示本文中 reagentc 命令均为联机操作模式,如果是在脱机模式下,需要使用 /target 来指定 Windows 7 的位置。在之后的日志里 gOxiA 会与大家分享更多相关的经验和实践,希望大家也能继续关注,尤其是一些系统组装商或企业的 IT 管理人员。(PS:如果你是一个经常为亲朋好友安装操作系统的 Guy,那么持续关注将会有很大的收获!)
参考资料:REAgentC 命令行选项、在硬盘驱动器上部署 Windows RE 映像、Microsoft OEM Partner Center – Windows 7 OPK(受限内容 - 仅供 Microsoft Partner)、Windows 7 Hard Disk Recovery Solution(受限内容 - 仅供 Microsoft Partner)