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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
"Возвращается мужик из командировки, а у него дома винда переставлена."-*** WInst ***-
Назначение проекта:
Установка Windows 7-10 через:
  • Автоматизацию запуска стандартной программы установки Windows setup.exe с ключами командной строки. Для установки новых редакций Windows 10 применяется метод подмены стандартной библиотеки winsetup.dll.
  • Развёртывание Windows на жёсткий диск (как с возможностью его разметки, так и на уже подготовленный) или в контейнер VHD с помощью программы wimlib-imagex.exe и последующим добавлением в список загрузки.

Представляет собой:
Командный бат-файл.

Область применения:
  • Операционная система:
    • установка через setup.exe: WinPE 7-10
    • развёртывание через wimlib-imagex.exe: Win7-10, WinPE 7-10
  • Разрядность: x86/x64

Загрузка и подготовка установочного файла install.esd --- <утилита InstPrep> ---


Варианты загрузки:
  • прямая (только Windows 10)
  • через торрент
Прямая загрузка:
Выбрать требуемую конфигурацию из предложенных вариантов.
После загрузки будет произведено удаление первых 3-х индексов и оптимизация полученного install.esd
Загрузка через торрент:
Выбрать требуемую конфигурацию из предложенных вариантов.
После загрузки будет произведено извлечение и перепаковка install.wim -> install.esd
По завершении подготовки install.esd будет предложено создать установочный комплект WInst, который:
  • загрузит Winst
  • переместит подготовленный install.esd в папку:
    WInst\WInstall\<имя выбранной конфигурации>\install.esd
После чего папку WInst нужно вручную скопировать/переместить на флешку в произвольную папку.
Примечание: можно добавить свою коллекцию торрентов.
Для этого скопируйте свой торрент-файл(-ы) в папку torrents (допускается создание вложенных папок). Торрент-загрузка должна содержать один или несколько установочных iso-файлов.Загрузить InstPrep

Загрузочная среда BootMedia

Содержимое папки:
  • Оригинальные загрузочные образы Microsoft для запуска WInst c флеш-накопителя. Каждый образ поддерживает только свою разрядность.
  • Скрипт для самостоятельной подготовки загрузочного образа (представленные образы изготовлены из Windows 10 LTSC 2019).
  • Файлы "обвязки" bootfiles_x64.7z и bootfiles_x86.7z содержат папки boot и efi для создания самостоятельной загрузочной флешки.
Способ применения:
  • Изготовить загрузочный носитель с загрузочным образом.
  • При старте происходит поиск (и запуск, в случае успеха) по всем дискам скрипта "$:\Winst\Установка Windows.cmd".
Загрузить BootMedia

readme.txt

0. Назначение
   ----------
   Установка Windows 7-10 через:
   - автоматизацию запуска стандартной программы установки Windows setup.exe с ключами
     командной строки. Для установки новых редакций Windows 10 применяется метод
     подмены стандартной библиотеки winsetup.dll.
   - развёртывание Windows на жёсткий диск (как с возможностью его разметки, так и на
     уже подготовленный) или в контейнер VHD с помощью программы wimlib-imagex.exe и
     последующим добавлением в список загрузки.
1. Терминология
   ------------
                            Папка дистрибутива (ПД)
                            ~~~~~~~~~~~~~~~~~~~~~~~
   Папка, в которой содержатся:
   - установочный файл с расширением WIM, ESD, SWM. Обычно это "install.esd"
   - файл описания (необязательно) {формат файла описания см. в "Примечания"}
   - папка $OEM$ (необязательно)
   - файл ответов unattend.xml (необязательно)
   - установочный комплект setup.exe (необязательно)
                               Общая папка (ОП)
                               ~~~~~~~~~~~~~~~~
   Папка, в которой содержатся:
   - папки дистрибутивов
   - папка $OEM$ (необязательно)
   - файл(-ы) ответов unattend.xml (<любое_имя>.xml)
