Перенос папки профилей пользователей (Users) с системного раздела Windows

Зачастую после установки операционной системы бывает необходимость в переносе папки профилей пользователей (Users) с системного раздела Windows.  Есть конечно перемещаемые профили и перенаправление папок — но иногда применение этого функционала не очень удобно по разным причинам. Встроенной возможности Windows для этого к сожалению нет.

В нашем случае перенос папки с профилями пользователей необходимо было выполнить на арендованном выделенном сервере, на котором планировалось работа порядка 50 пользователей 1с через терминальные подключения к удаленному рабочему столу. Операционная система Windows 2012 R2 уже была установлена из образа провайдера и соответственно папка с профилями размещалась на системном разделе. Хотелось вынести профили пользователей на отдельный раздел — чтобы они могли использовать все доступное место на разделе для хранения своих файлов в папках Мои документы, Рабочих столах и т.д. без ограничения квотированием и при этом не могли занять все пространство на системном разделе.

Для переноса папок использовалась утилита XXCOPY от Pixelab xxcopy.com. Нам нужна версия Pro, которая не бесплатна, но в ней есть пробный период на 60 дней, чего более чем достаточно. Утилита обладает широким набором возможностей для копирования файлов.

В целом перенос выглядит следующим образом:

1. Создаем временного пользователя с правами администратора, перезагружаемся и логинимся под ним.

2. С помощью утилиты XXCOPY копируем папку с профилями пользователей на нужный нам раздел. У нас это диск D:\. Для понимания используемых ключей утилиты отправляем Вас к документации, а ниже приведем готовый пример

xxcopy c:\Users d:\Users /E /H /K /SC /oE1

Нужно заметить, что утилита не копирует некоторые файлы временного пользователя, под которым мы вошли в операционную систему, что может повлечь за собой ошибки в его работе — именно поэтому он нам и нужен.

3. Вносим изменения в реестр Windows на предмет нового расположения папки с профилями. Отвечает за это ветка реестра  по адресу

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Предварительно сделайте резервную копию этой ветки через пункт контекстного меню «Экспортировать» и сохраните этот файл.  В указанной ветке реестра нужно изменить ключи Default, ProfilesDirectory и Public на «D:\Users\Default», «D:\Users» и «D:\Users\Public» соответственно для нашего варианта переноса папки в корень диска D:\. В ветке ProfileList расположены папки соответствующие существующим пользователям операционной системы, поэтому нам нужно внести соответствующие правки ProfileImagePath для каждой ветки реестра пользователя.

4. Перезагружаем операционную систему и логинимся под пользователем отличным от временного, используемого нами для переноса папки с профилями. Убеждаемся в корректности работы операционной системы. Если что-то пошло не так и Вы получаете ошибки при входе в систему — восстановите измененные значения реестра или вручную или через импорт выгруженной ветки реестра. Перегрузите операционную систему, папки с профилями остались на своих места, ведь мы просто копировали их — все должно работать без ошибок.

5. Если ошибок нет, то нам остается удалить старую папку с профилями, исправить ссылку C:\Documents and Settings и удалить временного пользователя.

Удаляем папку профилей пользователей с системного раздела и вместо нее создаем ссылку на новое расположение

rd «C:\Users» /S
mklink /D «C:\Users» «D:\Users»

Исправляем ссылку C:\Documents and Settings, для этого удаляем ее и создаем новую с указанием на новое расположение папки с профилями

rd «C:\Documents and Settings»
mklink /D «C:\Documents and Settings» «D:\Users»

Удаляем временного пользователя. Или если вы хотите его все таки оставить в системе, можно удалить папку с его профилем через «Система» — «Дополнительные параметры системы» — закладка «Дополнительно» — «Профили пользователей». В открывшемся окне находим нашего временного пользователя и удаляем его профиль. Теперь если войти под ним в систему — его профиль будет создан заново по новому пути и ошибок в работе пользователя не должно быть.