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

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3612
  • Репутация: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 раз(а)

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
Ander_73,
Привет! aa
Полная инфа о дисках только по нажатию Disk Info? А отобразить (ну как бы перенаправить эту инфу) сразу в текущем окне (Wselect) "Список Дисков" никак не получится?
Прошу прощения за глупые вопросы... ah af

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

    goga8686
  • 15240
  • Стаж: 7 лет 3 месяца
  • Сообщений: 855
  • Репутация:71

    [+] [-]
Ander_73, Отлично! fr ay

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

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

    [+] [-]
goga8686, ты серьёзно? Прям нормальное решение проблемы? Причесать - и в продакшен?
sergeysvirid, ты прав тысячу раз, на самом деле. Но!
Во-первых, инфа собирается долго (когда она построчно "всплывает" в консоли, то уже не так тоскливо наблюдать за процессом).
Во-вторых, тут бы надо выбирать инфу целым куском (диск+тома/разделы), а WSelect этого не позволяет.
В-третьих, это именно костыль. То есть для ситуации, когда goga8686 растерямшись с дисками не всё так однозначно. А такие ситуации,КМК, не так уж часты. То есть использовать эту фичу будут редко (КМК).
---
Фух. Камрады, я не то, чтобы прям прав на 100%. Наоборот, весь в сомнениях... bw

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
Ander_73,
Ну а как же тогда вот это окно с инфой по разделам:

Тут же всё отлично, и быстро инфа собирается и отображается более чем достаточная инфа
Осталось только номер диска (можно даже вместо буквы) в строке каждого раздела отобразить и нормуль инфа по дискам af


Последний раз редактировалось: sergeysvirid (2020-06-10 15:56), всего редактировалось 1 раз

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

    goga8686
  • 15240
  • Стаж: 7 лет 3 месяца
  • Сообщений: 855
  • Репутация:71

    [+] [-]
Ander_73, А ты не сомневайся, мы всё равно тебя поддержим. Хорошо сделаешь,поддержим. Плохо сделаешь, пожурим,но потом опять поддержим az

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

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

    [+] [-]
sergeysvirid,
На твоей картинке ТОМА, а разбивать на разделы мы будем ДИСКИ. У дисков нет меток, файловых систем и прочего.
Писал уже про это на прошлой странице.
---
Я понимаю, что в голове прочно БУКВА ТОМА = ДИСК. Но это не так. Диск - это физическое устройство (device), на котором может быть куча томов/разделов с буквами и без.
Добавлено через 1 минута 50 секунд:
goga8686, да оно понятно! Ты, Андруша, давай делай. А мы тебя потом пожурим и отправим переделывать ag

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

    goga8686
  • 15240
  • Стаж: 7 лет 3 месяца
  • Сообщений: 855
  • Репутация:71

    [+] [-]
Ander_73,
Причесать - и в продакшен?
Я уже 2 раза воспользовался пунктом Disk Info. так что в продакшен обязательно ab

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
78222Диск - это физическое устройство (device), на котором может быть куча томов/разделов с буквами и без.
Не ну это то я знаю и понимаю... не до такой то уж степени я bu ae ag

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

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

    [+] [-]
goga8686, там нюанс - я сделал вообще отдельным окном CMD, которое висит само по себе.
Для того, чтобы можно было лихорадочно переключаться между окном Инфо и Выбором диска в случае острой панической атаки.
Так нормально? Или сделать ожидание закрытия окна Инфо и только после этого возвращаться к списку выбора дисков?
sergeysvirid, тогда ты понимаешь, что список ТОМОВ не поможет выбору диска. Потому что, строго говоря, на твоей картинке ВСЕ эти буквы могут быть на одном физ.диске (ну, кроме сидирома).

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

    goga8686
  • 15240
  • Стаж: 7 лет 3 месяца
  • Сообщений: 855
  • Репутация:71

    [+] [-]
Ander_73, "Висит само по себе" - лучше. Острая паническая атака бывает часто (стоит хозяин компа и тяжело дышит в затылок) ag

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
78225Потому что, строго говоря, на твоей картинке ВСЕ эти буквы могут быть на одном физ.диске (ну, кроме сидирома).
Так я и спрашивал о том, нельзя ли как то отобразить номер диска в этом окне в каждой строке? Если допустим все эти тома/разделы расположены на одном и том же диске, так и отобразить в каждой строке допустим "0"

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

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

    [+] [-]
78227так и отобразить в каждой строке допустим "0"
Фу, поручик! Это же омерзительно! Где Ваше чувство прекрасного?
Чисто функционально, это "прокатит". Но выбор диска как "клик" на любом из его разделов... не знаю at
goga8686, если окно не закрыть, оно будет висеть даже после закрытия программы.

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
78228Но выбор диска как "клик" на любом из его разделов... не знаю
Зачем обязательно кликать по разделу? Можно отдельной функцией (кнопочка "Выбрать номер диска" внизу), которая уже перенаправляет в это окно:

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

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

    [+] [-]
sergeysvirid, фактически, я сейчас так и сделал, только наоборот: сперва тупо смотрим в диски, а если ничего не понятно, то жмём кнопочку "Посмотреть разделы" ag

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

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

    [+] [-]
  • Откуда: 65 регион (GMT+11)
Ander_73,
А я предлагаю наоборот. Сначала отобразить то окно с разделами, где у нас просто отображается наглядная информация по дискам, а потом, после осмысленного уже выбора номера диска, переходим уже в это окно ab
Ну да ладно, чёт я прицепился, в принципе и так всё отлично, спасибо!!! ay az

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


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

Текущее время: 28-Апр 07:11

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


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