多年来,我一直使用vshadow
+robocopy
将数据分区备份到远程 iSCSI 卷。这是一种非常有效的方法。
这让我拥有了“完美”的副本。打开的文件、ACL 和所有内容都毫无问题地被复制。如果发生重大磁盘故障,我只需插入远程磁盘来替换故障磁盘即可。这比从备份中恢复要快得多。我只有远程磁盘上的最后一个备份。其他备份以更传统的方式使用 Backp Exec 完成,包括轮换等。
我的问题是:我从来没有成功备份过实时的 Windows 系统分区。
我使用 Windows 2003 进行了测试。
我测试了无数种可能。恢复后,所有方法都提示按 Ctrl+Alt+Delete 登录。当我输入用户名和密码时,什么也没发生。桌面从未出现;没有错误消息,只有一个颜色统一的屏幕。机器已启动,服务已启动(即使 TSE 也可以,但我无法登录),机器响应 ping 等。但是,没有办法登录。
我所做的事情的例子:
- 我使用相同的磁盘
- 我使用 dd 将源磁盘复制到目标磁盘(这允许拥有引导加载程序、相同的分区等,以确保 100% 确定)
- 我启动源计算机
- 我使用 iSCSI 连接远程目标磁盘(也可以使用本地磁盘:没有更好的了)。映射到驱动器 H:
我对源磁盘进行快照,并将其映射到驱动器号:
vshadow.exe -p c:\ vshadow -el={edbed95e-7e8d-11d8-9d01-505054503030},g:
我复制文件:
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
我查看生成的日志:没有错误,没有警告
- 我停止 Windows
- 我将目标磁盘插入到之前的本地磁盘的位置
- 我启动了,但无法登录
我也测试了不复制注册表的情况。没有任何改善。
有办法解决这个问题吗?
答案1
几年前我就遇到过这个问题。这只是当前帐户的注册表设置引发的问题。
您可以在备份之前创建另一个管理员帐户,然后在备份完成后使用该帐户登录。这解决了我的问题。我甚至发现,当我首次使用辅助帐户登录时,常规管理员帐户就可以正常工作(但在此之前则不行)。我不明白这是怎么可能的。
答案2
由于您可以进入登录屏幕但 shell 实际上并没有出现,所以我怀疑用户配置文件中的某些内容没有被正确复制。
您可以尝试在启动复制的系统之前删除(或不复制)您要登录的配置文件目录。假设复制成功,Winlogon 应该会从默认配置文件中创建一个新的配置文件。
配置文件大量使用的符号链接可能存在问题。尝试使用 /SL 标志的 robocopy 来复制链接,而不是按照链接的内容。
复制强制完整性标签时可能存在问题。您没有提到复制是在哪个帐户下进行的;即使是管理员组的成员也不能设置高于“高”的完整性级别,但许多操作系统文件都是系统级别(高于“高”)。尝试以 身份运行 robocopy NT AUTHORITY\SYSTEM
。
尝试将 /B 标志与 robocopy 一起使用;它使用备份模式,将复制其他元数据,如扩展属性和备用数据流。
您的备份副本可能不是很节省空间,因为至少从 Vista 开始的版本在 Windows 目录中大量使用硬链接来存储重复的文件(比如在 SxS 中),但据我所知,robocopy 并不知道这些,并且会对文件的每个引用制作一个单独的副本。
您的 robocopy 日志中有任何错误吗?
编辑: 我想我应该更仔细地阅读描述。我提到的一半内容不适用于 WS2003,只适用于 Vista 及更高版本。我过去曾使用卷影复制和 robocopy 成功复制了整个运行 WS2003 的系统,并且没有出现登录问题。我能想到的唯一区别是我在复制过程中使用了 /B 标志来启用备份模式。