Связывайте разные папки с разными жесткими дисками

Связывайте разные папки с разными жесткими дисками

Я использую конфигурацию Fusion для новых компьютеров на работе (например, SSD на 128 ГБ с HDD на 1 ТБ). SSD предназначен только для профиля пользователя, а все приложения должны быть установлены на HDD. Однако многие сотрудники просто сбрасывают все свои данные на «Рабочий стол» или «Документы», заполняя SSD. Есть ли способ как-то перенаправить данные из папок, таких как «Рабочий стол» и «Документы», на HDD или, возможно, оставить ОС на SSD, но переместить несколько папок профиля пользователя на HDD? Спасибо! Kyan

решение1

Перемещение всего профиля пользователя — один из вариантов. Это проще всего сделатьизменение местоположения профиля по умолчанию в реестреи затем создать нового пользователя для повседневного использования (вы даже можете удалить старого, если захотите). Вы можете переместить установленный профиль пользователя, но это беспорядок; вам придется найти все ссылки в реестре на местоположение вашего старого профиля и изменить его. Лучшим вариантом будетпереместите свой профиль (или даже всю папку «Пользователи»), пока ОС находится в автономном режиме, а затем создайте соединение каталогов или символическую ссылку (symlink)из C:\Users(или C:\Users\<username>) в новое местоположение. Этот метод также должен работать до Win8 (несмотря на URL); символические ссылки были введены в Vista, а соединения еще старше (хотя раньше их было сложнее создавать, до того как команда mklinkпоявилась в Vista).

Обратите внимание, что оба эти подхода, по сути, не поддерживаются. Если вы сделаете это, вы можете обнаружить, что не можете делать такие вещи, как установка пакетов обновления или обновление Windows на месте — я столкнулся с этой проблемой на машине с Vista и не знаю, была ли она уже исправлена ​​— и можете столкнуться с другими проблемами. Это также не решит проблему программ, которые устанавливаются без возможности выбора местоположения, но не устанавливаются в ваш профиль пользователя. Наконец, есть аргумент в пользу размещения по крайней мере основных частей вашего профиля — вашего реестра пользователя и файлов системных настроек — на загрузочном диске. Это не только будет быстрее (если ваш загрузочный диск — SSD, а ваш диск с данными — нет), но и означает, что ваш профиль не станет непригодным для использования, если ваш диск с данными умрет или будет удален.

Чтобы поддержать эту идею «критические данные профиля на загрузочном диске, данные в другом месте», Windows (во многих версиях, не уверен, когда это началось) позволила вам изменять расположение большинства каталогов ваших персональных данных. По сути, каталоги Рабочий стол/Документы/Загрузки/Музыка/Изображения/Видео быливиртуальныйрасположения в течение некоторого времени (например, XP->Vista изменили «Мои документы» на «Документы» при просмотре в Проводнике, но базовое имя файловой системы осталосьнетизменить, если вы выполнили обновление на месте). Откройте проводник Windows, перейдите в свой профиль пользователя и щелкните правой кнопкой мыши один из ваших виртуальных каталогов. Откройте Propertiesи перейдите на вкладку «Расположение». Щелкните Move...и выберите каталог (после его создания, если необходимо) на вашем диске с данными, где вы хотите разместить содержимое этого виртуального каталога. Windows предложит переместить все из текущего «реального» каталога в новый. После этого все, что попытается установить в «вашу папку Documents», на самом деле будет установлено в новом расположении (хотя, конечно, все, что просто жестко закодирует путь, например, %USER_PROFILE%\Documents\StupidApp_Stuffбез прохождения через API оболочки, не увидит этого изменения). Это также не решает проблему «программа просто помещает себя туда, куда хочет, не спрашивая вас»… но, по крайней мере, этот подход поддерживается Microsoft и сохраняет ваши данные (документы, музыку, сохраненные игры и т. д.) отдельно от настроек вашего профиля (реестр пользователя, данные приложений и т. д.).

