Windows XP и Vista: точки соединения NTFS - PullRequest
19 голосов
/ 11 января 2009

Проблема: Я сильно полагался на точки соединения NTFS в Windows XP, хотя они явно не были "официальной" функцией операционной системы. Теперь MSFT щедро сделал точки соединения NTFS официальной частью Vista, но, очевидно, они также намеренно сломали их. Теперь мои подключенные точки WinXP на портативном USB-накопителе не работают, когда я подключаю этот накопитель к Vista.

Вопросы: Есть ли у кого-нибудь скрипт, который заставит NTFS-соединения, созданные на XP, корректно работать в ОБА Vista и XP? Есть ли документация или спецификация, которая объясняет, что MSFT сделал, чтобы вызвать этот сбой?

Обновление: Спасибо, Ульрих и Скотт, за ваши дополнительные вопросы. Инструментом, который я использовал для создания соединений, был Systinternals Junction v1.05 , хотя я не могу с уверенностью сказать, что все они были созданы с этой конкретной версией приложения, размещенного сейчас в MSFT.

Что касается того, как используются соединения ... при условии, что внешнее устройство "Q Drive":

  • 1) Некоторые элементы на Q-диске представляют собой соединения, которые указывают из одного места на Q-диске в другое место на Q-диске (например, в случаях, когда мне нужно было иметь папку в более чем одном месте, и традиционный ярлык в стиле .lnk не сработает)

  • 2) Некоторые элементы представляют собой соединения, которые указывают непосредственно с диска C на места на диске Q. Эти элементы, очевидно, не работают, когда Q Drive фактически не подключен (XP или Vista), но при подключении в Vista соединения не работают, как в XP.

Ответы [ 6 ]

9 голосов
/ 14 января 2009

Соединения и символические ссылки являются двумя различными типами объектов NTFS и не совсем одно и то же. Почему ваши узлы не распознаются в Vista, остается загадкой, но функциональность пересечений все еще существует в Vista, и она целенаправленно не нарушена.

Вы можете использовать mklink (http://technet.microsoft.com/en-us/library/cc753194.aspx) для создания мягких ссылок (по умолчанию), жестких ссылок (/ h) или соединений (/ j). Самое большое улучшение ссылок sym по сравнению с соединениями - ссылки на ссылки sym. файлы ИЛИ каталоги (узлы являются только каталогами), а также могут ссылаться на сетевые ресурсы (узлы не могут).

Но суть в том, что они разные. Не могу сказать, почему ваши существующие узлы не распознаются Vista. Вы по-прежнему можете создавать их, как описано выше.

Там есть бесплатная утилита, на которую есть ссылка в другом посте (LinkMagic), это ваш лучший выбор для того, чтобы ваши соединения снова заработали. Или воссоздай их с помощью mklink.

3 голосов
/ 24 января 2009

Помимо программы Linkmagic, уже предложенной в одном из предыдущих комментариев, расширение оболочки Shell является еще одной хорошей программой для управления (и проверки) ссылками и соединениями:

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

Обе эти программы могут сказать вам, на что указывают существующие ссылки / соединения и каковы они. Это может помочь вам понять, что не так.

3 голосов
/ 14 января 2009

Почему бы вам не попробовать эту программу (бесплатную) для создания ссылок. Очевидно, для Windows Vista нужна другая версия. Я пробовал обе версии (XP и Vista), и они работают. Я знаю, что это не связано с вашей конкретной проблемой, но, учитывая наличие отдельных версий для каждой ОС, могут существовать различия в способах создания соединений.

Инструмент, который вы использовали, довольно старый (2007) и не упоминает Windows Vista. Я знаю, что MSFT изменил что-то в точках соединения, чтобы добавить некоторые функции, которые они хотели использовать. Vista более авторитетна, когда дело касается папок Program Files и подобных.

2 голосов
/ 12 января 2009

На что вы пытаетесь связать? Вы связываетесь со своим портативным приводом или с вашего привода? Вы используете "mklink / d"?

1 голос
/ 22 февраля 2011

Кристоф Хохштеттер сделал «mklink.exe» заменой Windows XP, которая действительно может создать подлинные точки повторной обработки символьных ссылок в Vista (и др.), но предупреждает, что их нельзя использовать при ОС Windows XP. Тем не менее, Cygwin распознает их под XP. И, конечно же, Linux NTFS монтирует. Хотя я не уверен, что это очень поможет ...

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

1 голос
/ 24 августа 2010

Должны работать точки соединения в том же томе - это должны быть жестко связанные каталоги.

Вы пробовали, если USB-накопитель работает между компьютерами с XP? Это может не сработать.

Я знаю, что для Vista тома НЕ идентифицируются по пути (Q :), но по GUID тома. Формат $ MFT_REPARSE_POINT мог измениться с XP на Vista, чтобы приспособиться к этому. Под Vista это означает, что даже если ваш диск Q внезапно станет X, точка соединения все равно будет работать, где под XP он будет сломан.

...