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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

    [+] [-]
Перенос профилей пользователей можно сделать по-разному. Я попробую рассказать о некоторых методах.
Метод 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 раз(а)

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

    korsak7
  • 107
  • Стаж: 3 года 11 месяцев
  • Сообщений: 542
  • Репутация:44

    [+] [-]
Сам вариант с использованием FolderLocations имеет некоторые некритичные ограничения
При изменении расположения по умолчанию папок данных программы на том, отличный от системного Тома, обслуживание образа невозможно. Любые обновления, исправления или пакеты обновления не могут быть применены к установке.
Как это перевести на осмысленный русский?

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

    xowlet
  • 1024
  • Стаж: 3 года 4 месяца
  • Сообщений: 38
  • Репутация:1

    [+] [-]
55360
Сам вариант с использованием FolderLocations имеет некоторые некритичные ограничения
При изменении расположения по умолчанию папок данных программы на том, отличный от системного Тома, обслуживание образа невозможно. Любые обновления, исправления или пакеты обновления не могут быть применены к установке.
Как это перевести на осмысленный русский?
"Если программа и её рабочие каталоги расположены в папках не по умолчанию, то обслуживание программы будет невозможно и любые обновления, исправления или пакеты обновления к ней не смогут быть применены".
Как такой вариант?
aa

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

    korsak7
  • 107
  • Стаж: 3 года 11 месяцев
  • Сообщений: 542
  • Репутация:44

    [+] [-]
xowlet, тогда при чем тут образ и о каком образе речь? Ну предположим об образе системного тома. А про обновления что за пурга у них? Если папку перенести - то обновления не будут вставать?
Твой вариант - это для программы, в которой прописаны абсолютные пути а не переменные

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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

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

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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

    [+] [-]
Написал более подробно.
Там же 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 раз(а)

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

    Nikolka00
  • 18843
  • Стаж: 4 месяца 1 день
  • Сообщений: 9
  • Репутация:0

    [+] [-]
55365ProgramData
где то у мелких есть мануал, что кеш MSVC можно тупо перенести и сделать символьную иль другу ссылку
и в реестре есть об этом упоминание, тобишь можно менять
я так и сделал, обновы на MSVC 2017 приходят и инсталлер не ругается

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

    UserX
  • 667
  • Стаж: 3 года 7 месяцев
  • Сообщений: 161
  • Репутация:3

    [+] [-]
55365Смена и того и другого. Это я тоже пока не делал ;) Но это будет ещё ...
Однажды не поленился и проделал следующий эксперимент:
1) Запустил установку Windows 7 и в окне предложения выбора диска для установки Windows по Shift-F10 запустил утилиту DiskPart, разбил диска на два primary раздела c правильными для меня размерами. Первый раздел сделал активным.
После этого установил Windows на первый раздел.
2) После завершения установки загрузился в Windows PE. Сделал клон диска С: на диск D:, чтобы идеально сохранить всю сруктуру с соединениями (junction) всех каталогов. Затем на первом диске С: удалил папки "Program Data" и "Users" и создал соединения Program Data и Users на диск D:. На диске D: удалил все, кроме указанных папок, удалённых с диска С:
В соединении "Documents and settings" на обоих дисках поправил диск C на D. Рекурсивно по всему диску D: поправил все соединения с C на D.
3) В ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList поправил:
Default указал D:\Users\Default
ProfilesDirectory указал D:\Users
Program Data указал D:\Program Data
Public указал D:\Users\Public
По всему реестру сделал замену:
С:\Program Data на D:\Program Data
C:\Users на D:\Users
Удалил из реестра SID-ы, соответствующие D:\Users\Administrator (D:\Users\User_Name_Install) и соответствующие им каталоги из дерева диска D:\Users
Перегрузился. После перезагрузки автоматом создался новый профиль ранее удалённого Administrator (User_Name_Install).
Теперь все вновь создаваемые пользователи создавали свои профили в дереве D:\Users
Практически нормально проходили все обновления.
Хотя да, находились такие хитрые обновления, которые отказывались устанавливаться. Но таких было мало (менее 5-ти процентов).
Вот такой эксперимент...
редактировал

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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

    [+] [-]