2. Концепция
   ---------
   Возможны три варианта расположения ПД:
                                 Классический
                                 ~~~~~~~~~~~~
   ОП находится в произвольном месте флешки. Например:
   F:\
      ОП\
         ПД\
         ПД\
         ПД\
         ...
                                  Портативный
                                  ~~~~~~~~~~~
   ОП называется "WInstall" и находится в папке с установочным скриптом WInst
"Установка Windows.cmd". Например:
   F:\
      Folder\
             WInst\
                   WInstall\
                            ПД\
                            ПД\
                            ПД\
                            ...
                   Установка Windows.cmd
                                 Произвольный
                                 ~~~~~~~~~~~~
   Папка ОП отсуствует, ПД располагаются в любом месте флешки. Например:
   F:\
      Folder\
             ПД
      Folder1\
              Folder2\
                      ПД
                      ПД
                      Folder3\
                              ПД
3. Выполнение
   ----------
                              Поиск и отображение
                              ~~~~~~~~~~~~~~~~~~~
   Сначала выполняется поиск ПД, расположенных в варианте "классический".
Для указания расположения ОП служит файл dirlist.txt
Например, у нас есть флешка с такой структурой папок:
   F:\
      Install\
              Windows\
                      Win7x86
                      Win81x64
                      Win10x64
   В данном примере ОП - это F:\Install\Windows\
   Отбрасываем букву диска с двоеточием и завершающий слэш, получаем "\Install\Windows"
   Именно это и записываем в файл dirlist.txt:
   \Install\Windows
   Если ОП больше одной, то добавляем в dirlist.txt соответствующие строки.
   Далее выполняется поиск ПД, расположенных в варианте "портативный" (папка WInstall).
Если по результатам поиска по первым двум вариантам не найдено ни одной ПД, то
начинается глобальный поиск по всем дискам в поисках файлов с расширением WIM, ESD, SWM
и размером более 1 000 000 000 байт.
   Варианты отображения найденных дистрибутивов:
- если в ПД существует файл описания, то отображается его содержимое
- если файла описания нет, то берется информация из первого индекса дистрибутива
   Пункт меню "Переключить режим отображения: "версия/путь"" позволяет переключать вид
с информации из первого индекса на полный путь к дистрибутиву.
                                Опции установки
                                ~~~~~~~~~~~~~~~
   Дистрибутив  - переключение вида "версия/путь"
   Папка $OEM$  - может располагаться в трех местах: ПД, ОП, WInstall. Соотв. будет
                  отображаться как $OEM$, ..\$OEM$, _WInst_\$OEM$
                  Если существуют все три варианта, нужный можно выбрать вручную.
   Файл ответов - аналогично папке $OEM$. Будут отображаться как:
                  unattend.xml, ..\unattend.xml, _WInst_\unattend.xml
                  В папках ОП и WInstall может быть несколько файлов с расширением xml,
                  нужный можно выбрать вручную.
   Установщик   - Если в ПД существует setup.exe, то он будет предложен для запуска.
                  Выбрать встроенный setup.exe можно вручную.
   Проверка целостности - перед установкой будет запущена проверка установочного файла.
   Перезагрузка         - можно отменить перезагрузку после развертывания дистрибутива.
   Лицензия EI.cfg      - переключение между Volume/Retail
   Выбор языка          - язык установки берется из первого индекса дистрибутива или
                          может быть выбран вручную.
4. Развёртывание
   -------------
   Суть развёртывания состоит в:
   - распаковке файла дистрибутива на раздел жёсткого диска (или в контейнер VHD)
   - добавлении нового пункта в меню загрузки Windows (или создании этого меню)
   Рассмотрим типовые сценарии развёртывания:
                                   Новый HDD
                                   ~~~~~~~~~
   Суть действий: нам необходимо установить Windows на новый (неразмеченный) HDD. Для
этого мы должны сперва разметить HDD и затем развернуть Windows.
   Подготавливаем новый HDD к развёртыванию:
   - выбираем "Disk preparing"
   - выбираем разметку ("MBR" или "GPT")
   - выбираем разбивку HDD "Microsoft standard"
   - выбираем тип загрузки (firmware)
   Собственно, само развёртывание в данном случае не требует дополнительных действий,
