Заканчивается место на диске C а переставлять систему некогда.

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

В Windows 2000 появилась модифицированная файловая система NTFS 5.0. В ней, по аналогии (не полной) с UNIX стали поддерживаться символические ссылки на каталоги. Иными словами, один каталог компьютера может исполнять роль символической ссылки на другой каталог. К примеру, если в свойствах символической ссылки каталога D:\SYMLINK указан целевой объект C:\WINNT\SYSTEM32, то любое приложение, обращающееся к D:\SYMLINK\DRIVERS, на самом деле получает доступ к C:\WINNT\SYSTEM32\DRIVERS.

Более детально о точках соединенияздесь.

В стандартной поставке Windows небыло никакой утилиты для работы с символическими ссылками. И Mark Russinovich из Sysinternals написал свою бесплатную Junction.

Чтобы создать или удалить точку соединения, запустите программу Junction так.
Синтаксис: junction [-s] <имя каталога или файла>
-s Рекурсия подкаталогов.

Чтобы удалить точку соединения, используйте параметр -d и укажите имя этой точки.
Синтаксис: junction [-d] <каталог с точкой соединения> [<объект соединения>]

По этой технологии можно вынести весь Program Files или выборочные каталоги на другой локальный диск.
Вынос “тела” можно сделать уже после инсталляции. До инсталяции можно тоже если предварительно прилинковать каталог верхнего уровня. Препарировать можно с высокой гибкостью. Точка соединения сохраняется при перезагрузках, поэтому линковать нужно единожды. Если физически “стырить” диск уже после линковки, то при попытке войти в каталог система будет ругаться. Если вернуть диск на место – будет снова работать.

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

Выносить можно на криптодиски. Только запускать программу можно будет уже после монтирования диска. Аналогично выносится и Мои документы.

Также можно вынести мусорные %temp% каталоги программ, где они не настраиваются.

Выносится каталог например вот так:
С диска “C:\Program Files\Adobe” каталог целиком переносится на диск “D:\Moved from C\Adobe”
Затем запускается
"C:\Program Files\Sysinternals\Junction\junction.exe" "C:\Program Files\Adobe" "D:\Moved from C\Adobe"
где
“C:\Program Files\Sysinternals\Junction” – это путь к утилите Junction – вы её можете скопировать куда вздумается;
“C:\Program Files\Adobe” – каталог целевой не должен существовать, он будет создан;
“D:\Moved from C\Adobe” – каталог источник, откуда произойдёт линковка.

Для продвинутых настройщиков системы есть одно но. При линковке NTFS права не меняются. Поэтому если пользуетесь их настройкой – то нужно осторожно с флажком перезаписи прав у вложенных каталогов и файлов.

А бывает для диска полезно чистить каталоги рода %TEMP% и кеши от браузеров.

UPDATE:
Ещё забыл добавить другой способ наращивания места на целевом диске.
Кроме Junction позволяющего ювелирно использовать данные с другого диска, есть не менее удобная “топорная” возможность Mount point жёсткого диска. Нужно войти в менеджер дисков, и к целевому логическому диску popup меню “Change drive letter and paths” добавить путь в нужный каталог например на диске C:\WholeMountedDisk_D. Диск отобразится цельно в указанном каталоге на диске C.

2 thoughts on “Заканчивается место на диске C а переставлять систему некогда.”

  1. Есть люди которым второй раздел критически важен под хранение бэкапов (ещё тот изврат) :) А это как правило рождает эту самую проблему “место есть, но в двух разных банках”. И начинаются вопросы в форумах. :)

Comments are closed.