Ander_73
  - Стаж: 8 лет 1 месяц
- Сообщений: 3934
- Репутация: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.txt0. Назначение ---------- Установка 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 раз(а)
|
timon45
  - Стаж: 9 лет
- Сообщений: 91
- Репутация:7[+] [-]
- Откуда: Беларусь
|
Есть вот такой вариант, запуска установки, с автоматической подменой библиотеки winsetup.dll для установки всех версий Win 7-10 1903@echo off setlocal enabledelayedexpansion SET DD=sourc10 SET IN=NI SET winsetup=%HOMEDRIVE%\sources\winsetup for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm dir /d !IP!\install.rg&&set IN=!IP!\install.rg IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( start /b %Windir%\no.cmd pause pause goto:RBT ) :INST echo %IP% if exist %IP%\Unattend.xml SET UN=/unattend:%IP%\Unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$ for /f "tokens=3" %%i in ('2^>nul X:\Sources\wimlib-imagex.exe info "%IN%" 1^| find /i "major version: "') do ^ if %%i==10 ( if EXIST "%winsetup%.new" ( ren "%winsetup%.dll" winsetup.old ren "%winsetup%.new" winsetup.dll ) ) else ( if EXIST "%winsetup%.old" ( ren "%winsetup%.dll" winsetup.new ren "%winsetup%.old" winsetup.dll ) ) set ST=X:\Sources\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause :QUIT exit но он отрабатывает не все варианты Win 10, т.к. для win 10 до 1803 нужна старая библиотека winsetup.dll как для win 7 и 8 wimlib-imagex анализирует major version: который для любой win10 старой и новой равен 10, я хотел бы предложить анализ значения не major version: а Build: но при выполненииwimlib-imagex.exe" info "e:\SBORKA_KONSTRUKTOR\Win7\sources\install.esd" 1 | find /i "Build: " находит ещё Service Pack Build: отсеиваем и получаем то что нужно"...\wimlib-imagex.exe" info "...\install.esd" 1 | find /i "Build: " | find /V "Pack" далее хотел сделать через GTR (больше)но что то идет не так и не работает, не могу понять в чем причинаfor /f "tokens=2" %%i in ('2^>nul X:\Sources\wimlib-imagex.exe info "%IN%" 1^| find /i "Build: " | find /V "Pack"') do ^ if %%i GEQ 17100 ( if EXIST "%winsetup%.new" ( ren "%winsetup%.dll" winsetup.old ren "%winsetup%.new" winsetup.dll ) ) else ( if EXIST "%winsetup%.old" ( ren "%winsetup%.dll" winsetup.new ren "%winsetup%.old" winsetup.dll ) ) * 17100 это значение между билдами win 10 1709 и win 10 1803
|
dimo70
 - Стаж: 7 лет 3 месяца
- Сообщений: 3788
- Репутация:27[+] [-]
- Откуда: BG
|
Очень интересно.
_________________ Подпись отключена за нарушение правил форума
|
vovan1982
  - Стаж: 10 лет
- Сообщений: 1139
- Репутация:78[+] [-]
- Откуда: Ростов-на-Дону
|
timon45, вот вы здесь наваяли кучу постов, зачем? Они имеют непосредственное отношение к WInst? Так еще и dimo70, кучу постов выдал, не несущих никакой смысловой нагрузки. Господа, прекращаем флудить. Впредь прошу писать в профильных темах. Например здесь или здесь уже готовый вариант.
|
Ander_73
  - Стаж: 8 лет 1 месяц
- Сообщений: 3934
- Репутация:127[+] [-]
|
69535т.к. для win 10 до 1803 нужна старая библиотека winsetup.dll как для win 7 и 8 Очень хочу увидеть живой пример.
|
dimo70
 - Стаж: 7 лет 3 месяца
- Сообщений: 3788
- Репутация:27[+] [-]
- Откуда: BG
|
Вообще нет никаких проблемм с WInst скриптом. Все ставиться отлично у меня. Каждый ден пользую 7-ки 32/64, 10-ки ставлю, проблем не было. Спасибо Ander_73 за супер утилитку.
_________________ Подпись отключена за нарушение правил форума
|
 Отправлено: 15-Дек-2019 17:44
(спустя 3 месяца 22 дня)
dimo70
 - Стаж: 7 лет 3 месяца
- Сообщений: 3788
- Репутация:27[+] [-]
- Откуда: BG
|
Ander_73, в поисках новых возможностей загрузки я сного начал читать про WInst и твоя загрузочная среда BootMedia. По етому поводу хотел спросить, есть более новые образы, чем выложенные? И как можно подключить такое ядро к MLF? Как описана там в шапку обработал вим с make.cmd до boot.wim, потом ядро положил в папку \images\WIM, но при загрузке всегда выдает ошибку на регистри файл. Я что то не так делаю, ето ясно, но что именно не знаю.
Последний раз редактировалось: dimo70 (2019-12-15 17:53), всего редактировалось 2 раз(а) _________________ Подпись отключена за нарушение правил форума
|
Ander_73
  - Стаж: 8 лет 1 месяц
- Сообщений: 3934
- Репутация:127[+] [-]
|
dimo70, вот ты вспомнил! Да я те образы забросил давно и забыл. Это просто загрузочные boot.wim из дистрибов 7/8.1/10, которые слегка "ужаты" за счёт выкидывания Recovery-функционала (посмотри бат-ник в файле make.7z). После того, как Xemom1 вернул в свои ядра нормальный функционал diskpart, нет необходимости "изобретать велосипед". Подключить как любой WIM: через wimlets.
|
dimo70
 - Стаж: 7 лет 3 месяца
- Сообщений: 3788
- Репутация:27[+] [-]
- Откуда: BG
|
Ander_73, я WInst скрипта твоего вообще то каждый день пользую, но насчет оригинальных ядер не совсем ясно. Дилема у меня насчет оригинальных майкрософских ядер, которых у тебя есть в загрузочной среде BootMedia и Хемомовских. Ты что посоветуешь пользоваться? Хемомовские достаточно актуальные?
_________________ Подпись отключена за нарушение правил форума
|
Ander_73
  - Стаж: 8 лет 1 месяц
- Сообщений: 3934
- Репутация:127[+] [-]
|
dimo70, ты чудной, ей-богу. Вот зачем тебе "актуальные" ядра? Решение проблемы начинают искать, когда эта проблема возникает. А ты решаешь проблему, которой нет. И не известно, будет ли она хоть когда-нибудь. Самые "актуальные ядра" - из новейших дистрибов Вин10. Обрабатываешь их бат-ником и готово. При старте папка WInst ищется в корне флешки, если не ошибаюсь.
|
Страница 18 из 44
Текущее время: 14-Мар 00:10
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|