Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация: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 раз(а)
|
Отправлено: 07-Окт-2018 15:57
(спустя 2 месяца 26 дней)
Отправлено: 07-Окт-2018 20:07
(спустя 1 час 34 минуты)
Droid
- Стаж: 6 лет 7 месяцев
- Сообщений: 19
- Репутация:0[+] [-]
|
Ander_73,58135Продолжаю тему скачивания и подготовки install.esd
Реализована поддержка торрентов:
Не хочет качать
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
Droid, да, есть проблема с DHT. Порешаю.
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
nik63, любую Vista-систему. Просто изначально фишка была в том, что утилита без проблем ставила новую редакцию 1803 (а сейчас и 1809) Но ставит любую систему: от 7 до 10.
|
nik63
- Стаж: 9 лет 2 месяца
- Сообщений: 552
- Репутация:20[+] [-]
- Откуда: Башкирия г.Салават
|
Ander_73, Понял, спасибо за ответ и утилитку,
|
KottoSOFT
- Стаж: 9 лет 10 месяцев
- Сообщений: 562
- Репутация:65[+] [-]
|
Ander_73, Приветствую, такой вопросик. Есть ли вариант, заточить конфиг под персональную папку Мульти флешки, или скрипт надо править?Этот имею в виду@echo off title консоль 2>nul mode 40,5 set \=%tmp%\winst.tmp md %\% >%\%\wimlist rem/ echo. echo Сбор информации... for %%d in (A B 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 ^ dir %%d:\ >nul 2>nul&& for /f "tokens=*" %%i in (dirlist.txt) do ^ for /f "tokens=*" %%j in ('2^>nul dir /b/ad "%%d:%%~i"') do call :handle for /f %%i in (%\%\wimlist) do goto next color 4e echo. echo *** Ошибка! Список установок пуст! *** echo. echo Нажмите любую клавишу . . . >nul pause& goto quit :next echo Распаковка установщика... set xOS=64 if %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set xOS=86 >nul copy "%~dp0winst%xOS%" %\%\winst.exe >nul %\%\winst.exe|| goto quit set file=& set wimdir=& set "viewver=1==1" :view >%\%\menulist rem/ for /f "tokens=*" %%i in (%\%\wimlist) do ^ if exist "%%i.txt" ( for /f "usebackq tokens=*" %%j in ("%%i.txt") do >>%\%\menulist echo %%j ) else if %viewver% ( set "valid=" for /f "tokens=*" %%j in ('%\%\wimlib-imagex.exe info "%%i" 1') do call :get_info if not defined valid >>%\%\menulist echo ═хшчтхёЄэ√щ ЇюЁьрЄ фшёЄЁшсєЄштр ) else >>%\%\menulist echo %%i >>%\%\menulist ( echo. echo ╧хЁхъы■ўшЄ№ Ёхцшь юЄюсЁрцхэш : "тхЁёш /яєЄ№" ) echo Ожидаю выбор дистрибутива... %\%\Wselect %\%\menulist "Установка Windows" "" "Список дистрибутивов:" /fixedfont /bg=#D4D0C8 /menu /hc=#CC0000 /fs=14&& goto quit set /a ask=%errorlevel%-1 if %ask%==0 (set "ask=") else set "ask=skip=%ask%" for /f "tokens=* %ask%" %%i in (%\%\wimlist) do set file=%%i& set wimdir=%%~dpi& goto next if %viewver% (set "viewver=1==0") else set "viewver=1==1" echo Обновление меню... goto view :next set setup=setup.exe /InstallFrom:"%file%" if exist "%wimdir%$OEM$" set setup=%setup% /m:"%wimdir%$OEM$" if exist "%wimdir%unattend.xml" set setup=%setup% /Unattend:"%wimdir%unattend.xml" if exist "%wimdir%setup.exe" ("%wimdir%"%setup%) else ( for /f "tokens=3" %%i in ('%\%\wimlib-imagex.exe info "%file%" 1 ^| find /i "major version: "') do ^ if %%i==10 (ren %\%\winsetup.dll.new winsetup.dll) else ren %\%\winsetup.dll.old winsetup.dll %\%\%setup% ) :quit rd /q/s %\% exit :handle set file=& for %%a in (wim swm esd) do ^ for %%b in ("%%d:%%~i\%%~j\*.%%a") do set file=%%~b& if %%a==swm goto next :next if defined file >>%\%\wimlist echo %file% exit /b :get_info set bld=& for %%a in (nul) do set name=%%j set nm=%name:~0,17%& set val=%name:~24% if "%nm%"=="Display Name: " set win=%val%& exit /b if "%nm%"=="Architecture: " set bit=%val%& exit /b if "%nm%"=="Default Language:" set lang=%val%& exit /b if "%nm%"=="Major Version: " set mj=%val%& exit /b if "%nm%"=="Minor Version: " set mn=%val%& exit /b if "%nm%"=="Build: " set bld=%val% if defined bld set valid=1& >>%\%\menulist echo %win% %bit% %lang% [ver %mj%.%mn%.%bld%] exit /b
Или же автор лучше ответит?
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
KottoSOFT, как обычно, не понял вопроса Имеется ввиду, файл dirlist.txt положить куда-то ещё? Спроси точне, плз. --- На всякий случай, сейчас прикручивается вариант полной портабельности. Если в папке со скриптом будет найдена папка WInstall, то она тоже будет сканироваться в поисках дистрибутивов.
|
KottoSOFT
- Стаж: 9 лет 10 месяцев
- Сообщений: 562
- Репутация:65[+] [-]
|
Ander_73, Извини за запутанный вопрос, я хотел сказать, что то вроде вместо такого путифайла dirlist.txtF:\ 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 ТакоеKSFT\Winda\Win7\Win8\Win10 ну и далее типа\ $OEM$\ install.esd install.esd.txt unattend.xml Пока пробовать вариантов не нет тороплюсь, как всегда. Но вот нашёл Видео Насколько понимаю обзор первоначальной программки.
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
KottoSOFT, Дружище, пожалуйста, прочитай внимательно п.5 из readme в шапке. Там ДВА подпункта: 1. Примерная структура папок на флешке 2. Как при такой структуре должен выглядеть файл dirlist.txt В твоём случае примерно так: Соответственно, если дистрибутивы находятся в нескольких местах, то и строк в dirlist.txt должно быть больше. Например:Прим.: каждый путь считается от корня флешки
|
Отправлено: 09-Окт-2018 11:09
(спустя 1 час 43 минуты)
KottoSOFT
- Стаж: 9 лет 10 месяцев
- Сообщений: 562
- Репутация:65[+] [-]
|
Ander_73, Спасибо за разъяснения, дружище. Попробую по разному, там уже с ориентируюсь, конечно не исключено, что ещё задам вопросы. Пока такой вФормирование dirlist.txtСтоит код начало скопирую. F:\ INSTALL\ WINDOWS\ WIN7x64\ Не лучше ли было бы вместо буквы F:\ вставить переменную %DISK%? Как известно при загрузке с BIOSA буквы то меняются местами.
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3817
- Репутация:127[+] [-]
|
KottoSOFT, вторую страницу топика почитай. Там абсолютно аналогичный случай. Эпидемия, что ли...
|
Отправлено: 09-Окт-2018 13:05
(спустя 1 час 36 минут)
sergeysvirid
- Стаж: 9 лет
- Сообщений: 2582
- Репутация:127[+] [-]
- Откуда: 65 регион (GMT+11)
|
Ander_73 Видимо в readme.txt не совсем понятно написано:readme.txt4. Формирование dirlist.txt ------------------------ F:\ INSTALL\ 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 dirlist.txt: \INSTALL\WINDOWS Может стоит написать как-то так:readme.txt4. Структура папок/файлов относительно корня диска (чисто в качестве примера, у Вас могут быть свои имена папок\подпапок) ------------------------ Буква раздела:\ INSTALL\ 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 4.1 Содержимое dirlist.txt под данную структуру папок/файлов \INSTALL\WINDOWS
Последний раз редактировалось: sergeysvirid (2018-10-09 13:52), всего редактировалось 1 раз
|
Страница 4 из 44
Текущее время: 24-Ноя 03:21
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|