2

Любой способ указать, например, \\?\Volume {f993747a-5d7a-4de1-a97a-c20c1af1ba02} \path \to \target.txt в качестве цели символической ссылки? Или абсолютный путь всегда требует буквы диска?

2 ответа2

1

Может ли символьная ссылка NTFS иметь цель guid тома?

Вы можете использовать mklink для создания символической ссылки вида \\?\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

Теперь каталог test содержит символическую ссылку (которая в моем случае указывает на файл 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>

Заметка

  • Это работает, только если вы пытаетесь разыменовать ссылку из командной строки, но не если вы пытаетесь получить к ней доступ из интерфейса проводника.

Дальнейшее чтение

0

Я заметил только одну проблему после многих лет интенсивного использования 10,000's жестких ссылок между приводами. Насколько это важно, будет зависеть от вашей конкретной ситуации. Обратите внимание, что мое приложение использует только жесткие ссылки («соединения каталогов», созданные с помощью linkd.exe), поэтому следующее может относиться или не относиться к другим типам символических ссылок.

Единственная проблема, с которой я столкнулся, это то, что chkdsk плохо себя ведет в редких случаях. Если chkdsk.exe запускается автоматически при загрузке в ответ на то, что диск ранее был отключен с ожидающим грязным флагом, то в некоторых случаях он удаляет все перекрестные переходы. Помимо удаления узлов, ошибка chkdsk.exe ничего не портит .

Существуют различные обходные пути и стратегии для решения проблемы chkdsk.exe , которые выходят за рамки исходного вопроса, поэтому достаточно сказать, что да, это работает ... с одним замечанием, с которым я столкнулся.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .