[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 842
  • Репутация:40

    [+] [-]
Перенос профилей пользователей можно сделать по-разному. Я попробую рассказать о некоторых методах.
Метод 1. FolderLocations -установка Windows и перемещение профилей пользователей полуавтоматически.
Используется файл ответов с секцией FolderLocations.
Использование FolderLocations является единственным официальным способом смены профилей. И он имеет некоторые предупреждения на офсайте, впрочем ими в 99% случаях можно пренебречь.
Метод с использованием FolderLocations имеет два варианта смены каталогов, даже три ;)
Первый - смена только ProfilesDirectory. Это я и буду делать в видео.
Предупреждения на офсайте:
- Приложения Microsoft Store не поддерживаются. На 8.1 все работает.
- Updates, fixes, or service packs не будут работать. На 8.1 все работает.
- Переход с Windows 7\8.1 на Windows 10 не поддерживается. Ну и фиг с ним, впрочем это можно пофиксить при желании в любой момент, в 4 пункте напишу как.
- Push-Button Reset не поддерживается. С этим понятно, OEM-щики не используют перенос профилей. При желании можно пофиксить, но смысла мало, проще данные сохранить отдельно.
- Начиная с Windows 10 обновления ОС поддерживаются. Мля парадокс, там и без этого глюк на глюке...
Второй - смена ProgramData. Это я не делал в видео.
Предупреждения на офсайте:
- Приложения Microsoft Store не поддерживаются. Не проверял ибо ProgramData конкретно этим способом не переносил, уверен, что можно юзать.
- Updates, fixes, or service packs не будут работать. Не проверял ибо ProgramData конкретно этим способом не переносил, уверен, что можно юзать.
Третий. Смена и того и другого. Это я пока не дописал ;) Но это будет ещё в 4 пункте...
Давайте поиграемся с ProfilesDirectory. Это можно использовать во время установки или же после установки (через sysprep). Логичнее конечно юзать во время установки, но есть нюанс. Пользователь пишет в файле ответов для прохода oobeSystem что-то типа
<FolderLocations>
    <ProfilesDirectory>D:\Users</ProfilesDirectory>
</FolderLocations>
То есть он хочет, чтобы папка профилей стала D:\Users и предполагает, что томом D: станет раздел после C:. Windows при установке иногда по своим, только ей известным критериям назначает буквы. Чтобы она не запуталась нужно отключать внешние устройства (типа флешек), но иногда и это не помогает.
В видео ниже я покажу суть проблемы и решение. Решение основывается на добавлении в файл ответов в проход specialize секции RunSynchronous, которая запустит указанную пользователем программу и будет ждать выхода из этой программы. Я для примера добавил запуск комстроки и затем... Далее смотрите видео. Решение не идеальное, скорее для понимания что и как.
Использовавшийся файл ответов можно скачать здесь. Он в общем избыточен, для решения используется только две секции, я их промаркировал.
Метод 2. FolderLocations - установка Windows и перемещение профилей пользователей автоматически.
Данный метод является улучшенной версией предыдущего и основан на той же секции FolderLocations файла ответов.
Автоматика просто принудительно переназначает точки монтирования (по простому буквы томов). Варианты автоматики могут быть разные, например по файлу-маркеру или имени тома или размеру тома и т.д. Решается простым скриптом поиска маркера и заменой букв томов в проходе specialize. Я же покажу другой вариант.
Автоматическое создание разделов, их форматирование и перемещение профилей пользователей во время установки Windows.
Этот вариант основан на секции файла ответов DiskConfiguration на проходе windowsPE.
Пример такой секции.
DiskConfiguration>
        <Disk wcm:action="add">
          <DiskID>0</DiskID>
          <WillWipeDisk>true</WillWipeDisk>
          <CreatePartitions>
            <!-- Create System\Windows partition -->
            <CreatePartition wcm:action="add">
              <Order>1</Order>
              <Type>Primary</Type>
              <Size>100000</Size>
            </CreatePartition>
            <!-- Create User Data partition -->
            <CreatePartition wcm:action="add">
              <Order>2</Order>
              <Type>Primary</Type>
              <Size>200000</Size>
            </CreatePartition>
            <!-- Create Media partition -->
            <CreatePartition wcm:action="add">
              <Order>3</Order>
              <Type>Primary</Type>
              <Extend>true</Extend>
            </CreatePartition>
          </CreatePartitions>
          <ModifyPartitions>
            <!-- Format System\Windows partition -->
            <ModifyPartition wcm:action="add">
              <Order>1</Order>
              <PartitionID>1</PartitionID>
              <Label>Windows</Label>
              <Letter>C</Letter>
              <Format>NTFS</Format>
              <Active>true</Active>
            </ModifyPartition>
            <!-- Format User Data partition -->
            <ModifyPartition wcm:action="add">
              <Order>2</Order>
              <PartitionID>2</PartitionID>
              <Label>Data</Label>
              <Letter>D</Letter>
              <Format>NTFS</Format>
            </ModifyPartition>
            <!-- Format Media partition -->
            <ModifyPartition wcm:action="add">
              <Order>3</Order>
              <PartitionID>3</PartitionID>
              <Label>Media</Label>
              <Letter>E</Letter>
              <Format>NTFS</Format>
            </ModifyPartition>
          </ModifyPartitions>
        </Disk>
        <WillShowUI>OnError</WillShowUI>
      </DiskConfiguration>
      <ImageInstall>
        <OSImage>
          <InstallTo>
            <DiskID>0</DiskID>
            <PartitionID>1</PartitionID>
          </InstallTo>
          <InstallToAvailablePartition>false</InstallToAvailablePartition>
        </OSImage>
      </ImageInstall>
