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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
"Возвращается мужик из командировки, а у него дома винда переставлена."-*** 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

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

Содержимое папки:
  • Загрузочные образы (x86 и x64) на базе Windows 1909, 2009, 2022
  • Загрузочный образ на базе Windows 8 x86
  • Загрузочный образ на базе Windows 7 x86 с комплектом драйверов USB3/SATA-RAID/NVMe
  • Обновлённый скрипт создания загрузочного образа
При старте происходит поиск (и запуск, в случае успеха) по всем дискам скрипта "$:\programs\WInst\*.cmd" или "$:\WInst\*.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
"WInst.cmd". Например:
F:\
Folder\
WInst\
WInstall\
ПД\
ПД\
ПД\
...
WInst.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 соответствующие строки.
Допускается указание в dirlist.txt непосредственно ПД (это целесообразно, если ПД
содержит множественные установочные файлы). Если брать структуру папок из примера выше,
то записываем в dirlist.txt:
\Install\Windows\Win7x86\@
\Install\Windows\Win81x64\@
\Install\Windows\Win10x64\@
Далее выполняется поиск ПД, расположенных в варианте "портативный" (папка WInstall).
Если поиск в вариантах "классический" и "портативный" не дал результатов, и в папке
программы существует файл fudlist.txt (см. ниже), то информация о дистрибутивах берётся
из него.
Варианты отображения найденных дистрибутивов:
- если для установочного файла существует файл описания, то отображается его содержимое
- если файла описания нет, то берётся информация из первого индекса дистрибутива
Дополнительные возможности
~~~~~~~~~~~~~~~~~~~~~~~~~~
Переключить режим отображения: "версия/путь" - переключить вид с информации из
первого индекса на полный путь к
дистрибутиву.
Выбрать дистрибутив вручную - самостоятельно выбрать файл дистрибутива (файл с
расширением ESD, WIM, SWM).
Искать дистрибутивы на выбранных дисках - поиск на выбранных дисках файлов с
расширением WIM, ESD, SWM и размером
более 1 000 000 000 байт.
Предварительная разметка диска - разметить новый (или без сохранения данных)
накопитель с использованием сценариев diskpart.
Создать/Открыть VHD(X) - создать новый/открыть существующий VHD(X)-файл и
присоединить его к системе для последующей установки
в него Windows.
Техническое обслуживание - добавить раздел/VHD-контейнер в загрузчик Windows;
интегрировать драйверы/установочные пакеты;
удалить/откатить установленные драйверы;
восстановить загрузочные записи раздела/диска.
Поиск используется, в основном, при "произвольном" расположении ПД. Результаты
поиска записываются в файл fudlist.txt и могут быть использованны при последующих
запусках WInst (в отличие от dirlist.txt, содержит полные пути (без диска) к
найденным дистрибутивам). Файл fudlist.txt можно конвертировать в dirlist.txt. Для
этого переименуйте:
fudlist.txt -> fud2dir.txt (или просто fud2dir) для перезаписи dirlist.txt
fudlist.txt -> fud4dir.txt (или просто fud4dir) для добавления к dirlist.txt
и запустите WInst.
Предупреждение установщика о невозможности использовать раздел VHD для установки
Windows нужно игнорировать.
Опция "Fix boot":
* MBR/PBR (PBR) - обновить только загрузочные записи.
* MBR/PBR + update BCD - обновить загрузочные записи и BCD.
* Advanced Boot Options - включить при загрузке меню "Advanced Boot Options".
- для раздела "WINDOWS" обновляется загрузочная запись раздела;
- для раздела "BOOTLOADER" обновляется загрузочная запись раздела и MBR диска,
содержащего раздел "BOOTLOADER";
- после применения "Advanced Boot Options" в корне раздела "WINDOWS" создаётся
файл "AdvBootOpt_off.cmd" для отключения опции.
При интеграции драйверов средствами WInst в папке "\Windows\Temp" целевой системы
создаётся файл "WInst_Add_Drivers.bak", содержащий список драйверов, установленных
до интеграции. Таким образом, откат установленных драйверов - это удаление всех
драйверов, которых нет в данном списке.
Опции установки
~~~~~~~~~~~~~~~
Дистрибутив - переключение вида "версия/путь"
Папка $OEM$ - может располагаться в трех местах: ПД, ОП, WInstall. Соответственно,
будет отображаться как: $OEM$, ..\$OEM$, _WInst_\$OEM$
Если существуют все три варианта, нужный можно выбрать вручную.
Файл ответов - аналогично папке $OEM$. Будет отображаться как:
unattend.xml, ..\unattend.xml, _WInst_\unattend.xml
В папках ОП и WInstall может быть несколько файлов с расширением xml,
нужный можно выбрать вручную.
Установщик - Если в ПД существует setup.exe, то он будет предложен для запуска.
Выбрать встроенный setup.exe можно вручную.
Если в файле настроек определены переменные "setup_x86.exe" и/или
"setup_x64.exe", содержащие путь к setup.exe распакованного комплекта
установки, то именно этот комплект будет использован в качестве
встроенного установщика.
Проверка целостности - перед установкой будет запущена проверка установочного файла.
Перезагрузка - можно отменить перезагрузку после установки или развёртывания
дистрибутива.
Лицензия EI.cfg - переключение между Volume/Retail
Выбор языка - язык установки берётся из первого индекса дистрибутива или
может быть выбран вручную.
Выбор Winsetup.dll - по умолчанию "прямой". Если в процессе установки появляется
ошибка "Не найдено лицензионное соглашение", то можно сменить
на "обратный".
4. Развёртывание
-------------
Суть развёртывания состоит в:
- распаковке файла дистрибутива на раздел жёсткого диска (или в контейнер VHD)
- добавлении нового пункта в меню загрузки Windows (или создании этого меню)
Порядок действий:
1. Выбрать раздел, куда будет распакован дистрибутив;
2. Выбрать раздел, где находится (или будет создан) загрузчик;
3. Выбрать тип загрузки.
Разделы должны иметь файловую систему (нельзя использовать RAW)
Окно выбора раздела для распаковки дистрибутива содержит в "шапке" [ WINDOWS = ... ]
- если на разделе уже есть Windows, то будет предложено отформатировать раздел
Окно выбора раздела для установки загрузчика содержит в "шапке" [ BOOTLOADER = ... ]
- можно не устанавливать/не изменять загрузчик
Тип загрузки может быть:
* ALL - загружать систему и в режиме BIOS, и в режиме UEFI
* BIOS - загружать систему только в режиме BIOS
* UEFI - загружать систему только в режиме UEFI
Опции развёртывания
~~~~~~~~~~~~~~~~~~~
New BCD - создать новый файл конфигурации BCD (вместо добавления новой записи в
существующую конфигурацию) и обновить файлы загрузчика.
Drivers - операции с драйверами после выполнения развёртывания.
Reboot - перезагрузка после завершения развёртывания.
Операции с драйверами:
* Добавление - выбрать папку с распакованными драйверами, которые будут
интегрированы в развёрнутую Windows. Дополнительно папка может
содержать установочные пакеты Windows (файлы с расширением ".msu"
или ".cab"), которые также будут интегрированы.
* Удаление - удалить все сторонние драйверы из развёрнутой Windows.
* Удаление+добавление - комбинация предыдущих пунктов.
5. Состав:
------
docs - папка с файлами справки.
packs - папка с комплектами установки и вспомогательными утилитами.
schemes - папка со сценариями diskpart для "Предварительной разметки диска".
WInst.cmd - файл запуска.
Опционально:
~~~~~~~~~~~
dirlist.txt - список ОП и ПД для поиска по "классическому" варианту.
settings.txt - файл настроек для изменения значений параметров, используемых
по умолчанию.
WInstall - папка для размещения общих $OEM$, unattend.xml и ПД для "портативного"
варианта расположения ПД.
6. Примечания
----------
- предназначено для запуска:
* для установки через setup.exe: из-под WinPE 7-10 x86/x64
* для установки через развёртывание: из-под Win7-10 x86/x64 и WinPE 7-10 x86/x64
- поиск папок из dirlist.txt и файлов из fudlist.txt производится по всем дискам
- в случае "произвольного" расположения ПД, также можно пользоваться общими $OEM$ и
unattend.xml из папки WInstall
- при "Развёртывании" и "Техническом обслуживании" создаются резервные копии файла
конфигурации BCD в папках "\Boot\{WInst}.bak" и "\EFI\Microsoft\Boot\{WInst}.bak"
для BIOS и UEFI соответственно.
Формат файла описания:
- кодировка 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 (ver. 10.0.10586) взят из комплекта WinSetup2k10 от korsak7 с добавлением всех языковых пакетов.

