NTFS和$ Object_ID上的唯一文件标识符

Ela*_*lan 5 windows filesystems ntfs file

从我在网上找到的文章看来,NTFS上的文件似乎有两种形式的唯一标识符:

$ OBJECT_ID - 这是一个包含ID的属性.此ID由分布式链接跟踪服务使用.可以在快捷方式中找到如何使用它的示例.在桌面上创建指向文件的快捷方式.然后移动该文件.快捷方式仍然有效,因为除了路径和文件名之外,它还使用了一种方法来处理源文件.

并非所有文件都具有$ OBJECT_ID属性.实际上,直到分配实际ID才会将属性添加到文件中.

我试图了解何时设置了对象ID.以下是一些问题:

  1. 何时分配对象ID?根据上面的文章,在一种情况下,当创建文件的快捷方式时,会出现这种情况.

  2. 当文件引用另一个文件(例如嵌入Visio图表的Word文档)时,是否会自动分配对象ID?

  3. 只有在启用/运行分布式链接跟踪时才会分配对象ID,或者它们是否存在,而不管分布式链接跟踪?

  4. 如果我想跟踪文件的唯一标识符,那么在组合的卷序列号和文件索引(低/高)上使用对象ID(64字节)是否有任何好处,它们组合为12个字节.

谢谢,Elan

jrt*_*ton 5

这一切都取决于你想要做什么。:)

文件索引号,就像文档说的那样,实际上只是 NTFS 中文件的一个很好的标识符(与 FAT 相对),但即使如此,如果文件被删除和重新创建(想想备份/恢复),它也会改变,尽管你如果您想区分它们,实际上可能会认为这是一种奖励。

最好不要担心与对象 ID 相关的链接跟踪服务,而是将它们视为您可以创建/设置/读取的东西,尽管再次仅在 NTFS 中。

对象 ID 有一些开销,而文件 ID 没有。对于大多数应用程序,我可能最终会选择文件参考号(即使它们可能很脆弱)。