Чтобы справиться со случаем, когда программы грубо помещают себя (или свои файлы) туда, где они не нужны, я снова рекомендую символические ссылки. Переместите проблемный файл или каталог (конечно, пока соответствующая программа не запущена) на диск с данными, затем замените его исходное местоположение символической ссылкой на новое местоположение (используя mklink). Например, если C:\ProgramData\RudeAppзанимает десятки гигабайт и впустую тратит место на вашем SSD, вы можете попробовать выполнить следующие команды (предполагается, что используется CMD, а не Powershell или другая оболочка, и что у вас еще нет каталога D:\ProgramData):

md D:\ProgramData
xcopy /e /k /o /h C:\ProgramData\RudeApp D:\ProgramData\RudeApp\
rd /s C:\ProgramData\RudeApp
mklink /d C:\ProgramData\RudeApp D:\ProgramData\RudeApp

Вот что это делает (по порядку):

  1. Создайте каталог ProgramData на диске D: (конечно, ProgramData скрыт и имеет некоторые сложные списки контроля доступа на диске C:, поэтому вы можете использовать xcopy /k /o /h C:\ProgramData D:\ProgramDataвместо этого , чтобы получить все эти метаданные, хотя это также скопирует все файлы непосредственно в ProgramData)
  2. Скопируйте все файлы из исходного каталога C:\ProgramData\RudeApp в новый каталог (D:\ProgramData\RudeApp) на вашем диске с данными. Это копирование рекурсивное (оно также скопирует подкаталоги) и сохраняет безопасность и атрибуты файлов.
  3. Удалите исходный каталог C:\ProgramData\RudeApp. Вы можете переименовать его вместо удаления, если хотите убедиться, что все работает правильно, а затем удалить его.
  4. Создает символическую ссылку на каталог в C:\ProgramData\RudeApp — место, где приложение будет ожидать найти свои файлы — которая указывает на новое место (D:\ProgramData\RudeApp). Программы, включая Windows Explorer, будут видеть ссылку как каталог на C:, но это всего лишь указатель (в NTFS-ese — «точка повторной обработки») на каталог на D:. Указатель занимает лишь незначительное количество места на C:.

Вы можете безопасно удалить символические ссылки, не затрагивая связанные с ними файлы или каталоги. Переименование символической ссылки также безопасно (хотя то, что искало ее, будет думать, что вы удалили папку). Переименование или перемещениесвязанный сфайл или каталогнетбезопасно; это нарушит ссылку, и вам придется удалить ее и создать заново, указав на новое местоположение.

решение2

соединения, жесткие ссылки и т.д.

Вам нужно будет создать папку назначения и скопировать туда файлы перед mklink /j

MKLINK [[/D] | [/H] | [/J]] Цель ссылки

mklink /j Documents j:\Documents
mklink /?

С веб-сайтаЛакомые кусочки для разработчиковв этой статье это объясняется. windows-файл-соединения-символические-ссылки-и-жесткие-ссылки

исходный материал

Символическая ссылка похожа на ярлык, но вместо сохранения в виде файла она регистрируется в разделе жесткого диска. Она не использует дисковое пространство, и все программы распознают как ссылку, так и цель. Символическая ссылка может указывать на любой файл или папку как локально на компьютере, так и по сети с использованием пути SMB.

Жесткая ссылка на файл немного отличается и не может использоваться на нескольких разделах, то есть вы не можете иметь ссылку на диске C:, указывающую на файл на диске D:. Жесткая ссылка на файл указывает на цель и дублирует ее как зеркальную копию, но копия не использует никакого дополнительного пространства на разделе жесткого диска. Таким образом, 2 жесткие ссылки, которые зеркалируют файл размером 1 ГБ, в общей сложности будут использовать только 1 ГБ на разделе, а не 3 ГБ. Важно, что если удаляются жесткие ссылки или цель, другие ссылки сохраняют данные. Изменения в содержимом цели или ссылок автоматически распространяются на все остальные элементы.

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

Связанный контент