如何创建NTFS结?


21

如何在Windows XP中创建NTFS交接点?

Answers:



7

尝试使用Sysinternals的联结实用程序,该实用程序在W2k +上可用


注意:此工具仅允许您链接本地卷。您无法符号链接到远程位置。
亚伦弗兰克

也就是说,它并不支持适当的符号链接,但只有“目录连接” - NTFS的旧形式解析点为Windows 2000开发的
可以-ned_food

6

您对联结点的定义是否是与另一个目录硬链接的目录?

如果是这样,那很简单

mklink /J <new directory to be linked> <target directory>

此后,目录之间没有区别。它们具有相同的MFT_REF(来自http://en.wikipedia.org/wiki/NTFS_symbolic_link)。

fsutil 还可以查询重新解析点并进行硬链接。

如果您想知道如何以编程方式执行此操作,则可以在卷句柄上使用NTFS存储驱动程序IOCTL调用。但是打电话更容易mklink

建议您必须具有目标目录的写和修改权限。您将需要运行cmd.exe,以使其正常运行。


19
mklink我相信winxp上不存在。
skaffman 2010年

5
Vista中引入的mklink

NTFS交汇点实际上并未提供对MFT项目的多个引用。认为它们就像是与文件节点的多个硬链接一样,是一种误解,直到最近我也分享了这一误解。它们只是目录节点上的reparse标签。您可以通过建立目录连接然后使用进行测试fsutil reparsepoint delete the_directory-junction_you_made_to_test_this。您将拥有一个独特的目录节点,并且可能为空。
can-ned_food



1

原生Windows XP,7和8命令:

目录连接
mklink /J <oldpath(link)> <newpath(target)>

使得newpath绝对的,你就可以移动的链接没有打破的指针newpath。如果使newpath相对的,当你移动你就可以防止断裂的链接,只要BOTH链接和目标TOGETHER和维护他们的相对路径。


4
mklink不是xp固有的-它仅在Vista上引入。

0

您使用创建交界点

REPARSE_MOUNTPOINT_DATA_BUFFER* pReparseInfo = // ...
pReparseInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
// ...
DeviceIoControl(..., FSCTL_SET_REPARSE_POINTFSCTL_SET_REPARSE_POINT, pReparseInfo, ... 

API调用。需要提供的结构pReparseInfoREPARSE_MOUNTPOINT_DATA_BUFFER

MSDN文章在页面底部提供了一个社区提供的代码段,以显示如何使用API​​。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.