Microsoft VSHADOW.EXE影子副本包含锁定的文件



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

C:UsersFelixNtUser.dat
C:UsersFelixNtUser.dat.log1
C:UsersFelixAppDataLocalMicrosoftWindowsUsrClass.dat
C:UsersFelixAppDataLocalMicrosoftWindowsUsrClass.dat.log1
...

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

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

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

相关内容

  • 没有找到相关文章

最新更新