потому что все шаги выполнены стандартным образом (то есть разделы для Windows и
загрузчика определяются однозначно).
   В итоге получаем HDD разбитый на два раздела (260 Мб и всё оставшееся). На первом
разделе размещён загрузчик Windows, на второй развёрнута сама Windows.
                        HDD с уже установленной Windows
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Суть действий: нам необходимо выделить место для новой Windows. Для этого мы
"сожмём" существующий (в нашем случае, это второй) раздел и на освободившемся месте
создадим новый раздел. В новый раздел развернём Windows и добавим в меню загрузки новый
пункт.
   Сначала подготовим раздел для новой Windows:
   - выбираем "Disk preparing"
   - выбираем "Manual partitioning", "Manage partition", "Shrink partition"
   - выбираем размер раздела для новой Windows (например, 30000 Мб)
   - выбираем "Create partition", "Primary"
   Далее переходим к собственно развёртыванию:
   - выбираем "Windows applying"
   - выбираем "Volume for Windows applying" - это только что созданный новый раздел
     размером 30 Гб; указываем номер тома из списка (поскольку раздел только что
     создан и имеет формат RAW, его необходимо отформатировать в NTFS или FAT32)
   - выбираем "Volume for bootloader" - это раздел с загрузчиком Windows. В нашем
     случае это раздел размером 260 Мб и разметкой FAT32; указываем номер тома из
     списка
   - выбираем тип загрузки (firmware)
                       Установка Windows в контейнер VHD
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Некоторые редакции Windows (как правило, старшие) позволяют установку и работу из
контейнера VHD.
   Сначала выберем/создадим контейнер для новой Windows:
   - выбираем "Select/Create VHD container", где выбираем/создаем папку и имя
файла-контейнера.
   - указываем размер создаваемого контейнера (например, 30 Гб)
   Далее переходим к собственно развёртыванию, которое аналогично описанному в
предыдущем пункте (начиная с выбора "Windows applying").
5. Состав
   ------
   lang - файл локализации.
   tools64 - sfx-архив со вспомогательными утилитами.
   tools86 - sfx-архив со вспомогательными утилитами.
   setup64 - sfx-архив с установщиком х64.
   setup86 - sfx-архив с установщиком х86.
   readme.txt - файл справки.
   Установка Windows.cmd - файл запуска.
   Опционально:
   ~~~~~~~~~~~
   WInstall\ - папка для размещения общих $OEM$, unattend.xml и ПД для "портативного"
               варианта.
   dirlist.txt - список ОП для поиска по "классическому" варианту.
   shell.txt - строка запуска приложения (в свёрнутом виде) одновременно с WInst.
               Например:  "\TC\TOTALCMD.EXE" $d\
               означает запуск "TOTALCMD.EXE" из папки "\TC\" в корне текущего диска
               подстановочный знак "$d" разворачивается в имя текущего диска.
6. Примечания
   ----------
- предназначено для запуска:
  * для установки через setup.exe: из-под WinPE 7-10 x86/x64
  * для установки через развёртывание: из-под Win7-10 x86/x64 и WinPE 7-10 x86/x64
- поиск папок из dirlist.txt производится по всем дискам
- в случае "произвольного" расположения ПД, также можно пользоваться общими $OEM$ и
  unattend.xml из папки WInstall.
- при развёртывании выбор тома можно осуществлять не только по номеру, но и по букве,
  если буква у тома есть.
  Формат файла описания:
  - кодировка WIN-1251
  - имя файла описания = имя установочного файла + расширение "txt".
    Например: "install.esd.txt".
  - содержание:
    * первая строка - описание самой установки
    * следующие строки - описания редакций (необязательно) в формате "N=Title".
    Например, содержимое "install.esd.txt":
    Windows 7 SP1 (x86-x64) Russian
    1=Windows 7 (x86)    Максимальная
    2=Windows 7 (x86_64) Максимальная
    7=Windows 7 (x86)    Домашняя базовая
    8=Windows 7 (x86_64) Домашняя базовая
  При развёртывании редакции, для которой есть описание в файле описания, новый пункт
