如何在 Windows NT 4.0 和 Windows 2000 中维护当前注册表备份

文章翻译 文章翻译
文章编号: 318149 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

注意:Microsoft 不对本文介绍的解决方案提供支持。采用这种方法需要自担风险。

在问题发生前创建注册表的备份,然后在发生问题后还原该备份,可以解决多数 Windows 问题。本文介绍如何创建批处理文件,以便定期创建压缩的注册表备份,以后您可以利用这些备份将注册表还原为某个已知状态。此外,如果您无法启动计算机,可以从 Windows 2000 恢复控制台还原注册表备份。批处理文件最多可以创建五个备份。在创建五个备份之后,当创建新备份时,会删除最旧的备份。

该过程使用 Regback.exe 工具备份注册表,使用 Makecab.exe 工具压缩备份。Windows 2000 中带有 Makecab.exe。对于 Windows NT 4.0,该工具包含在 Microsoft Cabinet 软件开发工具包 (SDK) 中。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
310618 Microsoft Cabinet 软件开发工具包
Regback.exe 是资源工具包中的工具。对于 Windows NT 4.0,请使用 Microsoft Windows NT 4.0 资源工具包中的版本。对于 Windows 2000,请使用 Microsoft Windows 2000 资源工具包中的版本。

更多信息

备份注册表

  1. 在 %Windir%\Repair 文件夹中创建名为 Savereg.bat 的批处理文件。文件中要包含以下行:
    set backupdir=%windir%\repair\regback
    set tempdir=%temp%\regback

    if not exist %backupdir% md %backupdir%
    if exist %tempdir% rd /s/q %tempdir%
    md %tempdir%
    regback %tempdir%

    :checknumfiles
    set num=1
    for %%f in (%backupdir%\*.cab) do set /a num+=1
    if %num% LSS 6 goto checkname
    for /f %%i in ('dir %backupdir%\*.cab /a/o-d/b') do set oldest=%%i
    move %backupdir%\%oldest% %backupdir%\%oldest%.old
    goto checknumfiles

    :checkname
    set num=1
    :loop
    if not exist %backupdir%\rb00%num%.cab goto createcab
    set /a num+=1
    goto loop

    :createcab
    set name=rb00%num%.cab
    echo .set inffilename=%backupdir%\setup.inf > %backupdir%\cabdirect.ddf
    echo .set cabinetnametemplate=%name% >> %backupdir%\cabdirect.ddf
    echo .set diskdirectorytemplate=%backupdir% >> %backupdir%\cabdirect.ddf
    echo .set rptfilename=%backupdir%\setup.rpt >> %backupdir%\cabdirect.ddf
    echo .set maxdisksize=cdrom >> %backupdir%\cabdirect.ddf
    for %%f in (%temp%\regback\*.*) do echo %%f >> %backupdir%\cabdirect.ddf

    makecab /f %backupdir%\cabdirect.ddf

    del %backupdir%\cabdirect.ddf
    del %backupdir%\setup.*
    if exist %backupdir%\%oldest%.old del /f/q %backupdir%\*.old
    rd /s/q %tempdir%
  2. 将 Regback.exe 和 Makecab.exe 文件复制到 %Windir%\System32 目录中。对于 Windows 2000,只需要复制 Regback.exe 文件,因为 Windows 2000 中已经含有 Makecab.exe 文件。
  3. 安排日常的注册表备份。在 Windows NT 4.0 和 Windows 2000 中运行以下命令,可以将批处理文件安排为在每天的午夜运行:
    at 00:00 /every:m,t,w,th,f,s,su %windir%\repair\savereg.bat
因为备份都是压缩形式,并且硬盘上仅保存五个备份,所以磁盘空间应当不是问题。根据 Windows 的版本和所安装程序的数量的不同,注册表备份的大小会存在差异。例如,一个“干净”安装的 Windows NT 4.0 的备份,其大小可能不超过 1 兆字节 (MB)。而一个安装有许多程序的 Windows 2000 的备份,其大小可能会超过 5 MB。

还原注册表

  1. 把 Windows 2000 光盘插入 CD-ROM 驱动器中,然后重新启动计算机。
  2. 按 R 键以选择“修复”。
  3. 按 C 键以选择“恢复控制台”。
  4. 选择要还原的 Windows 安装。
  5. 键入管理员密码,然后按 Enter 键。
  6. 键入 cd system32\config,然后按 Enter 键。
  7. 键入以下命令,备份现有注册表文件;在每个命令后按 Enter 键:
    copy default default.bak
    copy sam sam.bak
    copy security security.bak
    copy software software.bak
    copy system system.bak
  8. 键入 expand %windir%\repair\regback\rb00x.cab /f:*(其中,%windir% 是安装 Windows 的文件夹,rb00x.cab 是要还原的注册表备份文件),然后按 Enter 键。
  9. 当出现是否覆盖文件的提示信息时,按 A 键以覆盖所有文件。
  10. 键入 exit,然后按 Enter 键重新启动计算机。
注意:用“/f:filename”代替“/f:*”可以还原个别注册表配置单元,其中,filename 是要还原的注册表配置单元的名称。例如:
expand c:\winnt\repair\regback\rb001.cab /f:system

属性

文章编号: 318149 - 最后修改: 2005年5月10日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 开发员版
关键字:?
kbinfo KB318149
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com