Как создать переход NTFS?

Ответы:

11

По умолчанию Windows XP не имеет инструментов для создания точки соединения. Этот инструмент ( linkd) является частью Windows Resource Kit Tools .

Еще один инструмент - перекресток от Марка Руссиновича.

Максим Великобратов
источник
Когда я пытаюсь создать символическую ссылку на удаленную папку, я получаю сообщение об ошибке «Невозможно создать ссылку в: [foldernamehere]]». Создается пустая папка, но нет ссылки.
Аарон Франке
7

Попробуйте утилиту соединения от Sysinternals, она доступна на W2k +


источник
Примечание. Этот инструмент позволяет связывать только локальные тома. Вы не можете символическую ссылку на удаленное местоположение.
Аарон Франке
Т.е. он не поддерживает собственно символическую ссылку, а только «соединение каталогов» - более старую форму точки повторной обработки NTFS, разработанную для Windows 2000.
can-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
Скаффман
5
mklink представлен в Vista
Соединения NTFS фактически не предоставляют несколько ссылок на элементы MFT. Думать, что они в точности похожи на несколько жестких ссылок с файловыми узлами, - заблуждение, которым я также поделился до недавнего времени. Это просто повторные теги на узлах каталогов. Вы можете проверить это, сделав соединение каталога, а затем используя fsutil reparsepoint delete the_directory-junction_you_made_to_test_this. У вас будет отдельный и, вероятно, пустой узел каталога.
can-ned_food
3

Вы также можете использовать Link Shell Extension в качестве GUI-ориентированного интерфейса. Он может создавать соединения, жесткие ссылки и даже символические ссылки в Windows XP, если вы устанавливаете драйвер фильтра NTFS 5 от Masatoshi Kimura, как описано. http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

хулиган
источник
1

ОСНОВНАЯ КОМАНДА Windows XP, 7, & 8:

Справочник Junction :
mklink /J <oldpath(link)> <newpath(target)>

Сделав newpathабсолют, вы сможете перемещать ссылки, не ломая указатель на newpath. Если вы сделаете newpathродственника, вы сможете предотвратить разрыв ссылки, если вы переместите ОБА ссылку и наметите ВМЕСТЕ и сохраните их относительные пути.

BenH
источник
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. pReparseInfoуказывает на REPARSE_MOUNTPOINT_DATA_BUFFERструктуру, которую вы должны предоставить.

В статье MSDN внизу страницы представлен фрагмент кода, предоставленный сообществом, в котором показано, как использовать API.

Роман Р.
источник
0

Вы можете соединить NTFS с помощью специального программного обеспечения. Я рекомендую Link Shell Extension (LSE) . Это бесплатное и простое в использовании. Он также имеет хорошую документацию со скриншотами всех шагов.

vasili111
источник