Благодарности

    dimo70 за тестирование и выявление всякого.
    goga8686 за тестирование и видеролик про "Развёртывание".
    BalAngel за английские переводы файлов справки и настроек.
    Всем камрадам, кто принимал участие в тестировании и подкидывал идеи.

Видеоролики

Развёртывание
DriverPack для 7/8.1/10
NVMe/SATA-RAID/USB3
Загрузить WInst


Последний раз редактировалось: Ander_73 (2021-07-31 22:25), всего редактировалось 33 раз(а)

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

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73,
ето очень похоже на 78setup. aa

_________________
Подпись отключена за нарушение правил форума

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
dimo70, 78setup не устанавливает Win10 build 1803 без дополнительных приседаний.

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

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73,
Не понял. Почему не устанавливает 10 1803?
Я так переустановил мой уин 1803 дома сегодня пользуясь именно 78setup при помощью файла autounattend.xml выбрав из другой папки. Проблем вроде не было. Все прошло хорошо. aa
Пользовал загрузочную флешку Windows 10, 8.1, 7 (от Sergei Strelec) в одном ISO-образе 29.07.2018 [Ru/En] из раздачи sergeysvirid.
PS Сейчас вспомнил, что пользовался оригинальный boot.wim, а не из внедренный в 78setup. Может поетому не было проблем...