в меню загрузки Windows будет называться как описание редакции, а не стандартно
"Windows 7" или "Windows 10". Если такая редакция будет развёрнута на одном ПК
несколько раз, то к названию будет добавляться индекс [N], где N=2,3 и.д.

Дополнительная информация

Установщик Windows взят из комплекта WinSetup2k10 от korsak7
Yandex: 410014994857401Загрузить WInst


Последний раз редактировалось: Ander_73 (2018-12-10 09:54), всего редактировалось 13 раз(а)

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
dialmak, я про тонкости работы bcdboot вообще ничего не знаю. Собственно, в само развёртывание погрузился, считай, неделю-две назад, считай, с твоей же подачи. Ты распиши как надо, а я уж покумекаю.
Сейчас тупо: в комплекте bcdboot от десятки 10586 он и запускается после распаковки дистра. Битность bcdboot та же, что и хоста, из которого скрипт запускаем.

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

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

    [+] [-]
Ander_73,
Сейчас тупо: в комплекте bcdboot от десятки 10586 он и запускается после распаковки дистра. Битность bcdboot та же, что и хоста, из которого скрипт запускаем.
По идее это сработает в 99,9% случаев.
Возможно не сработает в варианте - хостовая ОС x86 7 - целевая ОС x64 8.1\10 с поддержкой в файле ответов фильтра UWF. Мне это писали, но я не проверял. Типа для фильтра UWF нужно что-то добавлять в BCD (я не разбирался ибо не юзаю)

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
Обновление:
- ускорен разбор парсинга wimlib
- при вызове DiskPrep шрифтом консоли устанавливается Terminal 12x16, читается в разы лучше, имхо
- архив приложений теперь разделён на две части: tools и setup. Кому не нужен виндовый setup.exe (кто пользуется только развёртыванием) файлы setup86 и setup64 могут удалить. Распаковка setup теперь происходит не в начале работы, а только перед вызовом виндового установщика (ускорение начала работы)

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
Обновление
По мелочи:
- добавлен детект WinPE, ибо в некоторых не работает DISM или работает криво
- добавлен бекап BCD перед добавлением новой записи (папка {WInst}.bak рядом с BCD), а то мало ли...
Существенно:
- расширен функционал файла описания. Теперь он может содержать также описания редакций (русский допускается, кодировка 1251 как и прежде).
Пример:

install.esd.txt

Windows 7 x86-x64 g0dl1ke collection
1=Windows 7 (x86) Максимальная
2=Windows 7 (x86_64) Максимальная
7=Windows 7 (x86) Домашняя базовая
8=Windows 7 (x86_64) Домашняя базовая
Смысла два:
1. Обход ограничения wimlib на обработку русских названий редакций
2. Это описание будет добавлено в пункт загрузочного меню вместо стандартного "Windows 7" или "Windows 10". Когда на ПК одна-две ОС - это не критично. Когда же их несколько, приходится их как-то различать и руками править загрузочное меню. Теперь это можно автоматизировать на этапе развёртывания.
Как видно из примера, не обязательно добавлять описания всех редакций, можно добавить только для любимых. Остальные будут отображаться стандартным для скрипта способом.
Порядок цифр неважен. Важна только структура N=Title без пробелов вокруг =

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

    Orochi
  • 14100
  • Стаж: 2 года 5 месяцев
  • Сообщений: 148
  • Репутация:0

    [+] [-]
Ander_73,
Спасибо за обновление. aa
В новой версии, кнопка путь/версия не показывает пути, только версии.

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
Orochi, проверю.
Кнопка "не работает", если есть файл-описание. Тогда всегда показывает только описание.
UPD. Баг не подтверждаю! Всё работает, как положено.
(найден глючок, завтра поправлю - при отображении сборок "проглотился" билд, не критично абсолютно)

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

    Orochi
  • 14100
  • Стаж: 2 года 5 месяцев
  • Сообщений: 148
  • Репутация:0

    [+] [-]
