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

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

  1. Необходимость разделения оперативной информации (система) и архивных данных (данные пользователей) обусловленная, к примеру, необходимостью хранения системных файлов на высокоскоростном, но менее надежном массиве дисков RAID0;
  2. Отсутствие необходимости дополнительного переноса информации при переустановке ОС.
  3. По сравнению с переносом отдельного профиля пользователя перенос папки Users более предпочтителен, поскольку профили всех последующих пользователей компьютера будут также сохранены в нужном месте, и не будет необходимости снова проделывать процедуру переноса.
  4. При использовании SSD лучше быстроизменяемые данные перенести на HDD и продлить годы жизни твердотелу.

Одним из наиболее изящных и рациональных методов осуществления такого переноса является возможность определения месторасположения папки профилей пользователей на этапе установки системы. Такую возможность в отношении ОС 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 (загрузить unattend.xml):

    <?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" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    Версия для x86 (загрузить unattend.xml):
    <?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" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    Сохраните его под любым именем, например, unattend.xml
  5. Предположим, что файл unattend.xml был сохранен в корне диска C, тогда команда для его применения будет выглядеть следующим образом:

    C:\Windows\System32\sysprep\sysprep.exe /audit /reboot /unattend:C:unattend.xml

    Компьютер будет перезагружен
  6. После того как компьютер загрузится выберите в окне sysprepпункт для перезагрузки компьютера в OOBE. Надо учесть, что настройка папок будет заметна только после перехода в режим OOBE.
  7. Вернувшись в к окну задания имени компьютера и имени пользователя проведите установку до конца.
  8. После загрузки компьютера убедитесь, что папки D:Users и D:ProgramData существуют и что папка пользователя, имя которого Вы задали на финишном этапе установки находится в D:Users. Можно перед доустановкой сразу убедиться в переносе папок: SHIFT-F10 и в консоли посмотреть наличие Users на диске D:.

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

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

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

PS Оригинальный материал взят отсюда. Большое спасибо добрым людям.