Windows XP 与 Vista:NTFS 连接点

Posted

技术标签:

【中文标题】Windows XP 与 Vista:NTFS 连接点【英文标题】:Windows XP vs Vista: NTFS Junction points 【发布时间】:2010-09-30 18:08:12 【问题描述】:

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

问题: 有没有人有一个脚本可以强制在 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 驱动器上的位置的连接点。当 Q Drive 未实际连接盒(XP 或 Vista)时,这些项目显然不起作用,但在 Vista 上连接时,连接点不像在 XP 上那样工作。

【问题讨论】:

我对这个很感兴趣,虽然我不使用连接点,但我对NTFS很感兴趣。 【参考方案1】:

你想链接到什么?你是链接到你的便携式驱动器还是从你的驱动器?你在用“mklink /d”吗?

【讨论】:

【参考方案2】:

您为什么不尝试使用this 程序(免费软件)来创建链接。显然 Windows Vista 需要不同的版本。我已经尝试了两个版本(XP 和 Vista),它们都可以工作。我知道这与您的具体问题无关,但鉴于每个操作系统都有单独的版本,因此创建 Junction 的方式可能有所不同。

您使用的工具相当老旧(2007 年),没有提到 Windows Vista。我知道 MSFT 确实 更改了连接点中的某些内容,以便添加一些他们想要使用的功能。 Vista 在 Program Files 文件夹等方面更具权威性。

【讨论】:

【参考方案3】:

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

您可以使用 mklink (http://technet.microsoft.com/en-us/library/cc753194.aspx) 创建软链接(默认)、硬链接 (/h) 或联结 (/j)。符号链接对联结的最大改进是符号链接可以引用文件或目录(联结仅是目录)并且还可以引用网络共享(联结不能)。

但最重要的是它们是不同的。无法告诉您为什么 Vista 无法识别您现有的路口。您仍然可以按上述方式创建它们。

另一篇文章 (LinkMagic) 中提到的免费软件实用程序是让您的路口再次工作的最佳选择。或者使用 mklink 重新创建它们。

【讨论】:

【参考方案4】:

除了之前的一个 cmets 中已经建议的 Linkmagic 程序之外,Link shell 扩展是另一个很好的程序来操作(和检查)链接和联结:

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

这两个程序都可以告诉您现有的链接/连接点指向什么,以及它们是什么。这可以帮助您找出问题所在。

【讨论】:

【参考方案5】:

同一卷内的连接点应该可以工作 - 它们应该是硬链接目录。

您是否尝试过 USB 驱动器是否可以在 XP 机器之间工作?它可能不起作用。

我知道对于 vista,卷不是由路径 (Q:) 标识的,而是由卷 GUID 标识的。 $MFT_REPARSE_POINT 格式可能已从 XP 更改为 Vista 以适应这种情况。 在 Vista 下,这意味着即使你的 Q 盘突然变成 X,连接点应该仍然可以工作,而在 XP 下它会被破坏。

【讨论】:

【参考方案6】:

Christoph Hochstätter 制作了一个“mklink.exe”替代 Windows XP,它实际上可以创建 正版 Vista (et al.) 符号链接重解析点,但警告它们可能无法在以下情况下使用 Windows XP 操作系统。但是,Cygwin 将在 XP 下识别它们。当然,Linux ntfs 也会挂载。 不确定这是否会有很大帮助...

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

【讨论】:

以上是关于Windows XP 与 Vista:NTFS 连接点的主要内容,如果未能解决你的问题,请参考以下文章

Windows Vista 与Windows Xp的区别

Windows XP 与 Vista/7 上的 MS Crypto API 行为

机器学习-R与RStudio安装图文教程

XP和VISTA区别?

哪里是存储与XP,Vista和Windows 7兼容的日志文件的安全位置?

如何制作与 Vista/7 和 XP 兼容的图标?