_________________
Подпись отключена за нарушение правил форума

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

    MinskHard
  • 16618
  • Стаж: 7 лет 3 месяца
  • Сообщений: 7
  • Репутация:-1

    [+] [-]
Всем привет, я прошу прощения и сам понимаю что делаю не совсем правильно, но не могу понять где.

Вот копия моего файла dirlist.txt

F:\
   MHBT\
        WINDOWS\
                   WIN7x64\
                           $OEM$\
                           install.wim
                           install.wim.txt
                           unattend.xml
                   WIN81x64\
                            $OEM$\
                            install.esd
                            install.esd.txt
                            unattend.xml
                   WINDsplit\
                             $OEM$\
                             install.swm
                             install.swm.txt
                             install2.swm
                             install3.swm
                             unattend.xml
Но всё равно ругается что список пуст.
Если запускать повторно, то пишет что папка B:\\Temp уже существует и потом снова отображает что список пуст.

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

    Gemostarter
  • 15956
  • Стаж: 7 лет 7 месяцев
  • Сообщений: 323
  • Репутация:35

    [+] [-]
MinskHard, судя по написанному в шапке, dirlist.txt должен содержать это:
MHBT\WINDOWS
Тогда он будет искать папки с установками в папке "MHBT\WINDOWS", которая может лежать на диске с любой буквой.
Думаю, вам стоит внимательнее вчитаться в инструкции автора. И не торопиться!

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
MinskHard, видимо, мои мозги работают как-то иначе ab
Если на флешке инсталляхи лежат в папке F:\MHBT\WINDOWS, то файл dirlist.txt должен быть таким:
\MHBT\WINDOWS

