WinHardLink

WinHardLink - это утилита, позволяющая задавать виртуальные адреса объектам файловой системы. Для краткости виртуальные адреса объектов мы будем называть просто виртуальными адресами или виртуальными объектами. Виртуальные адреса могут имитировать файлы, папки и даже диски. С точки зрения операционной системы (ОС) виртуальный адрес ничем не отличается от физического. По сути мы «обманываем» ОС, подсовывая вместо реального адреса некоего объекта виртуальный («ложный») адрес, который выбираем по своему усмотрению.

Можно усмотреть определенное сходство виртуальных объектов с известными каждому пользователю ярлыками (shortcuts). Кое в чем они действительно схожи, но виртуальные адреса могут иметь куда более широкое применение. Ярлыки (которые по сути являются просто файлами с расширением lnk) всего лишь служат средствами, облегчающими навигацию пользователя в проводнике. Виртуальный же адрес, как уже указывалось, ничем не отличается от физического объекта файловой системы, а любые операции над виртуальным объектом эквиваленты операциям над тем физическим объектом, который ему соответствует. Проще говоря, виртуальный адрес можно назвать "супер-ярлыком". Пользователи, знакомые с UNIX, могут усмотреть сходство с UNIX Link и Symlinks. Помимо этого, такие объекты иногда называют Junctions.

Например, если вы переместите папку C:Program FilesMicrosoft Office со всем содержимым куда-нибудь в D:MyFolder, а вместо перемещенной первой папки создадите ярлык с тем же именем, показывающий на вторую, то MS Office, как легко догадаться, потеряет работоспособность: ярлык сможет помочь пользователю найти новое положение файлов, но не обманет операционную систему. Если же вы зададите папке D:MyFolder виртуальный адрес C:Program FilesMicrosoft Office, то MS Office продолжит работать как ни в чем не бывало без всякой переустановки!

Пример 1: перенос приложений на более свободные диски

Предположим, на диске C: установлена Ваша операционная система. Со временем свободное пространство на этом диске начинает убывать. Первое время хватало частичных мер: переноса файла подкачки на другой диск (pagefile), переноса туда же кэша Вашего браузера и папки Мои документы и пр. Однако, всему на свете свойственно заканчиваться, и еще через какой-то промежуток времени места снова стало мало. Неужели придется радикально переставлять емкие программы на другой раздел жесткого диска? Или пользоваться менеджерами дисков для изменения размера системного тома? Но это все нетривиальные, а главное трудоемкие и/или опасные способы. А ведь с помощью WinHardLink можно обойтись без переустановки программ и "шаманств" с диском! На все это уйдет максимум 10 минут, в то время как на переустановку того же MS Office уйдет не менее получаса (да и дистрибутив при этом должен быть под рукой). А сколько нервов будет сэкономлено!

Итак, что нужно сделать, чтобы перенести MS Office (или любое другое приложение) на другой раздел:
Загрузите Windows в безопасном режиме (держите нажатой клавишу F8 при запуске).
Переместите папку C:Program FilesMicrosoft Office (в зависимости от того, куда установлен Office, путь может отличаться от указанного)

Безопасный режим нужен, чтобы Office “освободил” (снял блокировки) со своих исполняемых фалов
Перезагрузитесь в нормальный режим
Запустите WinHardLink.
Создайте виртуальный адрес C:Program FilesMicrosoft Office (или тот, куда был установлен Office), указывающую на ту физическую папку (т.е. соответствующий тому физическому адресу), куда вы переместили первоначальную папку.

Нажмите OK :)
Проверьте работоспособность Office

Поздравляем, задача выполнена успешно! Таким образом, можно перенести на более свободный диск большинство приложений.

Пример 2: перемещение папки Documents and Settings

Иногда бывает эффективнее перенести папку Documents and Settings, нежели приложения. В многопользовательской системе размер это папки часто превышает 500Mb. Кроме того, размещение этой папки на отдельном жестком диске позволяет не делать Backup пользовательских файлов на случай повреждения основного системного диска. В общем виде сценарий остается тем же, что и в прошлом примере.

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

Что нам понадобится:
WinHardLink
Total Commander (или любой другой файловый менеджер, способный перемещать файлы вместе с правами доступа)
Вторая установленная Windows (2000, XP или 2003) или ERD Commander, WinPE или любой другой “Windows Live CD”

Порядок действий:
Создайте виртуальную папку C:Documents and Settings 1 (где C – это диск, на который установлена Windows) указывающую на ту физическую папку, куда вы собираетесь переместить Documents and Settings. Далее будем считать, что физическая папка – это D:Docs&Settings

Загрузитесь в другую ОС или в ERD Commander.
Удалите D:Docs&Settings
С помощью Total Commander (или любого другого файлового менеджера, способного перемещать файлы вместе с правами доступа) переместите C:Documents and Settings в D:Docs&Settings, указав опцию «Копировать права доступа»
Переименуйте (например, в обычном проводнике) C:Documents and Settings 1 в C:Documents and Settings
Загрузите Windows
Откройте WinHardLink и удалите виртуальную папку C:Documents and Settings 1 (т.к. вы все равно ее переименовали на шаге 5, да и отключать ее нельзя, это приведет к потери работоспособности Windows)

Все, теперь папка Documents and Settings находится на другом разделе диска! В целом же при перемещении этой папки рекомендем соблюдать осторожность. «Чайник» может здесь сильно «наворочать».

Пример 3: Эмуляция рабочего окружения приложения (для разработчиков)

Довольно часто при разработке программного обеспечения разработчик сталкивается с проблемой эмуляции рабочего окружения разрабатываемого программного обеспечения на своем компьютере. Это может быть необходимость иметь какой-то особый диск (например, W:) или же необходимость иметь два «синхронизированных» (т.е. одинаковых) файла на разных дисках или в разных папках. Для решения подобных задач очень удобно использовать WinHardLink, так что можно смело заявить, что WinHardLink - это незаменимый помощник разработчика!

Не рекомендуется переносить папку WINDOWS, т.к. последствия этого непредсказуемы
Не рекомендуется устанавливать на виртуальные жесткие диски системные сервисы, т.к. восстановление виртуального диска тоже производится сервисом (WinHardLinkService), и не известно, какой из сервисов запустится раньше. Однако, наличие сервиса на виртуальном диске критично, то WinHardLinkService можно добавить в зависимые сервисы Вашего сервиса.
Нельзя создать виртуальный файл на другом физическом диске. Это ограничение не распространяется на виртуальные папки

Windows 2000/XP/2003 (.NET)
Для виртуальных папок и файлов – файловая система NTFS
Немного места на жестком диске и в оперативной памяти :)

http://www.co.ru/~nadya/WinHardLink/winhardlink.htm

Обновлено: 11.03.2015