Три механизма, одна идея: показать то, что лежит в другом месте
Жёсткая ссылка — это второй каталоговый вход для того же файла: оба имени указывают на одну запись MFT, а NTFS ведёт счётчик ссылок — удаляете одно имя, и данные живут, пока не исчезнет последняя ссылка. Жёсткие ссылки работают только для файлов, никогда для папок и никогда между томами. Именно этот трюк лежит в основе WinSxS: хранилище компонентов, System32 и горы резервных копий обновлений делят одни и те же физические файлы, так что каждая «копия» не стоит на диске ни байта.
Джанкшен — это точка повторной обработки на каталоге: технология времён Windows 2000, перебрасывающая одну папку на другую в пределах машины. Так Windows делает призраки совместимости вроде «Documents and Settings», указывающей на C:\Users. Символическая ссылка — современный и более способный вариант: она указывает и на файлы, и на папки, умеет относительные пути и переходы между томами, но для создания нужны права администратора или режим разработчика.
Команды и то, что они на самом деле создают
Всё делается командой mklink, и вся разница — в ключах. Откройте консоль от имени администратора: три приведённые ниже формы покрывают девяносто процентов реальных случаев. Результат проверяется командой dir /AL — точки повторной обработки помечаются как <SYMLINK>, <SYMLINKD> или <JUNCTION>, а их цели видны в скобках.
- mklink /H backup.txt original.txt — жёсткая ссылка: два имени, один файл, ноль лишних байт
- mklink /J C:\Link C:\RealFolder — джанкшен: старый, быстрый, только папки в пределах тома
- mklink /D C:\Link C:\RealFolder — символическая ссылка на каталог: нужны права администратора или режим разработчика
- fsutil hardlink list file.txt — показывает все имена, по которым доступны данные
- dir /AL — список точек повторной обработки в папке с типом и целью
Где ссылки кусаются: бэкапы, чистильщики и перемещения
Наивные счётчики места учитывают жёсткие ссылки по одному разу на каждую, поэтому инструменты «дедупликации» гордо рапортуют о 40 гигабайтах воображаемой экономии на здоровой Windows. Некоторые чистильщики идут по джанкшенам в цели и удаляют настоящие данные через чёрный ход; приличные пропускают точки повторной обработки целиком. А если перетащить папку с джанкшеном на другой диск, Проводник может молча заменить ссылку полной копией цели — и несколько гигабайт появятся из ниоткуда.
Правила безопасности просты. Используйте ссылки для структуры, а не для хранения и документируйте каждый джанкшен, созданный в корне диска с данными. И не верьте размеру папки на томе, который не сканировали с учётом жёстких ссылок: перед удалением «дубликата» выполните fsutil hardlink list — если у данных два имени, перед вами вообще не копия.
Вопросы и ответы
Джанкшен — это то же самое, что ярлык?
Нет. Ярлык — это файл .lnk, который должна понимать сама программа; джанкшен работает на уровне файловой системы, поэтому любая программа прозрачно видит содержимое целевой папки.
Удаление жёсткой ссылки удаляет исходный файл?
Нет. Данные исчезнут, только когда удалена последняя жёсткая ссылка на них; до этого момента каждое имя — равноправный владелец, а не ссылка на какой-то «настоящий» оригинал.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]