Это написано в описании, это уже было в комментарии. Теперь это ещё в одном комментарии...
---
Указывается путь БЕЗ диска, БЕЗ финального слэша. Неужели так сложно ПРОСТО прочитать описание?
Думаю, вам стоит внимательнее вчитаться в инструкции автора.
Хоть кто-то читает описания... az

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
56177пользовался оригинальный boot.wim, а не из внедренный в 78setup
Фактически, мой бат-ник делает примерно тоже самое. Только подменяет не весь установочный пакет, а одну длл-ку.

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

    MinskHard
  • 16618
  • Стаж: 7 лет 3 месяца
  • Сообщений: 7
  • Репутация:-1

    [+] [-]
Друзья товарищи, описание я как раз таки и читал. Только в самом коде не правильно понял.
На сколько я понял сейчас, нужно вот так
F:\
   MHBT\WINDOWS
        WINDOWS\
А как раз таки считал
F:\
MHBT\
WINDOWS\-это и сть путь к папке MHBT\WINDOWS

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

    vovan1982
  • 214
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 1129
  • Репутация:76

    [+] [-]
  • Откуда: Ростов-на-Дону
MinskHard, ну что вы за человек? Вам же написали уже. Для кого

под первым спойлером находится?

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
vovan1982, спасибо, ибо силы на исходе af

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
Опробовал на новоявленном дистре 1809. Полёт нормальный! bf
Оригинальные ссылки на МС:
17763.1.180914-1434.rs5_release_clientbusiness_vol_x64fre_ru-ru
17763.1.180914-1434.rs5_release_clientbusiness_vol_x86fre_ru-ru
(Напрямую эти ESD ставиться не хотят. Прогонял через decrypter. Хотя, он пишет, что образы не зашифрованы. Возможно, есть более простой способ, но я его не знаю).
---
UPD Исправлен мелкий баг: отработка ситуации, когда дистриб непонятного формата (как по ссылкам выше).
Вложение

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

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2581
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
58022Прогонял через decrypter. Хотя, он пишет, что образы не зашифрованы. Возможно, есть более простой способ, но я его не знаю
Ander_73, Приветствую!
Знаете. Эти *.esd преобразуются в *.iso с помощью DISM++ (Файл/ESD-->ISO)
В итоге получаем образ со структурой стандартного *.iso от MSDN

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
sergeysvirid, aa
Фактически, те же колокольцы - вид сбоку ag
Мне как раз ИСО-шник не нужен, а нужен вменяемый ESD (который я из своего бантика и погоню на установку).
К дизм++ отношусь крайне настороженно. Бантик от местных умельцев можно поглядеть и понять, что они там воротят (тем более, что собственно декрипт тут не нужен). А что там творит сумрачный китайский гений...
Беглый осмотр показал, что в оригиналах от МС есть два "лишних" индекса:
1. Windows Setup Media
2. Microsoft Windows PE (x64)
Видимо, достаточно их просто вырезать и всё будет как надо. Но как это сделать красиво пока не понимаю.
Декриптор работает - и ладушки ab

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

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2581
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
58031
Беглый осмотр показал, что в оригиналах от МС есть два "лишних" индекса:
1. Windows Setup Media
2. Microsoft Windows PE (x64)
Ну так это 2 индекса из boot.wim ещё отображаются в не обработанном *.esd ("Смешались в кучу кони, люди...")
58031Мне как раз ИСО-шник не нужен, а нужен вменяемый ESD
Из исошника можно извлечь "оригинальный, стандартный" install.wim и конвертировать его в install.esd
Так думаю будет правильнее, чем "вырезать лишние индексы" из необработанного *.esd ag

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3810
  • Репутация:127

    [+] [-]
58033Из исошника можно извлечь "оригинальный, стандартный" install.wim и конвертировать его в install.esd
Декриптор мне сразу даёт на выходе сжатый ESD с правильными индексами cb

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


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

Текущее время: 21-Ноя 13:36

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


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