NTFS 符号链接可以有卷 GUID 目标吗?

NTFS 符号链接可以有卷 GUID 目标吗?

有没有办法指定例如 \\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target.txt 作为符号链接的目标?或者绝对路径是否始终需要驱动器号?

答案1

NTFS 符号链接可以有卷 GUID 目标吗?

您可以使用链接创建以下形式的符号链接\\?\Volume{f993747a-5d7a-4de1-a97a-c20c1af1ba02}\path\to\target.txt

c:
md \test
cd \test
mklink testlink \\?\Volume{d1a54614-9369-11e4-b7ab-ccaf78b24c0a}\test\test.txt

现在目录测试包含一个符号链接(在我的情况下指向f:\test\test.txt外部驱动器上的文件)。

C:\test>dir
 Volume in drive C has no label.
 Volume Serial Number is C8D0-DF1E

 Directory of C:\test

29/03/2015  23:24    <DIR>          .
29/03/2015  23:24    <DIR>          ..
29/03/2015  23:17    <SYMLINK>      testlink [\\?\Volume{d1a54614-9369-11e4-b7ab-ccaf78b24c0a}\test\test.txt]
               1 File(s)              0 bytes
               2 Dir(s)  248,410,976,256 bytes free

...

C:\test>type testlink
this file is test.txt
C:\test>

...

C:\test>type f:\test\test.txt
this file is test.txt
C:\test>

笔记

  • 这仅当您尝试从命令提示符取消引用链接时才有效,但当您尝试从资源管理器界面访问它时则无效。

进一步阅读

答案2

10,000's在广泛使用跨驱动器硬链接多年后,我只注意到一个问题。这个问题有多严重取决于您的具体情况。请注意,我的应用程序linkd.exe仅使用硬链接(使用 创建的“目录连接”),因此以下内容可能适用于也可能不适用于其他类型的符号链接。

我唯一遇到的问题是校验在极少数情况下表现不佳。如果chkdsk.exe在启动时自动运行以响应先前关闭的驱动器并带有待处理的脏标志,则在某些情况下它似乎会删除所有跨驱动器连接。除了删除连接之外,该chkdsk.exe错误不会破坏任何东西。

解决该问题有多种解决方法和策略chkdsk.exe,超出了原始问题的范围,因此可以说它是有效的......但我遇到的一个警告已被提及。

相关内容