UserX,
Затем на первом диске С: удалил папки "Program Data" и "Users" и создал соединения Program Data и Users на диск D:. На диске D: удалил все, кроме указанных папок, удалённых с диска С:
В соединении "Documents and settings" на обоих дисках поправил диск C на D. Рекурсивно по всему диску D: поправил все соединения с C на D.
Ну мы ж не вконтактике, пишите с командами чего и как там рекурсивно и чем , надеюсь не вручную меняли в реестре... , следуйте девизу - сложно - эт не сложно, эт просто, сложно первому. Ведь чел не повторит ваш подвиг ибо хз что и как ;) Или действительно ручками делали?
Да, только как-то наверное не просто, возможно и сложно, я не понял до конца ваш метод. Точнее ничего сложного, но даже мне будет тяжело повторить.. я уж старый и больной и память подводит..
Я покажу проще вариант, вот только освобожусь..
Причем таких проще вариантов есть несколько.
Естественно я их проверял на своей шкуре, но на чужой не пробовал, поэтому за ваш пост + ;)


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

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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

    [+] [-]
создал соединения Program Data и Users на диск D:
Тут поподробнее - чем и как делались.
Не в обиду, просто винда умеет делать три варианта соединений. И есть нюансы в использовании.

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

    UserX
  • 667
  • Стаж: 3 года 7 месяцев
  • Сообщений: 161
  • Репутация:3

    [+] [-]
55388Или действительно ручками делали?
Честно говоря, руками и сделал сей подвиг. Двигался по дереву папок, как по лабиринту и, образно выражаясь, всегда поворачивая только направо, чтобы не пропустить никакую ветвь. И в Far-е ручками везде поменял в соединениях диск С на D. Потратил на это действо минут 30. Много, конечно, соглашусь. Просто решил попробовать, потому не думал об автоматизации.
В реестре было попроще - там, кажись RegWorkShop умеет находить и пачкой сразу всё менять в найденном, хотя кое-что он пропустил и пару его огрех устранил обычным regedit-ом реестра лежачей винды из под WinPE.
55389Тут поподробнее - чем и как делались.
. После изучения теории о вариантах ссылок делал так (пример):
mklink /j С:\Program Data D:\Program Data
mklink /j C:\Users D:\Users
То, есть испоьзовал ключ /j - join. У M$ везде тоже используется именно этот вариант. Единственным исключением является ссылка на Documents and Settings и там они использовали ключ /D.
Честно говоря, я не понимаю, почему эта ссылка является единственной, оличной от других и чем именно для этой ссылки не угодил ключ /join. Но "жираф большой - ему видней", потому я сделал так же. Мало ли какие "пасхальные яйца" они там отложили. :)
Кстати, я ещё скопировал папки:
C:\Windows\ServiceProfiles\LocalService и
C:\Windows\ServiceProfiles\NetworkService
На диск D: и конечно, соответственно, поменял в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-19
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-20
строковый параметр ProfileImagePath, указав в нём новое место расположения профилей на диске D.
При этом вместо удалённых папок
C:\Windows\ServiceProfiles\LocalService и C:\Windows\ServiceProfiles\NetworkService
создал соединения (с ключом /j) с указанием нового пути на диске D. Полагаю, это должно работать для тех программеров, которым плевать на инфу в реестре и которые убеждены, что нужные каталоги должны быть только там, где они появляются при установке Windows.
Это, по моему замыслу, должно оставлять без изменения сетевые настройки в случае аосстановления из бэкапа образа сохранённой винды. Иначе последние сетевые настройки приходится восстанавливать ручками.

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

    UserX
  • 667
  • Стаж: 3 года 7 месяцев
  • Сообщений: 161
  • Репутация:3

    [+] [-]
Вдогонку.
Конечно же, из-за наличия пробелов в пути нужно использовать кавычки:
mklink /j "С:\Program Data" "D:\Program Data"

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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

    [+] [-]
UserX, Тянет на подвиг..

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

    gera_serg
  • 1171
  • Стаж: 3 года 4 месяца
  • Сообщений: 1029
  • Репутация:-15

    [+] [-]
пошарил в инете, попались
- перенести свой профиль на другой комп
http://www.forensit.com/move-computer.html
- переместить свой профиль на соседний раздел
https://www.youtube.com/watch?v=CV0GzS0dnSc

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

    dialmak
  • 2607
  • Стаж: 2 года 9 месяцев
  • Сообщений: 798
  • Репутация:44

    [+] [-]
gera_serg, Прогу по первой ссылке нужно проверять, что там и как.
А вот по второй - видео такое только врагу советовать.

Страница 1 из 2


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

Текущее время: 20-Ноя 21:01

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


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