Шифровать раздел Windows мы не собираемся, поэтому можно (и даже нужно) объединить раздел загрузчика и Windows. В коде выше формируется том С: с меткой Windows размером 100000 MB под Windows и загрузчик , том D: с меткой Data размером 200000 MB под данные и профили пользователей и том E: с меткой Media под аудио\видео, размером оставшегося места на HDD. Причем указано убить все старые данные на HDD.
Использовавшийся файл ответов можно скачать здесь. Он в общем избыточен, я также оставил выход в комстроку, как и в предыдущем методе, но с другой целью - для показа в видео результат работы назначения букв.



Можно ли использовать вариант автоматического создания разделов, их форматирование и перемещение профилей пользователей, если на HDD уже есть данные пользователя.
Несомненно, если руки растут правильно. Нужно требование очистки диска <WillWipeDisk>true</WillWipeDisk> заменить на <WillWipeDisk>false</WillWipeDisk> и скорректировать к-во и размер разделов.
У метода FolderLocations есть косячок. Ну недаром же предупреждают на офсайте ;) Косячок в общем некритичный, с ним можно никогда и не столкнуться, но все-таки.
Дело в том, что старые икспишные приложения не найдут папки пользователя. Да и прога криворукого программиста не найдет её.

Косяк конечно решаем, мы пофиксим его. Нужно выполнить от имени админа
mklink /J "C:\Users" "D:\Users"
Метод 3. Перемещение профилей пользователей после установки Windows средствами Windows.


Метод 4. Перемещение профилей пользователей после установки Windows с помощью внешней программы.
Установка Windows через проход windowsPE, который мы рассматривали выше - это как-то через задний проход.
Ну согласитесь, данный этап не нужен от слова совсем. Я уж и забыл что там и как, вот снимал видео - пришлось вспомнить..
Кто не в теме поясню. Если примитивно, то на этапе windowsPE происходит решение двух задач - подготовка диска\разделов\томов под будущую Windows и распаковка Windows на выбранный раздел\том. Эти задачи можно решить способом попроще, не используя оригинальный DVD, методов такого похода вагон и это можно сделать в любой среде DOS\UEFI\LINUX\WINDOWS. Причем можно ведь и Windows немного подрихтовать под себя любимого. Способы подрихтовки разнообразны - от простых до не очень. Можно использовать хитрый файл ответов, можно интегрировать обновления, можно интегрировать программы, всякие украшательства и и т.д. и т.п. Потому и существует куча-мала всяких полезных и не очень сборок Windows..

А раз такое упрощается, то почему б и не упростить процесс переноса профилей пользователей, ведь по идее должно сработать..


Последний раз редактировалось: dialmak (2018-08-07 16:11), всего редактировалось 43 раз(а)

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 842
  • Репутация:40

    [+] [-]
korsak7,
Там же 2 варианта смены каталогов FolderLocations, даже 3 ;)
Первый - смена только ProfilesDirectory. Это я и делал.
Второй - смена ProgramData. Это я не делал.
Смена и того и другого. Это я тоже пока не делал ;) Но это будет ещё ...
Судя по ссылкам смена ProfilesDirectory типа цветочки, смена ProgramData более жесткий вариант, мол не будут обновы работать..
Добавил это в шапку раз народ по ссылкам не ходит, по поводу что работает, что нет ещё поговорим позже.

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 842
  • Репутация:40

    [+] [-]
Написал более подробно.
Там же 2 варианта смены каталогов FolderLocations, даже 3 ;)
Первый - смена только ProfilesDirectory. Это я и делал в видео.
Предупреждения на офсайте:
- Приложения Microsoft Store не поддерживаются. На 8.1 все работает.
- Updates, fixes, or service packs не будут работать. На 8.1 все работает.
- Переход с Windows 7\8.1 на Windows 10 не поддерживается. Ну и фиг с ним, впрочем это можно пофиксить при желании в любой момент, в 4 пункте напишу как.
- Push-Button Reset не поддерживается. С этим понятно, OEM-щики не используют перенос профилей. При желании можно пофиксить, но смысла мало, проще данные сохранить отдельно.
- Начиная с Windows 10 обновления ОС поддерживаются. Мля парадокс, там и без этого глюк на глюке...
Второй - смена ProgramData. Это я не делал в видео.
Предупреждения на офсайте:
- Приложения Microsoft Store не поддерживаются. Не проверял ибо ProgramData конкретно этим способом не переносил.
- Updates, fixes, or service packs не будут работать. Не проверял ибо ProgramData конкретно этим способом не переносил.
Третий. Смена и того и другого. Это я пока не дописал ;) Но это будет ещё в 4 пункте...


Последний раз редактировалось: dialmak (2018-07-19 18:45), всего редактировалось 4 раз(а)


Показать сообщения:    

Текущее время: 21-Ноя 15:10

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы