Перенос папки профилей пользователей (Users) и папки ProgramData на другой диск на этапе установки ОС (Windows 7)

В основе метода лежит статья из базы знаний Microsoft c несколько странным для русского уха названием… Смотрите сами — http://support.microsoft.com/kb/949977

Задача переноса папки профилей пользователей с системного диска на другой логический или физический диск в ОС семейства Windows достаточно актуальна и может быть необходимой по ряду причин:

1. Необходимость разделения оперативной информации (система) и архивных данных (данные пользователей) обусловленная, к примеру, необходимостью хранения системных файлов на высокоскоростном, но менее надежном твердотельном накопителе SSD, а данных пользователей на другом, обычном диске HDD;

2. Отсутствие необходимости дополнительного переноса информации при переустановке ОС.

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

Одним из наиболее изящных и рациональных методов осуществления такого переноса является возможность определения месторасположения папки профилей пользователей на этапе установки системы. Такую возможность в отношении ОС Windows 7 нам предоставляет Microsoft под названием Audit Mode. Подробнее об этом режиме можно почитать в следующей статье.

Теперь собственно о сценарии переноса папки Users:

1. Следует произвести обычную установку Windows 7 любым удобным для Вас способом остановившись на шаге, где программа установщик попросит Вас ввести имя компьютера и имя пользователя.

2. Находясь на экране ввода имени компьютера и имени пользователя нажмите сочетание клавиш CTRL + SHIFT + F3. Компьютер будет перезагружен и загрузится уже в режиме Audit Mode. При этом система будет находится в этом режиме до тех пор, пока Вы не запустите утилиту sysprep с ключом /oobe или не выберете соответствующий пункт в оконной версии этой утилиты, которая стартует в Audit Mode каждый раз при запуске системы.

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

4. Теперь необходимо сформировать конфигурационный файл для настройки местоположения папки Users, вот его содержимое:

Версия для x64:

<?xml version=»1.0″ encoding=»utf-8″?>
<unattend xmlns=»urn:schemas-microsoft-com:unattend»>
<settings pass=»oobeSystem»>
<component name=»Microsoft-Windows-Shell-Setup» processorArchitecture=»amd64″ publicKeyToken=»31bf3856ad364e35″ language=»neutral» versionScope=»nonSxS» xmlns:wcm=»http://schemas.microsoft.com/WMIConfig/2002/State» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»>
<FolderLocations>
<ProfilesDirectory>D:\Users</ProfilesDirectory>
<ProgramData>D:\ProgramData</ProgramData>
</FolderLocations>
</component>
</settings>
<cpi:offlineImage cpi:source=»wim:d:/sources/install.wim#Windows 7 ULTIMATE» xmlns:cpi=»urn:schemas-microsoft-com:cpi» />
</unattend>

Версия для x86:

<?xml version=»1.0″ encoding=»utf-8″?>
<unattend xmlns=»urn:schemas-microsoft-com:unattend»>
<settings pass=»oobeSystem»>
<component name=»Microsoft-Windows-Shell-Setup» processorArchitecture=»x86″ publicKeyToken=»31bf3856ad364e35″ language=»neutral» versionScope=»nonSxS» xmlns:wcm=»http://schemas.microsoft.com/WMIConfig/2002/State» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»>
<FolderLocations>
<ProfilesDirectory>D:\Users</ProfilesDirectory>
<ProgramData>D:\ProgramData</ProgramData>
</FolderLocations>
</component>
</settings>
<cpi:offlineImage cpi:source=»wim:d:/sources/install.wim#Windows 7 PROFESSIONAL» xmlns:cpi=»urn:schemas-microsoft-com:cpi» />
</unattend>

5. Сохраните его под любым именем, например, movefolder.xml

6. Предположим, что файл movefolder.xml был сохранен в корне диска C, тогда команда для его применения будет выглядеть следующим образом: C:\Windows\System32\sysprep\sysprep.exe /audit /reboot /unattend:C:\movefolder.xml

Примечание: на этом можно столкнуться с ошибкой следующего содержания:
3.14 “Произошла неустранимая ошибка при выполнении программы Sysprep на компьютере.”
Решение ее просто, но нетривиально, как и все у компании Microsoft, необходимо отключить службу с названием «Служба общих сетевых ресурсов Windows Media»

7. После того как компьютер загрузится выберите в окне sysprepпункт для перезагрузки компьютера в OOBE.

8. Вернувшись в к окну задания имени компьютера и имени пользователя проведите установку до конца.

После загрузки компьютера убедитесь, что папки D:\Users и D:\ProgramData существуют и что папка пользователя, имя которого Вы задали на финишном этапе установки находится в D:\Users.

В качестве бонуса также можно воспользоваться достоинствами так называемых junction points для предотвращения ошибок, связанных с явным указанием прежних путей папок профилей пользователей. Для этого создадим при помощи утилиты mklink две символические ссылки:

mklink /D C:\Users D:\Users
mklink /D C:\ProgramData D:\ProgramData

Таким образом теперь даже при обращении по прежним путям любая программа не заметит подмены и будет работать с папками на диске C, хотя фактически они будут расположены в настроенном Вами месторасположении. Финальным штрихом проделанной работы будет перенос папки Temp на тот же диск, что и профили, и исправление значений «Переменные среды» на D:\Temp