Windows:使用 vshadow+robocopy 工具进行系统备份

Windows:使用 vshadow+robocopy 工具进行系统备份

多年来,我一直使用vshadow+robocopy将数据分区备份到远程 iSCSI 卷。这是一种非常有效的方法。

这让我拥有了“完美”的副本。打开的文件、ACL 和所有内容都毫无问题地被复制。如果发生重大磁盘故障,我只需插入远程磁盘来替换故障磁盘即可。这比从备份中恢复要快得多。我只有远程磁盘上的最后一个备份。其他备份以更传统的方式使用 Backp Exec 完成,包括轮换等。

我的问题是:我从来没有成功备份过实时的 Windows 系统分区。
我使用 Windows 2003 进行了测试。

我测试了无数种可能。恢复后,所有方法都提示按 Ctrl+Alt+Delete 登录。当我输入用户名和密码时,什么也没发生。桌面从未出现;没有错误消息,只有一个颜色统一的屏幕。机器已启动,服务已启动(即使 TSE 也可以,但我无法登录),机器响应 ping 等。但是,没有办法登录。

我所做的事情的例子:

  1. 我使用相同的磁盘
  2. 我使用 dd 将源磁盘复制到目标磁盘(这允许拥有引导加载程序、相同的分区等,以确保 100% 确定)
  3. 我启动源计算机
  4. 我使用 iSCSI 连接远程目标磁盘(也可以使用本地磁盘:没有更好的了)。映射到驱动器 H:
  5. 我对源磁盘进行快照,并将其映射到驱动器号:

     vshadow.exe -p c:\
     vshadow -el={edbed95e-7e8d-11d8-9d01-505054503030},g:
    
  6. 我复制文件:

     robocopy g:\ h:\ /mir /is /it /copyall /r:0 /x /v /fp /np /log:c:\robocopy.log /xd "g:\System Volume Information" g:\windows\Prefetch /xf g:\pagefile.sys g:\hyberfile.sys
    
  7. 我查看生成的日志:没有错误,没有警告

  8. 我停止 Windows
  9. 我将目标磁盘插入到之前的本地磁盘的位置
  10. 我启动了,但无法登录

我也测试了不复制注册表的情况。没有任何改善。

有办法解决这个问题吗?

答案1

几年前我就遇到过这个问题。这只是当前帐户的注册表设置引发的问题。

您可以在备份之前创建另一个管理员帐户,然后在备份完成后使用该帐户登录。这解决了我的问题。我甚至发现,当我首次使用辅助帐户登录时,常规管理员帐户就可以正常工作(但在此之前则不行)。我不明白这是怎么可能的。

答案2

由于您可以进入登录屏幕但 shell 实际上并没有出现,所以我怀疑用户配置文件中的某些内容没有被正确复制。

您可以尝试在启动复制的系统之前删除(或不复制)您要登录的配置文件目录。假设复制成功,Winlogon 应该会从默认配置文件中创建一个新的配置文件。

配置文件大量使用的符号链接可能存在问题。尝试使用 /SL 标志的 robocopy 来复制链接,而不是按照链接的内容。

复制强制完整性标签时可能存在问题。您没有提到复制是在哪个帐户下进行的;即使是管理员组的成员也不能设置高于“高”的完整性级别,但许多操作系统文件都是系统级别(高于“高”)。尝试以 身份运行 robocopy NT AUTHORITY\SYSTEM

尝试将 /B 标志与 robocopy 一起使用;它使用备份模式,将复制其他元数据,如扩展属性和备用数据流。

您的备份副本可能不是很节省空间,因为至少从 Vista 开始的版本在 Windows 目录中大量使用硬链接来存储重复的文件(比如在 SxS 中),但据我所知,robocopy 并不知道这些,并且会对文件的每个引用制作一个单独的副本。

您的 robocopy 日志中有任何错误吗?

编辑: 我想我应该更仔细地阅读描述。我提到的一半内容不适用于 WS2003,只适用于 Vista 及更高版本。我过去曾使用卷影复制和 robocopy 成功复制了整个运行 WS2003 的系统,并且没有出现登录问题。我能想到的唯一区别是我在复制过程中使用了 /B 标志来启用备份模式。

相关内容