59805Кнопка "не работает", если есть файл-описание. Тогда всегда показывает только описание.
Понятно. Не знал, что так задумано. Имхо, было бы не плохо показывать пути в любой ситуации.

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
59809Имхо, было бы не плохо показывать пути в любой ситуации
Вы путаетесь в собственных описаниях что-ли? Так сделайте их более вменяемыми и однозначными.
Показать путь нужно только в одном случае: у нас есть несколько "диких" сборок, схожих по параметрам, и нужно однозначно идентифицировать какую-то конкретную.
... потому что, по моей логике, описанием снабжают только старые проверенные инструменты. И этого описания полностью достаточно для однозначной идентификации.

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
Фиксы:
- пофиксил отображение билда в сборках
- не работало развёртывание из SWM
Добавлено:
- при установке одной и той же редакции на ПК несколько раз (при условии, что у редакции есть описание в файле-описании), к каждой очередной добавляется индекс [N]. Примерно, так:

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

    sergeysvirid
  • 104
  • Стаж: 4 года
  • Сообщений: 1408
  • Репутация:81

    [+] [-]
  • Откуда: 65 регион (GMT+11)
59814при установке одной и той же редакции на ПК несколько раз (при условии, что у редакции есть описание в файле-описании), к каждой очередной добавляется индекс [N]
Ander_73,
Приветствую! aa
Может лучше тогда уж добавлять номер раздела диска на который непосредственно ставится ОС, ...ну типа того:
Windows 7 (x86_64) Максимальная (hd0,1)
Windows 7 (x86_64) Максимальная (hd0,2)
Windows 7 (x86_64) Максимальная (hd0,3)
ab

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
sergeysvirid, вообще-то, предполагается, что юзер потом сам обзовёт свои копии как ему надо. Я просто предлагаю механизм изначального различения копий ab
UPD. Кстати, винда сама добавляет номер тома.

Вот только проку с этой информации? А у меня хоть понятно, кого ставили первым, а кого вторым ab

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

    nik63
  • 1479
  • Стаж: 3 года 3 месяца
  • Сообщений: 116
  • Репутация:3

    [+] [-]
  • Откуда: Башкирия
Ander_73,
А если конкретно ставить нам раздел HDD, вим либом можно?

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
59847конкретно ставить нам раздел HDD
Для начала, Вам нужно просто разобраться, что такое "развёртывание".

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
Косметика:
- окно развёртывания сделал чуть красивше
- том для развёртывания (и загрузочный) теперь можно выбирать и по букве тоже (если она есть, конечно)
---
UPD. Добавил в BootMedia загрузочные образы из ADK без русского языка (на ~50Мб меньше).

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

    Ander_73
  • 15549
  • Стаж: 1 год 10 месяцев
  • Сообщений: 652
  • Репутация:60

    [+] [-]
FullInstPrep
Сделал комбайн InstPrep+BootMedia
Выполняет две задачи:
  • Подготовка загрузочной флешки
  • Загрузка дистров Windows и извлечение/подготовка install.esd
- флешка формируется через diskpart, один раздел, FAT32 (ограничения в 32 Гб нет)
- BootMedia (4 варианта на выбор) динамически скачивается с ЯД; WInst динамически скачивается с гитхаб-а
- поддержка BIOS/UEFI (разрядность UEFI в зависимости от выбранного варианта BootMedia)
- скачанные/подготовленные install.esd сразу перемещаются на флешку (папка distros; можно добавлять свои дистры, общие папки ОЕМ и проч)
Подготовленная таким образом флешка сразу может использоваться для установки/развёртывания Windows.
Скачать
Пока на "живую нитку", потом перенесу в шапку.
---
UPD. Перезалит 15.05 Мск, недоглядел с локализацией.

Страница 13 из 14


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

Текущее время: 16-Дек 06:19

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


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