korsak7
- Стаж: 9 лет
- Сообщений: 1063
- Репутация:62[+] [-]
|
А с файлом AutoUnattend.xml. насколько помню с флешкой нормально, а с HDD какие то лишние телодвижения нужны. AutoUnattend.xml работает нормально только на сьемных носителях http://technet.microsoft.com/ru-ru/library/cc749415(v=ws.10).aspx с HDD телодвижения не помогут, только явное указание в командной строке
|
korsak7
- Стаж: 9 лет
- Сообщений: 1063
- Репутация:62[+] [-]
|
|
|
Концепт скрипта установки на базе PECMD
1. Раздел классической установки / 15. Раздел установки из пользовательской папки. 2. Выбор распакованного дистриба (откроется окно обзора папок) из любой папки (планируется предварительный поиск дистрибов в корне всех дисков - т.е., имеющийся оригинальный компакт подхватит автоматически). 3. Если дистриб не выбран (не найден), кнопка установки неактивна. 4. Инфа о пути к дистрибу 5. Кнопка выбора ISO-файла с дистрибом (откроется окно обзора файлов). 6. Установка (выбранный образ будет смонтирован через ImDisk, после этого установка). 7. Инфа о пути к образу. 8. Папка первого найденного дистриба в пользовательском каталоге. Пользовательский каталог задаётся либо настройкой в cmd-скрипте, либо местонахождением самого cmd-скрипта. Т.е., структура следующая: cmd-скрипт находится, допустим, в папке 2k10\WinSetup.User. Именно эта папка (если иначе не определено скриптом) будет просканирована на предмет подкаталогов, содержащих файл install.wim. Все найденные варианты (пока до 6-ти штук) будут добавлены в меню. 9. Описание первого дистриба (будет извлекаться из текстового файла install.txt в папке соответствующего дистриба). Ограничение - примерно 70 символов, остальное будет обрезано. 10. Установка. Если дистриб не найден, будет неактивна (11) 12. Выключение компа 13. Перезагрузка 14. MS-DaRT (опционально, если интегрирован в ядро). Пока всё это - только идея, частично оформленная в концепт. Будет ли воплощено в реале и когда - не знаю.-
Добавлено 19.12.2014 Пока всё срастается. Проверил запуск под РЕ-установщиком, утиль запускается. Чуток изменил вид. Теперь подменю "Установка Windows из папки ХХХ" "раздвижное" (т.е., если в папке дистрибов они не найдены, то подменю сворачивается). Если найден один дистриб - тогда в этом подменю будет только один пункт. И так до 8-ми. Также пришло в голову, что есть вероятность, что мышка не будет работать - поэтому, видимо, придётся сделать текстовый режим (cmd-окно с запросом варианта), если утиль закрыта по Alt+F4. Поскольку PECMD вроде не поддерживает переключение из клавиатуры (TAB-ом), ну, или я не нашёл, как задействовать тётю Клаву. Впрочем, к этому пока не приступал. А вот предварительные варианты основного CMD-скрипта и сценария для PECMD уже на 2/3 готовы. Я просто опупел, какие возможности имеются у PECMD для организации таких "поделок". Более того, в принципе, можно вообще обойтись без CMD-скрипта... но нужно досконально знать PECMD (а мне до этого ещё ой как далеко). Довольно неплохое описание синтаксиса PECMD на английском (первая страничка). На русском нет. Да и на инглише описаний немного, в основном - @China. :)
Последний раз редактировалось: Гость (2014-12-19 13:50), всего редактировалось 2 раз(а)
|
Отправлено: 17-Дек-2014 21:50
(спустя 1 час 54 минуты)
westlife
- Стаж: 8 лет 11 месяцев
- Сообщений: 4
- Репутация:0[+] [-]
|
Всем здравствуйте. Благодарю всех за много инфы нужной =) Дошел до того, что стало необходимо несколько дистров ОС на флешке держать. Нашел ваш форум. Очень много инфы, есть почти все, но частями, пришлось 3 дня курить все. Куча разных сборок. Но мне хотелось понять суть и сделать свою личную минимальную, без встраивания в дистр дополнительного софта. Переделал скрипт от conty, так как в этом разбираюсь более менее. Тот, что для внедрения в boot.wim. Добавил информативности и убрал ошибки и лишние действия. В общем функционал как у него. Только, при нахождении install.xxx сразу переходит к дальнейшим действиям, а не ищет дальше остальные расширения. Проверил на установке win10 из груб. Все отлично. Делал для себя, хочу им поделиться для всех:
развернуть@echo off chcp 1251 >nul setlocal enabledelayedexpansion :: Путь до файла install.ХХХ в корне флешки SET "root=1064\sources" :: Получаем переменную "PathFiles" путь к диску с установочными файлами for %%i in (C D E F G H I J K L M N O P Q R S T U V W) do ( set "PathFiles=%%i:\%root%" echo.&echo. Поиск "install.wim" in "%%i:\" dir /d "!PathFiles!\install.wim" >nul 2>&1 && ( set "Image=!PathFiles!\install.wim" & echo: Найден "install.wim" -^> "!PathFiles!" & goto :INST ) echo. Поиск "install.esd" in "%%i:\" dir /d "!PathFiles!\install.esd" >nul 2>&1 && ( set "Image=!PathFiles!\install.esd" & echo: Найден "install.esd" -^> "!PathFiles!" & goto :INST ) echo. Поиск "install.swm" in "%%i:\" dir /d "!PathFiles!\install.swm" >nul 2>&1 && ( set "Image=!PathFiles!\install.swm" & echo: Найден "install.swm" -^> "!PathFiles!" & goto :INST ) ) if "%Image%"=="" ( echo.&echo. Ошибка - Не найдены файлы Install.WIM\ESD\SWM в папке ".\%root%" на всех дисках^^^! goto :RBT ) :INST echo.&echo. Поиск файлов для авто-установки в "!PathFiles!" if exist "!PathFiles!\AutoUnattend.xml" ( set "UN=/unattend:!PathFiles!\AutoUnattend.xml" & echo: Найден "!PathFiles!\AutoUnattend.xml" ) else ( echo: Не найден "!PathFiles!\AutoUnattend.xml" ) if exist "!PathFiles!\$OEM$" ( set "OEM=/m:!PathFiles!\$OEM$" & echo: Найден "!PathFiles!\$OEM$" ) else ( echo: Не найден "!PathFiles!\$OEM$" ) echo.&echo. Поиск "Setup.exe" if exist "X:\Setup.exe" ( set "ST=X:\Setup.exe" ) else ( echo.&echo. Не найден "X:\Setup.exe" ) if exist "!PathFiles!\Setup.exe" ( set "ST=!PathFiles!\Setup.exe" ) else ( echo.&echo. Не найден "!PathFiles!\Setup.exe" ) if "%ST%"=="" ( goto :RBT ) echo. echo. Итоговые параметры для развертывания Windows: echo. echo. %ST% echo. %Image% echo. %OEM% echo. %UN% echo. echo. Нажмите любую клавишу для начала установки ... pause >nul %ST% /installfrom:%Image% %OEM% %UN% exit :RBT echo.&echo. Нажмите любую клавишу для перезагрузки ... pause >nul wpeutil reboot Вот ссылка, так выглядит его работа, запустил на рабочей системе с заглушками файлов и папок для примера. Исправлено от 22.06.2016 Изменил не много батник и перевел на русский, файлы авто-установки работают, проверил, все подхватывается и отображается.
Последний раз редактировалось: westlife (2016-06-22 01:26), всего редактировалось 6 раз(а)
|
Отправлено: 07-Апр-2016 18:12
(спустя 3 месяца 4 дня)
JOYsticK
- Стаж: 9 лет 8 месяцев
- Сообщений: 22
- Репутация:-1[+] [-]
|
Может тут форум еще не умер, хочу задать вопрос, и может кто поможет. Делаю батник myset.cmd:@echo off title Install Windows x64 wpeinit 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 IF EXIST %%i:\Win\win8.1\sources\install.swm SET drive=%%i: start /w X:\sources\setup.exe /installfrom:%drive%\Win\win8.1\sources\install.swm exit Далее монтирую boot.wim копирую hiderun.exe и myset.cmd в system32 далее прописываю это в автозапуск в реестре:reg load HKLM\temp %MNT%\Windows\system32\config\SYSTEM Reg Add HKLM\temp\Setup /v CmdLine /d "hiderun.exe /w myset.cmd" /f reg unload HKLM\temp Но таким образом не подхватывается EI.CFG и требуется ввод серийного номера. А если делать так:@echo off title Install Windows x64 wpeinit 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 IF EXIST %%i:\Win\win8.1\sources\install.swm SET drive=%%i: start /w %drive%\Win\win8.1\sources\setup.exe /installfrom:%drive%\Win\win8.1\sources\install.swm exit То вроде все работает но если включен EFI и secure boot, то возникает ошибка "Windows could not load required file WinSetup.dll. The may be corrupt. The install Windows, restart the installation." Подскажите почему и как это решить?
|
westlife
- Стаж: 8 лет 11 месяцев
- Сообщений: 4
- Репутация:0[+] [-]
|
JOYsticK, Если установка из X:\sources\setup.exe то и EI.CFG должен быть в этой папке, закидывайте его в boot.wim во 2 индекс в sources. И я не понял зачем так делать автозапуск через реестр файла установки. По уефи не подскажу, но там установка должна быть из уефи. Не пользовался этим пока.
|
Отправлено: 12-Апр-2016 17:39
(спустя 1 час 32 минуты)
JOYsticK
- Стаж: 9 лет 8 месяцев
- Сообщений: 22
- Репутация:-1[+] [-]
|
westlife, проще добавить файл ответов. Но больше интересует вопрос почему ошибка "Windows could not load required file WinSetup.dll. The may be corrupt. The install Windows, restart the installation." Разные sources? Хотелось бы чтоб из start /w %drive%\Win\win8.1\sources\setup.exe /installfrom:%drive%\Win\win8.1\sources\install.swm работало а не из boot.wimИ я не понял зачем так делать автозапуск через реестр файла установки. мне так больше нравится, тогда можно использовать winpeshl в других целях и оно не мешает этому.
|
westlife
- Стаж: 8 лет 11 месяцев
- Сообщений: 4
- Репутация:0[+] [-]
|
раз у вас изменена директория установочных файлов по этому и для уефи надо соблюсти все моменты.UEFI - это мини-ОС на базе Linux, задача которой запустить загрузчик. Загрузчиком служит файл из папки efi\boot: bootx64.efi для UEFIx64 или bootia32.efi для UEFIx32. Также в совместимом режиме Legacy Mode (если он поддерживается UEFI, зачастую это реализовано в x64-версии) возможна эмуляция Bios-загрузки (загрузка из MBR). UEFI поддерживает загрузку ОС как с GPT-разделов (только из разделов FAT/FAT32), так и MBR HDD (если поддерживается Legacy Mode). Примечание: в классической реализации UEFI отсутствуют драйверы NTFS, поэтому такие разделы UEFI просто "не увидит" (и, соответственно, не сможет из них загрузиться). Некоторые производители (в новых реализациях UEFI) могут включать этот драйвер, тогда на таких ПК можно загрузиться и с NTFS-разделов. Но для гарантированной загрузки на различных ПК лучше форматировать загрузочный носитель в FAT/FAT32. BIOS позволяет загружаться только из MBR-записи HDD. Хотя, после загрузки ОС на базе Windows 7 и выше, может полноценно работать и с GPT-разделами HDD HDD. Примечание: работа с GPT-разделами также реализована в ОС Windows 2003 Server, но с некоторыми ограничениями (размер HDD не более 3Тб). Возможность загрузки и работы ОС в EFI-режиме реализована в ОС Windows 8 и новее (8.1, 10, ...), а также с ограничениями - в ОС Windows 7x64 (для 7x86 эта возможность отсутствует). Ограничения для Windows 7x64 связаны с тем, что в этой ОС еще не было цифровых подписей файлов, поэтому загрузка и работа EFI-версии 7x64 возможна лишь при условии отключения Secure Boot (которая занимается проверкой цифровой подписи). Чтобы установить EFI-ОС, необходимо загружать WinPE только в EFI-режиме. 32-битный процессор (что равнозначно UEFIx32, обычно устанавливаются на планшеты) - возможна EFI-загрузка исключительно х86-разрядных PE/ОС (загрузчик bootia32.efi), можно загрузить WinPE/ОС на базе 8-ки и новее. 64-битный процессор (что равнозначно UEFIx64, практически все новые ПК и ноутбуки) - возможна EFI-загрузка исключительно х64-разрядных PE/ОС (загрузчик bootx64.efi), можно загружать WinPE/ОС на базе 8-ки и новее (либо 7x64 с отключеным "Secure Boot"). Примечание: в UEFIx64 отсутствует поддержка x32, поэтому использование каких-либо x32-версий EFI-утилит полностью исключено. То же касается использования в UEFIx32 64-битовых версий. Порядок загрузки в EFI-режиме и установки EFI ОС: 1. Загружается загрузчик (соответствующей разрядности), который находится по пути efi\boot\bootx64.efi (х64) или efi\boot\bootia32.efi (х32) 2. Загрузчик загружает своё меню BCD (файл efi\microsoft\boot\BCD). Примечание: для WinPE-сборок, в которых совмещена возможность загрузки как в x64, так и в x32 режимах, часто применяют пропатченную версию bootia32.efi. В пропатченной версии изменено имя меню BCD на B32, что позволяет разделить менюшки по разрядности (BCD - меню для x64, и B32 - для x32-реализации UEFI). Применение патча именно для bootia32.efi допустимо, поскольку проверка цифровой подписи (Secure Boot) в x32-реализациях UEFI отсутствует (по крайней мере, пока не встречается). 3. Из меню загружается ядро (например, boot.wim), в котором должен быть EFI-загрузчик для загрузки в EFI-режиме (как и в install.wim/esd, он находится по пути Windows\System32\Boot\winload.efi). 4. Только из WinPE, загруженного в EFI-режиме, возможно установить EFI-версию ОС. При этом в установочном архиве (install.wim/esd), обязательно должен присутствовать EFI-загрузчик ядра (Windows\System32\Boot\winload.efi), а разрядность ОС должна соответствовать реализации UEFI (x64 или x32). EFI-загрузчик ядра есть в Windows 7 x64 и в более новых 8/8.1/10. Примечание: стоит учитывать ограничения на установку EFI ОС 7x64 (необходимо отключение Secure Boot, иначе установленная ОС не сможет загружаться). Если в первом варианте у вас устанавливается из уефи, а во 2 варианте нет, то надо разбираться, у меня нет возможности проверить. Какой номер ошибки выскакивает?
|
Отправлено: 13-Апр-2016 21:53
(спустя 1 день 3 часа)
JOYsticK
- Стаж: 9 лет 8 месяцев
- Сообщений: 22
- Репутация:-1[+] [-]
|
westlife, загружается Boot.wim появляется картинка фоновая которую я туда положил и по среди экрана месаджбокс с крестиком "Windows could not load required file WinSetup.dll. The may be corrupt. The install Windows, restart the installation." можно смело открывать командную строку и работать, не работает сам setup.exe Грешу на то что наверное я что-то поломал в папке sources, завтра пересоберу все сначала из оригинальных образов и проверю.23285у меня нет возможности проверить. westlife, Oracle VM VirtualBox или QemuBootTester странно что нет возможности.
|
Отправлено: 04-Июн-2016 23:48
(спустя 1 месяц 21 день)
denkors
- Стаж: 8 лет 6 месяцев
- Сообщений: 5
- Репутация:0[+] [-]
|
Народ если кто знает подскажите, не могу понять один момент. Разделил флешку на два раздела программкой UTMake на fat32 закинул multiboot collection lite на ntfs (видимый раздел с буквой) install.esd размером 7,7gb (собрал все виндовс в один AIO). Ну вот хотелось бы не использовать программу 78setup а запускать сразу выбор ОС как в класической установки windows. Для этого взял "чистый" boot.wim с iso образа win10 x86 модифицировал его чтобы он искал install.esd в папке 1086 но папка находиться на другом разделе поэтому выскакивает сообщение что boot.wim не может найти install.wim в папке 1086. Подскажите как в файле mysetup.cmd прописать путь к папке 1086 где лежит install.esd на другом разделе а то получается что он ищит этот файлик на разделе fat32.
|
SunOK
- Стаж: 10 лет
- Сообщений: 352
- Репутация:32[+] [-]
- Откуда: Україна, Перлина Поділля
|
denkors, в mysetup.cmd должен отработать перебор всех доступных разделов с :\1086\...\install.esd на борту. А теперь вопрос: под загрузившимся boot.wim доступен ntfs-раздел с install.esd? Если нет, то надо у conty9 спросить (скорее всего, надо интегрировать драйвер для отображения разделов на флешке, Хитачи что-ли). Можно еще в BootICE присвоить букву "невидимому" разделу, убрав ёё с fat32-раздела. Уточните где находится сам boot.wim - там же где и install.esd или на fat32-разделе? Adler, во-во, двухраздельная то флешка, а не USB-HDD... хотя если рискнуть флешкой, можно контроллер перевести в режим ЖД.
|
sergeysvirid
- Стаж: 9 лет
- Сообщений: 2585
- Репутация:127[+] [-]
- Откуда: 65 регион (GMT+11)
|
25055Для этого взял "чистый" boot.wim с iso образа win10 x86 модифицировал его чтобы он искал install.esd в папке 1086 но папка находиться на другом разделе поэтому выскакивает сообщение что boot.wim не может найти install.wim в папке 1086. Подскажите как в файле mysetup.cmd прописать путь к папке 1086 где лежит install.esd на другом разделе а то получается что он ищит этот файлик на разделе fat32. 25058скорее всего, надо интегрировать драйвер для отображения разделов на флешке Верно. denkors В комплекте с утилитой 78setup в папке \Add_Boot.wim\x86\Windows\System32 лежат файлы для интеграции их в boot.wim (в частности hidcon.exe для скрытия запуска консольного окна, bootpart.exe, bootpart.sys для монтирования второго раздела флешки, ShowDrive.exe для подключения всех неподключенных разделов) Там же присутствует скрипт StartNet.cmd в котором прописаны все команды запуска (с комментариями) Если чуток включить соображаловку, то можно интегрировать эти файлы из комплекта 78setup в Ваш boot.wim и подогнать (совместить) скрипт StartNet.cmd под себя, совместив из него записи с записями из Вашего mysetup.cmd-P.S. Для оригинальных boot.wim метод с монтированием второго раздела флешки применим только к boot_x86.wim (так как в комплекте присутствует только x86-разрядный bootpart.exe, а в оригинальном boot_x64.wim отсутствует x86-подсистема. Следовательно bootpart.exe не запустится в boot_x64.wim)-Или можете также использовать BOOT1086.WIM из Multiboot Collection Lite (там уже все эти файлы интегрированы), просто подогнать в нём (отредактировать и совместить со своим mysetup.cmd) скрипт StartNet.cmd под себя (без команды поиска и запуска утилиты 78Setup)
|
Страница 6 из 19
Текущее время: 05-Дек 05:31
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|