Windows XP vs Vista:NTFS连接点

时间:2009-01-11 07:04:29

标签: windows-vista windows-xp ntfs symlink

问题:我非常依赖Windows XP中的NTFS连接点,即使它们显然不是操作系统的“官方”功能。现在MSFT已经慷慨地将NTFS Junction点作为Vista的官方部分,但显然他们也故意打破它们。现在,当我将该驱动器插入Vista盒时,我在WinXP上创建的便携式USB驱动器上的连接点不起作用。

问题:有没有人有一个脚本可以强制在XP上创建的NTFS联结在Vista和XP中正常运行?是否有文档或规范解释了MSFT造成这种破坏的原因?

更新:感谢Ulrich和Scott,感谢您提出的后续问题。我用来创建联结的工具是Systinternals Junction v1.05,但我不能确定所有这些工具都是使用现在MSFT托管的应用程序的特定版本创建的。

至于结点的使用方式......假设有一个外部“Q Drive”设备:

  • 1)Q Drive上的一些项目是从Q Drive上的一个位置指向Q Drive上另一个位置的交叉点(例如,我需要在多个位置放置一个文件夹的情况,以及传统的.lnk样式快捷方式不起作用)

  • 2)有些项目是从C盘直接指向Q Drive位置的交叉点。当Q Drive实际上没有连接盒子(XP或Vista)时,这些项目显然不起作用,但是当在Vista上连接时,这些交叉点在XP上不起作用。

6 个答案:

答案 0 :(得分:9)

连接和符号链接是两种不同类型的NTFS对象,并不完全相同。为什么在Vista中无法识别您的交叉点是一个谜,但结点功能仍然存在于Vista中并且没有故意破坏。

您可以使用mklink(http://technet.microsoft.com/en-us/library/cc753194.aspx)创建软链接(默认),硬链接(/ h)或联结(/ j)。 sym链接在结点上的最大改进是sym链接可以引用文件或目录(联结只是目录),也可以引用网络共享(联结不能)。

但最重要的是他们是不同的。不能告诉你为什么现有的路口不被Vista识别。你仍然可以按照上面的描述创建它们。

在另一篇文章(LinkMagic)中引用的免费软件实用程序是让您的联结再次运行的最佳选择。或者使用mklink重新创建它们。

答案 1 :(得分:3)

为什么不尝试使用this程序(免费软件)来创建链接。显然Windows Vista需要不同的版本。我已经尝试了两个版本(XP和Vista)并且它们可以工作。我知道它与你的具体问题没有关系,但鉴于每个操作系统都有不同的版本,在创建连接的方式上可能存在差异。

您使用的工具相当陈旧(2007年),并未提及Windows Vista。我知道MSFT 确实更改了连接点中的某些内容,以便添加他们想要使用的功能。对于Program Files文件夹等,Vista更具权威性。

答案 2 :(得分:3)

除了先前评论中已经提到的Linkmagic程序之外,Link shell扩展是另一个操作(和检查)链接和联结的好程序:

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

这两个程序都可以告诉您现有的链接/联结点是什么,以及它们是什么。这可以帮助你弄清楚出了什么问题。

答案 3 :(得分:2)

你想要链接到什么?您是否链接到便携式驱动器或从驱动器?你使用的是“mklink / d”吗?

答案 4 :(得分:1)

同一卷内的连接点应该有效 - 它们应该是硬链接的目录。

如果USB驱动器在XP机器之间工作,你试过吗?它可能不起作用。

我知道对于vista来说,卷不是由路径(Q :)标识,而是由卷GUID标识。 $ MFT_REPARSE_POINT格式可能已从XP更改为Vista以适应此情况。 在Vista下,这意味着即使你的Q驱动器突然是X,联结点仍然可以工作,在XP下它会被打破。

答案 5 :(得分:1)

ChristophHochstätter制作了一个“mklink.exe”替代Windows XP,可以实际创建 正版Vista(等)symlink重新分析点,但警告说它们可能无法使用 Windows XP操作系统。但是,Cygwin将在XP下识别它们。当然,Linux ntfs也会安装。 不确定这是否会有很大的帮助...

http://www.zdnet.de/windows_system_verbessern_mklink_f_uuml_r_windows_download-39002345-30973-1.htm