备份和还原 Windows Server 2003 R2 和 Windows Server 2003 SP1 中的系统状态

注意

本主题仅适用于 Windows Server 2003 R2 和 Windows Server 2003 Service Pack 1 (SP1) 。 有关其他操作系统版本的信息,请参阅 备份和还原系统状态

 

注意

Microsoft 不提供开发人员或 IT 专业人员技术支持,以便在 Windows (所有版本) 实现联机系统状态还原。 有关使用 Microsoft 提供的 API 和过程实现联机系统状态还原的信息,请参阅 MSDN 社区中心提供的社区资源。

 

执行 VSS 备份或还原时,Windows 系统状态定义为多个关键操作系统元素及其文件的集合。 备份和还原操作应始终将这些元素视为一个单元。

在具有 SP1 的 Windows Server 2003 R2 和 Windows Server 2003 中,没有设计将这些对象视为一个的 Windows API,因此建议请求者有自己的系统状态对象,以便他们能够以一致的方式处理这些组件。

由于 VSS 在 系统文件保护 (WFP) 防止系统状态文件损坏的 Windows 版本上运行,因此需要执行特殊步骤来备份和还原系统状态。

系统状态包括以下内容:

  • 受 WFP 保护的所有文件、启动文件(包括 ntldr、ntdetect 和性能计数器配置)
  • Active Directory (ADSI 在域控制器) 系统上) (
  • 系统卷文件夹 (SYSVOL) ,该文件复制服务 (FRS) (在域控制器)
  • 证书服务器在提供证书颁发机构) 的系统上 (
  • 作为 Windows 群集节点的系统上的群集数据库 ()
  • 注册表服务
  • COM+ 类注册数据库

可以按任何顺序备份系统状态。

但是,还原系统状态应首先替换启动文件,并提交 system 节 (配置单元) 注册表作为该过程的最后一步,并可能按以下顺序发生:

  1. 还原启动文件。
  2. COM+ 类注册数据库
  3. 如果需要, (还原 SYSVOL、证书服务器和群集数据库) 。
  4. 如果需要,) 还原 Active Directory (。
  5. 还原注册表。

某些系统服务(如证书颁发机构)具有传统的 VSS 编写器,并遵循 VSS 备份和还原算法。 其他(如注册表)需要自定义备份或还原操作;有关详细信息,请参阅 自定义备份和还原

启动和系统文件的 VSS 备份和还原

启动文件和系统文件应仅作为单个实体进行备份和还原。

请求者可以安全地使用这些文件的卷影复制版本,并应确保系统卷和启动设备已 复制卷影

系统和启动文件包括:

  • 核心启动文件:
    NtLdr.exe
    Boot.ini
    NtDetect.com
    NtBootDD.sys ((如果存在) )
  • 在备份 WFP 文件之前,必须备份 WFP 服务目录文件,该文件位于:
    %SystemRoot%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
  • 系统文件保护 保护并由 SfcGetNextProtectedFile 枚举的所有文件 (请参阅 WFP 受保护文件的 VSS 还原操作)
  • 性能计数器配置文件:
    %SystemRoot%\System32\Perf?00?。Dat
    %SystemRoot%\System32\Perf?00?。Bak
  • 如果存在,应将 Internet Information Server (IIS) 元数据库文件包含在备份和还原操作中,因为它包含 Microsoft Exchange 和其他网络应用程序使用的状态。 可在以下位置找到此文件:
    %SystemRoot%\System32\InetSrv\Metabase.bin
  • 如果备份了 IIS 元数据库文件,则应还原用于使应用程序能够读取某些加密条目的密钥作为系统状态的一部分。 文件可在以下项下找到:
    %SystemRoot%\System32\Microsoft\Protect\*
    %AllUsersProfile%\Microsoft\Crypto\RSA\MachineKeys\*
  • 备份启动文件和系统文件时,可能需要执行以下操作来确定 DOS 启动设备:
    1. 在“HKEY_LOCAL_MACHINE\系统设置\系统分区”下找到系统\分区。
    2. 将系统根环境变量 (%SystemRoot%) 传递给装载管理器以获取 NT 设备名称。

WFP 受保护文件的 VSS 还原操作

WFP 服务旨在防止系统文件意外或零碎替换。 因此,需要采取特殊步骤来恢复粮食计划署的数据。

表示 WFP 编写器应在定义其编写器元数据文档时指定 VSS_RME_RESTORE_AT_REBOOT 还原方法。 如果请求者确定 WFP 编写器未能指定此还原方法,则表示编写器错误。

请求者应使用 Win32 函数 MoveFileExMOVEFILE_DELAY_UNTIL_REBOOT 参数实现VSS_RME_RESTORE_AT_REBOOT还原方法,以替换系统文件。 在系统重新启动之前,还原的文件不会复制到实际的系统文件目录中。 仅当以下 REG_WORD 注册表项的值设置为 1 时,才会覆盖受保护的系统文件:

\ HKEY_LOCAL_MACHINE系统\CurrentControlSet\控制\会话管理器\AllowProtectedRenames = 1

此值必须在任何启动之前设置,其中受保护的文件将通过 MoveFileEx 替换,并在重新启动后删除。

还应备份或还原系统 dllcache 目录,并带有启动卷备份和还原,并且通过检查 REG_EXPAND_SZ 注册表项来定位:

\ HKEY_LOCAL_MACHINE软件\微软\\ Windows NT CurrentVersion\WinLogon\SfcDllCache

                  数据类型

                  REG\_EXPAND\_SZ

使用系统文件检查器 (SFC) 从命令提示符重新生成系统 dllcache 目录的内容:

  • /SCANONCE 选项在下次系统启动时扫描所有受保护的文件。
  • /SCANNOW 选项会立即扫描所有受保护的文件。

将扫描所有受保护的文件,任何无效的版本都将在目录和 dllcache 位置中替换。

有四个文件是 WFP 的一部分,无法使用 WFP 文件还原:

Ctl3dv2.dll DtcSetup.exe NtDll.dll Smss.exe

这些文件有助于还原 WFP 文件,因此存在循环依赖项。 目前,除了重新安装 Windows 之外,无法还原这些文件。