1

我一直在使用 VSS 编写备份程序,并从 Windows SDK 6.1 示例中的 VSHADOW.EXE 开始。它通常可以工作,但我很惊讶地看到某些文件仍被锁定在它创建的卷影副本中,例如

C:\Users\Felix\NtUser.dat
C:\Users\Felix\NtUser.dat.log1
C:\Users\Felix\AppData\Local\Microsoft\Windows\UsrClass.dat
C:\Users\Felix\AppData\Local\Microsoft\Windows\UsrClass.dat.log1
...

访问卷影副本中的这些文件(使用CreateFileExCopyFileEx或使用Total Commander或任何其他工具)通常会给我一个错误 32(该进程无法访问该文件,因为它正在被另一个进程使用)。它似乎是任意发生的。怎么可能?

我之前的编辑(事件日志消息)结果不是这个问题的核心,因为我修复了它但没有帮助。

4

1 回答 1

2

有问题的文件原来是指向其他锁定文件的符号链接。卷影副本中的各个文件也是指向原始硬盘上锁定文件的符号链接。要解决这个问题,必须解析符号链接并找到它指向的文件,然后这个文件必须位于卷影副本中。

于 2011-09-27T19:18:41.630 回答