2

在测试备份和恢复软件时,我遇到了以下异常情况:在对文​​件和文件夹进行全面清点后,我得到了一些声称是Archive | Sparse | ReparsePoint. 恢复后,这些文件只有Archive | Sparse.

在清单中,我生成了一系列BackupRead流的 SHA1 哈希,这些哈希在恢复之前和之后都匹配……意思是,我放回了我最初阅读的内容。然而,如果有一个ReparseData块,而我没有把它写出来,哈希就不会匹配。

在具有这组属性的其他文件中,恢复正常进行并恢复了所有预期的属性。这意味着ReparseData遇到了这种情况,并且生成的文件显示为ReparsePoint恢复后。

恢复后,操作系统似乎运行正常,文件加载并执行(其中许多奇怪的文件是 .DLL)。

我的权限没有问题 - 我已经声明了所有必要的权限,并且我打开文件以FILE_FLAG_OPEN_REPARSE_POINT准备BackupWrite. 一切似乎都正常工作。

但我很担心。我不知道我如何或为什么丢失了 ReparsePoint 标志。我不知道它最初是如何被标记为 ReparsePoint 的。我不知道这是否是原始安装的一些奇怪的工件。有没有办法在ReparsePoint文件中设置没有重解析点的属性?

以下是一些受影响的文件和位置的简短列表:

Windows\WinSxS\amd64_microsoft-windows-filehistory-core_31bf3856ad364e35_10.0.14393.0_none_e2812d3f8d830dbb 
  (all files)
Windows\WinSxS\amd64_microsoft-windows-gdi_31bf3856ad364e35_10.0.14393.0_none_d74783f3713901b3
  atmfd.dll
  atmlib.dll
  dciman32.dll

大多数(但不是全部)有问题的文件也恰好在卷上的其他位置硬链接(通常在Program Files. 硬链接绝对不是重解析点(它们的实现方式不同)。

有数百个(总共)。整个卷有大约 160K 个文件。我应该克服它吗?

4

0 回答 0