Объединение образов windows 10 в один образ

  1. Главная
  2. Форум
  3. Личные форумы.
  4. Полезности от Adler



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

  • 1708
  • Стаж: 7 лет 4 месяца
  • Сообщений: 1164
  • Репутация:65[+] [-]
  • Откуда: Луганск


Делал еще давно для себя, уже пылью покрылось. Сдул пыль, может кому пригодится.

Для работы программы необходим .Net Framework не ниже 4.0
Интерфейс максимально понятный, но есть нюансы:

    Оба файла с образами должны содержать одинаковое количество образов. (делал исключительно для Win10 и другого не требовалось). Соответственно удобно применять для Win 8/8.1/10, где обычно одинаковое количество образов в аналогичных версиях с разной разрядностью, или Win 7 без редакции Starter (предварительно её удалив вручную).
    — Объединение происходит по принципу: <первый файл — первый образ> + <второй файл — первый образ> + <первый файл — второй образ> + <второй файл — второй образ> и т.д.
    — К названию конечного образа добавляется окончание соответствующее указанному для источника (по умолчанию «32-bit» и «64-bit«, можно изменить). (думаю понятно, не придумал как это более внятно объяснить :))
    — Для конечного файла желательно вручную указать соответствующее расширение файла (к примеру: install.esd), т.к. по умолчанию сохраняет с расширением .wim не зависимо от реального типа файла.


Т.е. в результате получается примерно так:

Процесс объединения запустится сразу после нажатия на «Сохранить» (в диалоговом окне выбора места сохранения).
Проверял на .wim и .esd образах. .esd объединяются очень долго, но это вопросы к wimlib.
Имхо, если источники в формате .esd, то быстрее их будет перепаковать в .wim (к примеру, с помощью 78RePack), объединить и перепаковать снова в .esd. Это очень субъективно, т.к. реальных замеров времени не проводил, могу ошибаться.
В процессе объединения оптимизация или рекомпрессия не производится, по этому, имхо, конечный файл все равно желательно пережать (тем же 78RePack или чем то другим).
Логики в программе минимум, соответственно нарушение логической последовательности действий (выбрать первый файл -> выбрать второй файл -> выбрать куда сохранить и как назвать -> пойти попить кофе/чай/пиво/… дождаться результат) в программе может вызвать ошибку. Писал её исключительно как замену .bat файлу, которым пользовался ранее.
При выборе файлов источника можно выбрать и .swm, но будет ли это работать или нет — не знаю (фильтр скопипастил с какой то предыдущей программы). Не проверял.
Окошко с логом процесса слегка тормозит и подвисает.
P.S. На данный момент дальнейшее развитие программы не планируется (ответ на вопрос «почему?» можно прочитать в первой строчке темы). Разве что какие то мелкие изменения.

Последний раз редактировалось: Adler (2019-05-15 13:53), всего редактировалось 1 раз


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

Отправлено: 04-Окт-2016 00:54
(спустя 3 дня)

    naifle

  • 762
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 199
  • Репутация:26[+] [-]


Adler, напиши программу для повышения редакций в виндовс 7.


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

Отправлено: 04-Окт-2016 07:24
(спустя 6 часов)

    Adler

  • 1708
  • Стаж: 7 лет 4 месяца
  • Сообщений: 1164
  • Репутация:65[+] [-]
  • Откуда: Луганск


naifle, ну так редакция повышается dism’ом в одну команду. Это проще батником реализовать… Мне это не особо интересно ah


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

Отправлено: 04-Окт-2016 10:10
(спустя 2 часа 45 минут)

    naifle

  • 762
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 199
  • Репутация:26[+] [-]


Adler, зашей батник в эту программу.


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

Отправлено: 04-Окт-2016 10:22
(спустя 12 минут)

    Adler

  • 1708
  • Стаж: 7 лет 4 месяца
  • Сообщений: 1164
  • Репутация:65[+] [-]
  • Откуда: Луганск


naifle, зачем? Не вижу смысла, да и мне это как то не интересно вовсе…
P.S. Эта тема не о повышении редакций, а о склейке двух install.wim в один …


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

Отправлено: 04-Окт-2016 18:08
(спустя 7 часов)

    naifle

  • 762
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 199
  • Репутация:26[+] [-]


Adler, Mazahaka просил, к себе в интегратор положить хочет.


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

Отправлено: 04-Окт-2016 18:33
(спустя 24 минуты)

    Adler

  • 1708
  • Стаж: 7 лет 4 месяца
  • Сообщений: 1164
  • Репутация:65[+] [-]
  • Откуда: Луганск


naifle, я смутно представляю как это вообще работает, а еще более смутно представляю, как это можно реализовать.
Я в своей жизни dism`ом пользовался раз 10 от силы (и то наверное переврал с количеством:)) и то чисто из интереса по мануалу (copy-paste рулит).
О повышении редакции (что там вообще можно сделать) я от то го же Mazahaka и узнал, когда он в своей теме где то писал, что не обязательно под обновления подсовывать файл с большим количеством образов, а достаточно подсунуть только младшие редакции, обновить их, поднять версии и уже практически обновленный файл с большим количеством образов подсунуть, что бы доставились только обновления зависящие от версии и так будет быстрее.
Я тогда загуглил статейку Вадима Стеркина в его блоге где был пример поднятия версии. Попробовал, получилось и все, забыл об этом…


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

Отправлено: 06-Окт-2016 12:13
(спустя 1 день 17 часов)

    Mazahaka_lab

  • 1832
  • Стаж: 7 лет 3 месяца
  • Сообщений: 151
  • Репутация:22[+] [-]


29446

Adler, Mazahaka просил, к себе в интегратор положить хочет.

Я просил ?=) Где ? Если я прошу , то я прошу лично ! =) Я писал, что думаю как это прикрутить к своему интегратору . Решил уже сделать отдельной утилитой.
Уже пишу её, она может повышать редакции и совмещать в один образ выбранные пользователем редакции, интегрировать установочные ключи . Скоро войдёт в состав моего интегратора .


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

Отправлено: 04-Апр-2017 07:10
(спустя 5 месяцев 28 дней)

    stupakov8

  • 15140
  • Стаж: 6 лет 1 месяц
  • Сообщений: 18
  • Репутация:0[+] [-]


А можно объединить Win10x86 и Win7x64 ?


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

Отправлено: 04-Апр-2017 08:47
(спустя 1 час 36 минут)

    mlevon

  • 1606
  • Стаж: 7 лет 4 месяца
  • Сообщений: 65
  • Репутация:0[+] [-]


Есть очень удобная в пользовнии программка. Бесплатная. Неоднократно ею пользовался.

39939

А можно объединить Win10x86 и Win7x64 ?

Этой прогой я делал такое.


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

Отправлено: 05-Апр-2017 04:43
(спустя 19 часов)

    KottoSOFT

  • 206
  • Стаж: 8 лет
  • Сообщений: 562
  • Репутация:64[+] [-]


39939

А можно объединить Win10x86 и Win7x64 ?

Объединить можно легко через командную строку средств развёртывания WADK Создать 3 папки
1. Folderx86 (В вашем случае ложим туда install.wim Win10x86)
2.Folderx64 (В вашем случае ложим туда install.wim Win7x64)
3. Win7 (Здесь будет объединённый install.wim)
После того, как скопировали 2 wim файла в первые 2 папки запустить командную строку средств развёртывания WADK и вставить в неё такие команды

Команды

imagex /export E:Folderx86install.wim 1 E:win7install.wim «Windows 10 редакция» /check /compress maximum
imagex /export E:Folderx64install.wim 1 E:win7install.wim «Windows 7 редакция» /check /compress maximum

Обе команды копируем вместе жмём Энтер и ждём 23 минуты.


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

Отправлено: 05-Апр-2017 11:28
(спустя 6 часов)

    mlevon

  • 1606
  • Стаж: 7 лет 4 месяца
  • Сообщений: 65
  • Репутация:0[+] [-]


29493

29446

Adler, Mazahaka просил, к себе в интегратор положить хочет.

Я просил ?=) Где ? Если я прошу , то я прошу лично ! =) Я писал, что думаю как это прикрутить к своему интегратору . Решил уже сделать отдельной утилитой.
Уже пишу её, она может повышать редакции и совмещать в один образ выбранные пользователем редакции, интегрировать установочные ключи . Скоро войдёт в состав моего интегратора .

А эта утилита будет только для вин 7 или для вин 10 тоже?


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

Отправлено: 06-Апр-2017 12:45
(спустя 1 день 1 час)

    ANDREISM

  • 1886
  • Стаж: 7 лет 3 месяца
  • Сообщений: 124
  • Репутация:12[+] [-]


Adler, Спасибо большущие вам. Программка суперская, и самое главное что мало весит. Как то мимо проходил всегда, решил попробовать и мне очень понравилось. Жалко что такая хорошая программка и не умеет разъединять образы x32,x64 ac


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

Отправлено: 06-Апр-2017 13:33
(спустя 48 минут)

    Adler

  • 1708
  • Стаж: 7 лет 4 месяца
  • Сообщений: 1164
  • Репутация:65[+] [-]
  • Откуда: Луганск


40058

Жалко что такая хорошая программка и не умеет разъединять образы x32,x64

А зачем? ah Мне как раз надо было объединить раздельные …


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

Отправлено: 06-Апр-2017 14:32
(спустя 58 минут)

    ANDREISM

  • 1886
  • Стаж: 7 лет 3 месяца
  • Сообщений: 124
  • Репутация:12[+] [-]


Adler, Пережал в install.wim образ вот тут как раз будет помощь вашей программки, которая разъединит x32, x64 от дельно в папку и объединит образы.
Можно конечно с командами все это сделать, а так будет 2 in 1 объединять + разъединять. Удобно очень, не нужно ничего нигде искать не какие команды, особенно тем кто не понимает в командах.

Страница 1 из 3

Текущее время: 07-Фев 21:37

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

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

Содержание

  1. Sibir-Omsk.ru
  2. Поддержка проекта
  3. Объединение образов Windows 8/8.1/10 в один образ
  4. Объединение образов Windows 8/8.1/10 в один образ
  5. Как удалять ненужные редакции из дистрибутивов и объединять ISO-образа Windows с помощью WinAIO Maker Professional
  6. Блог неудавшегося программиста
  7. Объединение дистрибутивов Windows и интеграция обновлений в дистрибутив
  8. WorldJB | Блог
  9. Прямой эфир
  10. Блоги
  11. Объединение нескольких дистрибутивов Windows в одном
  12. Как создать установочную флэшку с несколькими версиями Windows

Sibir-Omsk.ru

Поддержка проекта

pay wm

Объединение образов Windows 8/8.1/10 в один образ

file.php?avatar=2 1584066085

Объединение образов Windows 8/8.1/10 в один образ

Сообщение волчара » 30 дек 2016, 14:08

МЕНЯЕМ МЕСТАМИ
В образах Windows ru_windows_8.1_with_update_x86_dvd_4048316 и ru_windows_8.1_with_update_x64_dvd_4048362, две редакции Windows: Core и Professional, и эти редакции установлены в таком порядке, сперва редакция Professional, потом Core
[External Link Removed for Guests] [External Link Removed for Guests]
Нам нужно их поменять местами, для этого мы и создали две папки 8xcorewim и 8xprowin.
6) Идем: ПускВсе программыWindows KitsWindows ADK и запускаем от имени Администратора Среда средств развертывания и работы с образами
7)Вставляем этот скрипт:

Код: [Local Link Removed for Guests]

Код: [Local Link Removed for Guests]

Код: [Local Link Removed for Guests]

После этих все манипуляций редакции Core и Professional поменяются местами, работа закончена по замене редакций.

ВНЕДРЯЕМ ОСТАЛЬНЫЕ РЕДАКЦИИ И СОЗДАЕМ ОБРАЗ
Запускаем от имени Администратора Среда средств развертывания и работы с образами и поочередно вставляем эти скрипты.
ПОЯСНЕНИЕ: Скрипты вставлять поочередно, т.е. вставлять следующий скрипт тогда когда закончит работу предыдущий.

Источник

Как удалять ненужные редакции из дистрибутивов и объединять ISO-образа Windows с помощью WinAIO Maker Professional

iso

Или наоборот, в дистрибутиве нет нужной редакции, из-за чего приходится держать под рукой второй установочный образ.

Так вот, в первом случае вы можете удалить из дистрибутива ненужные редакции, а во втором — добавить, объединив два установочных образа в один. Для этого вам понадобится бесплатная портативная утилита WinAIO Maker Professional. Официальный сайт программы joshcellsoftwares.com сейчас не работает, но ее без проблем можно найти и скачать в интернете. Для начала давайте посмотрим, как удалить из образа с Windows ненужные редакции. Распакуйте установочный образ ISO любым архиватором в отдельную папку на диске D или на другом томе только не на системном. Папка должна иметь то же название, что операционная система, хотя это не является обязательным условием.

5380044 1

Запустите WinAIO Maker Professional, нажмите кнопку «Select WIMs».

5380044 2

5380044 3

В окне утилиты тут же появится список доступных редакций Windows.

5380044 4

5380044 5

Точно так же удаляем другие редакции.

5380044 6

По завершении обработки программа выдаст уведомление об успешной компиляции образа.

5380044 7

Распакуйте объединяемые образы каждый в свою папку, запустите утилиту и поочередно добавьте в нее сначала файл install.wim из одного распакованного образа, а затем файл install.wim из другого.

5380044 8

5380044 9

5380044 10

А затем нажимаем кнопку «Save all into ISO».

5380044 11

В диалоговом окошке присваиваем образу метку, указываем путь для сохранения и запускаем компиляцию образа нажатием «Make ISO».

5380044 12

5380044 13

Источник

Блог неудавшегося программиста

Объединение дистрибутивов Windows и интеграция обновлений в дистрибутив

Приветствую вас, дорогие друзья. Это мой первый пост на сайт.

Недавно, при очередной установке WIndows 7 столкнулся с проблемой, что ломаная винда не может нормально накатить обновления (может быть у меня кривой дистрибутив, не знаю). Но пользователю очень нужно было, чтобы он был «защищен» от дыр в оси, и поэтому очень просил поставить все обновы.

Давайте попробуем разобраться в этой проблемке…

Решение проблемы заняло довольно длительное время. Сначала я пытался установить обновления вручную, с помощью вот этого интересного наборчика — http://forum.oszone.net/thread-257198.html, но ничего не получалось — компьютер уходил в перегруз, а обновления не накатывались, компьютер мне усердно пытался сказать, что не может накатить обновления:

maxresdefault

После нескольких часов безуспешных попыток установить обновления на готовую ломаную винду пришла идея создать свою сборку WIndows 7 (давно уже хотел этим заняться).

Времени свободного пока хватает, благо жена с сыном няньчится сама, да и ночью лучше работается).

Было решено создать сборку, без лишних приблуд, с интегрированными последними обновлениями и чтобы были обе версии x32 и x64.

В интернете полно статей с инструкциями как все это дело замутить. Было решено выбрать статью из вот этого блога http://gromr1.blogspot.ru/2014/03/create-any-bit-windows-7.html по объединению дистрибутивов, а всемогущий youtube помог интегрировать обновления в дистрибудив.

Итак, что нам понадобится:

1. WAIK — http://ru.wikipedia.org/wiki/Windows_Automated_Installation_Kit

2. Чистые образы операционных систем.

3. Набор последних обновления для ОС, скачанный отсюда — http://forum.oszone.net/thread-257198.html.

4. Программа UltraISO.

1. Устанавливаем WAIK — думаю с этим проблем не возникнет.

2. Теперь запускаем «Командную строку средств развертывания» от администратора и будем объединять дистрибутивы. Все действия будем выполнять в ней.

3. За основу возьмем x32 битный образ и распакуем его с помощью UltraISO.

4. Удалим файл /sources/ei.cfg для возможности выбора редакций:

5. Перенесем файл /sources/install.wim из только что распакованного образа, например, в папку install_wims и переименуем его в install_x86.wim:

6. Достанем файл /sources/install.wim из образа с 64-битной архитектурой и перенесем в эту же папку (install_wims) и аналогично переименуем его в install_x64.wim:

7. Необходимо узнать индексы операционных систем, чтобы знать какие сливать в один. Это все делается командой dism.

dism /get-wiminfo /wimfile:.install_wimsinstall_x86.wim

dism /get-wiminfo /wimfile:.install_wimsinstall_x64.wim

8. Теперь, когда мы знаем индексы необходимых операционных систем — будем их объединять.

9. Делается это с помощью команды ImageX.

imagex /export «.install_wimsinstall_x86.wim» 5 «.install_wimsinstall.wim» «Windows 7 Ultimate (x86)» /compress maximum

imagex /export «.install_wimsinstall_x64.wim» 4 «.install_wimsinstall.wim» «Windows 7 Ultimate (x64)» /compress maximum

Цифры 4 и 5 в командах это и есть индексы, которые мы узнали на предыдущем шаге.

10. В результате у нас появился файл .install_wimsinstall.wim, который содержит в себе две операционных системы (Windows 7 Максимальная 32 и 64 битные).

Спешить встраивать его в образ не будем. Нам необходимо еще встроить обновления в этот файл.

11. Запускаем обычную командную строку от администратора (командную строку средств развертывания не закрываем — она нам еще пригодится). И выполняем команду:

UpdatePack7R2.exe /WimFile=C:install.wim /Index=*

C:install.wim — путь до нашего модифицированного файла.

/Index=* — операционки, в которые необходимо внедрить обновления (определяются командой dism). Если стоит *, то обновления будут внедрены во все операционки.

Обновления в 1 ОС устанавливаются около 1,5 часа, так что придется немного подождать.

12. Все установка обновлений завершена. Теперь можно заливать install.wim обратно в образ. Перенесем файл в наш распакованный образ

13. Создаем cmd-файл (для более простого написания команды) следующего содержания:

:: Папка с установочными файлами Windows

:: Папка для сохранения ISO-образа

:: Путь до загрузчика

::-u2 — Создает образ, который имеет файловую систему UDF.
::-l — Задает метку тома. Между параметрами l и метка пробелов быть не должно.
::-b — Указывает на загрузочный файл образа, который используется для создания загрузочного сектора на DVD-диске или образе.
::-h — Включает в создаваемый образ все скрытые файлы и папки, расположенные по указанному пути
::-m — Игнорирует ограничение максимального размера образа.

Выполнив эту команду у нас в текущей папке появится файл WIN7x86-x64.iso, который является нашим детищем…

Мы все проделали успешно. Теперь остается только протестировать работу. На своем ноутбуке я протестировал — все успешно, система встала, обновления тоже, осталось накатить только несколько новых (буквально 5-7).

Источник

WorldJB | Блог

Прямой эфир

alex 25 декабря 2019, 21:28

Блоги

Объединение нескольких дистрибутивов Windows в одном

и так, наверное многие задумывались о том, как делаются разные дистрибутивы windows, наверное чаще всего натыкались на такие, как всё в одном, то есть несколько редакций объединены в один образ, и думали как это сделать, и так, займёмся как раз таким делом, и так, для начала нам понадобится несколько программ
1 — UltraISO
2 — WAIK
3 — и сами образы системы, образы должны быть оригинальными, не из сборок, образы windows 7 ultimate, взять можно тут и тут
так, надеюсь, что UltraISO уже установлено и переходим к установке WAIK, для этого переходим по ссылке и качаем пакет и устанавливаем, после установки в меню пуск у нас появится консоль с именем «Утилиты командной строки Windows PE» или «Командная строка средств развертывания» клацаем по ней правой кнопкой и запускаем от имени администратора, теперь переходим в диск, где всё это будем делать, я делал на системной диске, и создаём папки
1 — install_wims
2 — mount
теперь, открываем образ системы, так, небольшое отступление, чуть выше я дал ссылки на скачивание, изначально виндовс идут «раздельно» то есть каждый образ системы идёт отдельным образом, так вот, скачав мы должны были получить два образа Windows 7 Ultimate двух разрядностей x86 и x64, теперь монтируем образ Windows 7 Ultimate x86, хоть через эмуляторы дисководов, хоть открываем архиватором, как вам удобно, после чего идём в примонтированный образ в папку sources и переносим файл install.wim в папку install_wims на диске, которую создали немного ранее и переименовываем его в install_x86.wim, аналогично поступаем с Windows 7 Ultimate x64, только wim файл переименовываем в install_x64.wim, так, всё готово, командная строка запущена, напомню, я использую в качестве рабочей области системный диск, вводим команды

то есть переходим в корневой каталог диска, теперь проверим содержание наших образов следующей командой

вывод должен быть примерно следующий

и аналогично проверяем для второго образа

думаю вы заметили, что у нас в образах находятся не только Ultimate версия, но и все остальные, и что стартовая версия имеется только в разрядности x86, и так, необходимо обратить внимание на индексы, это очень важно, так как дальше мы начнём совмещать, для начала добавим стартовую редакцию

ожидаем окончания создания образа и добавляем домашнюю базовую x86

теперь добавим ту же систему, только x64

обратите внимание на индексы, они чередуют нумерацию систем в wim файлах, далее добавляем остальные системы

команды выполняются поочерёдно
некоторые пояснения по поводу выполнения команд
imagex /export файл_источника номер_источника файл_назначения имя_назначения /compress [тип]

файл_источника
Задает путь к WIM-файлу, содержащему образ, который нужно скопировать.
номер_источника
Задает номер, указывающий конкретный том в WIM-файле.
файл_назначения
Задает путь к WIM-файлу, в который будет скопирован образ.
имя_назначения
Задает уникальное имя образа в WIM-файле назначения.
/compress [тип]
Задает тип сжатия, используемый в операции создания первичного образа.
Параметр maximum предусматривает высшую степень сжатия при создании образа.
в конце у нас должен получиться wim файл содержащий в себе 5 редакций 32 битной ОС и 4 редакции 64 битной, конечный размер файла будет примерно 3 ГБ, просмотрим информацию о нём

примерно должно получиться так

если же вдруг ошиблись в индексе или интегрировали не ту редакцию, не страшно, её можно удалить

пережмём наш wim файл, что бы он уменьшился в размерах

9da601
теперь из образа Windows 7 Ultimate x86 из папки sources извлекаем файл boot.wim в папку install_wims, сейчас поясню для чего это надо, это надо для интеграции FiraDisk, для добавления на загрузочную флешку или HDD, и так, файл распакован, теперь примонтируем его

скачиваем файлы winpeshl.ini и FiraDisk.cmd, или резервная ссылка, создаём папку FiraDisk в корневом каталоге диска и помещаем туда только что скачанные файлы, теперь интегрируем их в наш загрузчик

ожидаем, теперь отмонтируем и сохраним наш файлик

очистим всё, что было связано с подключением

теперь создаём файл ei.cfg следующего содержания

теперь открываем наш Windows 7 Ultimate x86 в UltraISO, переходим в папку sources и даляем в ней файлы
ei.cfg
boot.wim
install.wim

и заменяем их нашими файлами, теперь сохраняем образ и проверяем работоспособность, должно получиться примерно так
b92921
для добавления на флешку или hdd, при использовании grub4dos, примерно так будет выглядить загрузочная запись

каталог ISO это где будет храниться наш образ,%MYISO% имя образа, при желании в этот же образ можно добавить и win 8 и win 10, только при добавлении учитывать имена систем, и индексы в начальных образах, вроде всё.

Источник

Как создать установочную флэшку с несколькими версиями Windows

pendrive 1157504 960 720

Возможно, у многих имеется собственная коллекция образов c различными версиями Windows. Кто-то даже хранит её на загрузочных DVD дисках, которых по мере увеличения количества версий Windows со временем становится всё больше и больше. И Вот уже стопка загрузочных дисков начинает отвоёвывать место на полках вашего стола. Но почему бы не сделать из всех этих дисков одну единственную флешку, которая будет содержать установки всех необходимых Вам версий Windows. Сегодня я покажу как это сделать.

Создать загрузочный USB накопитель, который включает в себя множество ISO, на самом деле довольно легко. Я покажу как это сделать с помощью маленькой бесплатной утилиты под названием WinSetupFromUSB. Переходим по ссылке и скачиваем последнею актуальную версию. Утилита позволяет использовать даже неустановочные образы Windows, а такие как реанимационные по типу WinPE или спасательные диски с антивирусами вроде Kaspersky Rescue Disk или Dr.Web® LiveDisk. Полный список того, что Вы можете записать на флешку можно узнать из поддерживаемых источников на оф. сайте.

Существует одно важное замечание. Утилита работает одновременно только с одной версией Windows в образе. Поэтому, если у Вас есть двойной ISO, который включает в себя как 32-разрядные, так и 64-разрядные версии Windows, Вы не сможете его использовать. Скачайте одиночные образы Windows, например, из этого источника, и используйте их.

Я буду показывать использование утилиты для заливки нескольких установочных образов с Windows 7 / 8 / 10. Аналогично можно залить и другие образы.

Берём пустой USB достаточно большого объёма, чтобы вместить все ISO, которые хотите установить, плюс оставляем небольшое количество дополнительного пространства. Для примера, флешка на 16 Гб может уместить до трёх версий Windows и один Rescue Disk. Если у Вас USB на 32 Гб, то тогда все версии Windows можно будет разместить на такого объёма USB. А если Вы хотите к ним еще и добавить несколько образов с образами восстановления и спасательные диски, то потребуется больший флешка минимум на 64 Гб.

WinSetupFromUSB является портативным инструментом, который не нужно устанавливать. После того, как Вы его загрузили, извлеките архив, в новую папку. Если используете 64-разрядную версию Windows, то запустите исполняемый файл с суффиксом «64» в названии. Если используете 32-разрядную версию Windows, запустите файл без «x64».

Если USB накопитель уже был вставлен в момент запуска утилиты, его название появится в верхней части окна. Если USB не был вставлен, подключите его и нажмите кнопку Refresh.

Затем установите флажок Advanced options. При этом откроем дополнительное окно, в котором установите флажок Custom menu names for Vista/7/8/10/Server Source.

Этот параметр позволяет использовать собственные имена для папок, в которых хранятся ISO образы Windows, и собственные названия в меню загрузки, которое Вы увидите при запуске компьютера с USB-накопителя. Окно Advanced options не закрывайте, иначе изменений не сохранятся.

Сейчас пойдет сложная часть инструкции. Нужно добавить по одной все версии Windows. Во время первого добавления образа убедитесь, что флажок Auto format it with FBinst установлен. Это позволяет WinSetupFromUSB отформатировать диск соответствующим образом, пригодным для загрузки всех систем. Если вы точно знаете, что для установки c USB будете компьютер с режимом UEFI, выберите опцию FAT32. В противном случае, вы можете использовать опцию NTFS.

Затем выберите первый ISO образ с Windows. Установите флажок рядом с Windows Vista / 7 / 8 / 10 /Server 2008/2012 based ISO, а затем нажмите кнопку обзора . справа. Найдите в проводнике и откройте ISO образ, который хотите добавить.

При этом, если выбран достаточно большой ISO, и Вы используете файловую систему FAT32, можете получить уведомление о том, что iso-файл слишком велик, и будет разделен на две части. Это нормально, так что нажимайте кнопку ОК.

51 06

Дважды проверьте, что у Вас выбран правильный USB в верхней части окна, и что выбран правильный ISO образ. Затем нажмите кнопку GO.

Если вы используете большой USB-накопитель, то можете получить предупреждение: уверены ли Вы, что хотите использовать именно этот диск. Нажимаем кнопку Да.

Если опция автоматического форматирования (Auto format it with FBinst) была включена (Она должна быть включена, так как мы заливаем первый образ), вы получите предупреждение о том, что все данные на диске будут стёрты. Нажмите кнопку Да, чтобы продолжить.

Далее, соглашаемся с предупреждением разбивки диска на разделы.

51 07

WinSetupFromUSB начнёт форматировать USB, и через некоторое время покажет всплывающее окно, в котором нужно ввести пользовательское имя папки для ISO, с ограничением от 1 до 7 символов. Если Вы ничего не введёте в течение 30 секунд, то имя папке будет задано по умолчанию.

51 08

Далее откроется похожее окно, в котором требуется задать пользовательскою строку для отображения в меню загрузки. На этот раз, название может быть от 5 до 35 символов. И опять же, у Вас есть 30 секунд, чтобы начать вводить имя, иначе система задаст его по умолчанию.

51 09

Затем WinSetupFromUSB начнет создавать папки, добавлять ISO на USB-накопитель, и настраивать опции в меню загрузки. Это может занять несколько минут. Прогресс работы можно оценить в строке состояния окна.

После окончания процесса подготовки USB накопителя WinSetupFromUSB покажет сообщение о выполнении работы. Нажмите кнопку OK.

51 12

На этом процесс записи первого образа Windows можно считать оконченным. Далее, не выходя из программы продолжаем добавление следующих ISO на загрузочный USB. Процесс добавления ничем не отличается от первоначального, описанного выше за исключением некоторых моментов:

Но этом я заканчиваю данную инструкцию. Принцип добавления образов, содержащих спасательные и восстановительные диски, полностью аналогичен. Каждый раз выполняете те же самые действия, когда добавляете новый ISO на загрузочный USB-диск. Вы можете вернуться к утилите в любое время и добавить что-то новое на ту же самые флешку. Полученное меню загрузки при этом не выделяется виртуозным дизайном, а имеет классическую черно-белую внешность:

Источник

Здравствуйте Владимир! Очень нравятся Ваши статьи. Вопрос. Как из общего дистрибутива Windows 10, содержащего все издания операционной системы, выделить одно необходимое издание (Windows 10 Профессиональная) и на его основе создать отдельный дистрибутив? Ведь в этом случае установочный образ системы будет весить немного меньше. У вас есть похожая статья о Windows 7 и вы там работаете с программой WinToolkit, но к сожалению в Win 10 эта прога не работает. Что делать в этом случае?

Привет друзья! В случае с Win 10 cделать это даже проще, чем с Win 7.

Во-первых скачиваем по этой статье ISO-образ Windows 10 на сайте Майкрософт.

После скачивания щёлкаем на ISO-образе двойным щелчком левой мыши и подсоединяем его к виртуальному дисководу (в моём случае виртуальный дисковод имеет букву G:).

Заходим на виртуальный дисковод (G:) выделяем и копируем все файлы Windows 10. 

Создаём на любом разделе жёсткого диска папку с названием 1 и вставляем в неё скопированные файлы Windows 10.

Я создал папку 1 на разделе с буквой (F:). 

Открываем командную строку от имени администратора и вводим команду: 

Dism /Get-WimInfo /WimFile:G:sourcesinstall.esd

где буква (G:), это виртуальный дисковод с файлами Windows 10,

а install.esd, это файл образ со сжатыми файлами операционной системы.

С помощью этой команды мы узнаём индекс нужного нам релиза Windows 10 Pro. 

Win 10 Pro имеет индекс 1. Это нам понадобится для ввода следующих команд.

Окно командной строки не закрываем.

Заходим в папку 1sources на диске (F:) и удаляем файл install.esd.

В командной строке администратора вводим:

Dism /Export-Image /SourceImageFile:G:sourcesinstall.esd /SourceIndex:1 /DestinationImageFile:F:1sourcesinstall.esd /Compress:recovery

Данная команда создаёт на диске (F:) в папке 1sources вместо удалённого нами файла install.esd — новый файл install.esd, содержащий только один релиз Windows 10 Профессиональная.

Теперь нам осталось только собрать ISO-образ Windows 10 Pro. Сделаем это встроенными в ОС средствами, а именно с помощью комплекта средств для развертывания и оценки Windows (Windows ADK). Если Windows ADK не установлено в вашей Windows 10, то скачайте его на этой странице

https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit

Если вы ещё не обновили свою OS до Windows 10 (версии 1703), значит скачивайте Windows ADK для Windows 10 (версия 1607).

После установки Windows ADK запускаем среду средств развёртывания и вводим команду:

Oscdimg /u2 /m /bootdаta:2#p0,e,bF:1bootEtfsboot.com#pef,e,bF:1efimicrosoftbootEfisys.bin F:1 F:10pro.iso

где:

u2, это файловая система UDF, а m — размер образа без ограничений. 

b — загрузочный сектор записать etfsboot.com, путь к файлу etfsboot.com при указании b(boot) пишется без пробела bF:1bootetfsboot.com

bF: — где F: — буква диска.

F:1 — создать ISO-образ из файлов и папок, находящихся на разделе F: в папке 1

F:10pro.iso — созданный образ разместить на разделе F:

присвоить имя образу — 10pro.iso. 

На разделе (F:) создаётся ISO-образ Windows 10 Профессиональная (имя образа — 10pro.iso). 

Щёлкаем на ISO-образе двойным щелчком левой мыши и подсоединяем его к виртуальному дисководу (в моём случае виртуальный дисковод имеет букву i:).

Открываем командную строку от имени администратора и вводим команду: 

Dism /Get-WimInfo /WimFile:i:sourcesinstall.esd

где буква (i:), это виртуальный дисковод с файлами Windows 10 Pro,

а install.esd, это файл образ со сжатыми файлами операционной системы.

С помощью этой команды мы узнаём содержимое созданного нами ISO-образа Windows 10.

Как видим, ISO-образ содержит один релиз Windows 10 Pro с индексом 1. 

То что нам и нужно.

Как объединить несколько лицензионных образов Windows x32bit и x64bit в один?!
Я покажу как это сделать, на примере образов Windows 8.1 от MSDN
ru_windows_8.1_with_update_x86_dvd_4048316
ru_windows_8.1_with_update_x64_dvd_4048362
ru_windows_8.1_professional_vl_with_update_x86_dvd_4048744
ru_windows_8.1_professional_vl_with_update_x64_dvd_4050520

Для объединения редакций Windows нам потребуется следующее:
1)Четыре оригинальных чистых образа
2)UltraIso, Но Вы можете использовать любую другую программу для распаковки образов в формате .ISO
3)Бесплатная программа [Внешняя ссылка удалена для гостей]
4)Программа [Внешняя ссылка удалена для гостей]
5)Место на вашем жестком диске примерно 50ГБ
6)Прямые руки
7)Терпения, оно вам понадобится

ПРИСТУПИМ

ПОДГОТОВКА
1) Скачать и установить Microsoft — Windows Assessment and Deployment Kit (ADK) for Windows® 8.1, нам понадобится все во лишь два пункта.
[Внешняя ссылка удалена для гостей][Внешняя ссылка удалена для гостей][Внешняя ссылка удалена для гостей]
Запускаем от имени Администратора Среда средств развертывания и работы с образами
2) Распаковать [Внешняя ссылка удалена для гостей] в любое для вас удобное место
3) Скачать оригинальные образы Windows 8.1 от MSDN
4)Создать 6 папок на любом жестком диске, где не менее 50Гб свободного места
Назвать папки
8xcorewim
8xprowin
8×32
8×64
8x32vl
8x64vl
5) В папки 8×32, 8×64, 8x32vl, 8x64vl распакуем образы, согласно разрядности Windows, т.е образ ru_windows_8.1_with_update_x86_dvd_4048316 распаковываем в папку 8×32, а образ ru_windows_8.1_with_update_x64_dvd_4048362 в папку 8×64. и т.д.
Подготовка закончилась.

МЕНЯЕМ МЕСТАМИ
В образах Windows ru_windows_8.1_with_update_x86_dvd_4048316 и ru_windows_8.1_with_update_x64_dvd_4048362, две редакции Windows: Core и Professional, и эти редакции установлены в таком порядке, сперва редакция Professional, потом Core
[Внешняя ссылка удалена для гостей][Внешняя ссылка удалена для гостей]
Нам нужно их поменять местами, для этого мы и создали две папки 8xcorewim и 8xprowin.
6) Идем: ПускВсе программыWindows KitsWindows ADK и запускаем от имени Администратора Среда средств развертывания и работы с образами
7)Вставляем этот скрипт:

Код: [Удалена локальная ссылка для гостей]

imagex /export /compress maximum D:8x32sourcesinstall.wim 2 D:8xcorewiminstall.wim

и нажимаем Enter, как скрипт закончит свою работу, по извлечению редакции CORE, вставляем следующий скрипт:

Код: [Удалена локальная ссылка для гостей]

imagex /export /compress maximum D:8x32sourcesinstall.wim 1 D:8xprowininstall.wim

После завершения работы скрипта, окно Среда средств развертывания и работы с образами не закрываем, просто сворачиваем.
ПОЯСНЕНИЕ:D-это буква вашего диска, 8×32-это ваша папка, куда распаковали образ Windows, 8xprowin- это ваша папка где создается образ редакции, цифры 1и 2 это номер редакции. Вам нужно будет поменять букву диска, на ту букву где находятся папки с распакованными образами Windows(ВО ВСЕХ СКРИПТАХ). Больше ни чего менять не надо.
8)Из папки 8xcorewim копируем файл install.wim, в папку 8x32sources, соглашаемся на замену файла
9)Теперь нам надо внедрить образ редакции Professional,в образ редакции Core. Для этого открываем окно Среда средств развертывания и работы с образами и вставляем этот скрипт.

Код: [Удалена локальная ссылка для гостей]

Imagex.exe /compress maximum /export D:8xprowininstall.wim  1 D:8x32Sourcesinstall.wim "Windows 8.1 Professional x86"

После этих все манипуляций редакции Core и Professional поменяются местами, работа закончена по замене редакций.

ВНЕДРЯЕМ ОСТАЛЬНЫЕ РЕДАКЦИИ И СОЗДАЕМ ОБРАЗ
Запускаем от имени Администратора Среда средств развертывания и работы с образами и поочередно вставляем эти скрипты.
ПОЯСНЕНИЕ: Скрипты вставлять поочередно, т.е. вставлять следующий скрипт тогда когда закончит работу предыдущий.

Код: [Удалена локальная ссылка для гостей]

Imagex.exe /compress maximum /export D:8x32vlSourcesinstall.wim  1 D:8x32Sourcesinstall.wim "Windows 8.1 Professional VL x86"
Imagex.exe /compress maximum /export D:8x64Sourcesinstall.wim  2 D:8x86Sourcesinstall.wim "Windows 8.1 x64"
Imagex.exe /compress maximum /export D:8x64Sourcesinstall.wim  1 D:8x86Sourcesinstall.wim "Windows 8.1 Professional x64"
Imagex.exe /compress maximum /export D:8x64vlSourcesinstall.wim  1 D:8x86Sourcesinstall.wim "Windows 8.1 Professional VL x64"

После окончания работы последнего скрипта, нам нужно создать образ. Для этого вставляем этот скрипт

Код: [Удалена локальная ссылка для гостей]

oscdimg.exe -l8 -m -u2 -bD:8x32bootetfsboot.com D:8x32 D:Win_8.1_6v1_x32-x64.iso

На этом работа закончена по объедению разных редакций windows в один образ, теперь у вас в одном образе 6 редакций windows.
Удачи вам!!!!

Мудрость заключается не в том, что бы не делать ошибки, а уметь их исправлять вовремя!
[Внешняя ссылка удалена для гостей]

В начале процесса установки Windows мастер предлагает пользователю выбрать редакцию системы. Количество доступных редакций в разных дистрибутивах может отличаться, но как правило, все они либо 32-битные, либо 64-битные. А теперь представим себе такую ситуацию. У вас есть некий дистрибутив, с которого вам часто приходится устанавливать систему, например, на виртуальные машины, но при этом вы пользуетесь только одной или двумя редакциями.

Или наоборот, в дистрибутиве нет нужной редакции, из-за чего приходится держать под рукой второй установочный образ.

Так вот, в первом случае вы можете удалить из дистрибутива ненужные редакции, а во втором — добавить, объединив два установочных образа в один. Для этого вам понадобится бесплатная портативная утилита WinAIO Maker Professional. Официальный сайт программы joshcellsoftwares.com сейчас не работает, но ее без проблем можно найти и скачать в интернете. Для начала давайте посмотрим, как удалить из образа с Windows ненужные редакции. Распакуйте установочный образ ISO любым архиватором в отдельную папку на диске D или на другом томе только не на системном. Папка должна иметь то же название, что операционная система, хотя это не является обязательным условием.

Проводник

Запустите WinAIO Maker Professional, нажмите кнопку «Select WIMs».

WinAIO Maker Professional

И укажите путь к файлу install.wim, расположенному в каталоге sources, что в папке с распакованным образом системы.

Select WIMs

В окне утилиты тут же появится список доступных редакций Windows.

Доступные редакции Windows

Допустим, вы хотите оставить только Windows 10 Education и Windows 10 Pro. Выделите мышкой «лишнюю» редакцию, нажмите кнопку «Delete Image» и подтвердите действие.

Delete Image

Точно так же удаляем другие редакции.

Произведя таким образом подготовительные действия, нажмите кнопку «Save all chages». В открывшемся диалоговом окошке в поле Label укажите метку образа (к примеру, MyWin10), в поле Destination укажите полный путь к сохраняемому образу с названием последнего и нажмите «Make ISO».

Save all chages

По завершении обработки программа выдаст уведомление об успешной компиляции образа.

Примерно так же выполняется добавление в образ отсутствующих редакций, кстати, с помощью WinAIO Maker Professional вы можете добавлять в установочный дистрибутив и 32-битные, и 64-битные редакции.

Установка Windows

Распакуйте объединяемые образы каждый в свою папку, запустите утилиту и поочередно добавьте в нее сначала файл install.wim из одного распакованного образа, а затем файл install.wim из другого.

Для добавления WIM-файлов служит та же кнопка «Select WIMs». Далее жмем «Save all chages».

Save all chages

Ждем завершения предварительной обработки, отвечаем положительно на запрос «You want clean all *.cfg / *.clg files for enable AIO feature?».

Запрос

Completed all tasks

А затем нажимаем кнопку «Save all into ISO».

Real Time WIM Editor

В диалоговом окошке присваиваем образу метку, указываем путь для сохранения и запускаем компиляцию образа нажатием «Make ISO».

Make ISO

Success creating AIO ISO

Да, утилита умеет объединять ISO-образы без предварительной распаковки, если вы нажмете кнопку «Auto AIO», откроется окошко, в котором вам будет предложено указать пути к образам 32— и 64-бит и нажать «Start Compilation». Мы не тестировали этот функционал, но раз он предусмотрен разработчиками, всё должно работать. Собрать несколько образов Windows в WinAIO Maker Professional задача не из сложных, но здесь есть свои нюансы. Компилируемые образы должны быть одной версии или сборки (если работаете с инсайдерскими билдами) и одного языка. В противном случае образ хоть и соберется, установка такой системы более чем наверняка завершится ошибкой.

Загрузка…

Содержание

  • Способ 1: WinSetupFromUSB
  • Способ 2: XBoot
  • Способ 3: YUMI Multiboot USB Creator
  • Вопросы и ответы

Как записать два образа windows на флешку - icon

Способ 1: WinSetupFromUSB

Запись двух и более образов операционной системы Windows можно произвести при помощи специализированного приложения WinSetupFromUSB. Помимо прочего, с его помощью создают загрузочные флешки с другими образами портативных операционных систем. Для этого требуется скачать WinSetupFromUSB и запустить версию, соответствующую разрядности ОС.

Скачать WinSetupFromUSB

  1. Вставьте флеш-накопитель в USB-порт и выберите его из списка переносных носителей информации в интерфейсе программ. Если вы устанавливаете Windows на флешку в первый раз, желательно её перед этим переформатировать: поставьте галочку в настройке «Auto format it with FBinst» и задайте тип файловой структуры «FAT32» или «NTFS» на выбор.

    Подробнее: Всё о форматировании флешки в NTFS / FAT32

  2. После отметьте, к какому именно семейству систем принадлежит та, которую хотите устанавливать (в нашем случае это пункт «Windows Vista/7/8/10/11/Server 2008/2012+based ISO») и укажите путь для неё. Легче всего это сделать через средство просмотра диалоговых окон при помощи кнопки «…».
  3. Как записать два образа windows на флешку - 1

  4. В новом окне найдите и выберите ОС, которая будет записана на флешку первой, а затем кликните «Открыть».
  5. Как записать два образа windows на флешку - 2

  6. После того как выбрали систему, нажимайте кнопку «GO».
  7. Как записать два образа windows на флешку - 3

  8. Несколько раз согласитесь с тем, что ваше запоминающее устройство будет перезаписано, подтвердив свои намерения кнопкой «Да».
  9. Как записать два образа windows на флешку - 4

  10. Далее дождитесь окончания записи флешки.
  11. Как записать два образа windows на флешку - 5

  12. Загрузочный образ будет готов, как только появится окошко «Done». Нажмите «OK» в этом окне.
  13. Как записать два образа windows на флешку - 6

  14. Снимите галочку с настройки «Auto format it with FBinst» и укажите вторую устанавливаемую Windows. После этого вам остаётся только снова нажать «GO» и дождаться записи образа на флешку.
  15. Как записать два образа windows на флешку - 7

Способ 2: XBoot

Ещё один способ установить несколько операционных систем на флешку – воспользоваться программой XBoot. Она поможет создать загрузочный диск с любыми образами системы, включая всё семейство Windows. Единственный минус: приложение поддерживает только английский язык.

Скачать XBoot

  1. Скачайте XBoot с официального сайта и запустите его у себя на компьютере. В горизонтальном меню сверху выберите вкладку «File», затем пункт «Open».
  2. Как записать два образа windows на флешку - 9

  3. Зажмите и удерживайте клавишу «Ctrl» у себя на клавиатуре, параллельно при этом левой кнопкой мыши выбирая загрузочные образы ОС, которые хотелось бы установить, после чего кликните кнопку «Открыть».
  4. Как записать два образа windows на флешку - 10

  5. Откройте стандартное средство форматирования дисков Windows: для этого нужно нажать правой кнопкой мыши по соответствующему носителю информации в разделе «Этот Компьютер» и выбрать пункт «Форматировать». Затем укажите тип файловой системы: «NTFS» или «FAT32» на выбор и кнопкой «Начать» произведите форматирование.
  6. Как записать два образа windows на флешку - 11

  7. Теперь в приложении XBoot кликните по кнопке «Create USB».
  8. Как записать два образа windows на флешку - 12

    Lumpics.ru

  9. В открывшемся окне «Select USB Drive» укажите свою USB-флешку, после чего в списке «Select Bootloader» нужно выбрать тип загрузчика. Рекомендуется ставить «Syslinux», но вы можете выбрать другой по своему усмотрению. Под конец нажмите «OK».
  10. Как записать два образа windows на флешку - 13

  11. Далее остаётся только подождать, пока операционные системы запишутся на ваше запоминающее устройство.
  12. Как записать два образа windows на флешку - 14

  13. Когда программа завершит работу, она предложит запустить виртуальную среду, в которой можно посмотреть, как будет выглядеть меню загрузки при запуске компьютера с флеш-накопителя.
  14. Как записать два образа windows на флешку - 15

Способ 3: YUMI Multiboot USB Creator

Ещё одно хорошее средство для установки нескольких Windows на флешку – это YUMI Multiboot USB Creator. Данная программа имеет в своём распоряжении определённое количество инструментов для записи запоминающих USB-устройств, в том числе функции по работе с двумя образами операционной системы.

Скачать YUMI Multiboot USB Creator с официального сайта

  1. Скачайте данное приложение и запустите его двойным кликом, далее в разделе «Step 1: You Selected D: on (Disk 2) your USB» выберите название своей флешки.
  2. Как записать два образа windows на флешку - 16

  3. Следом укажите тип файловой системы для носителя информации — «NTFS» или «FAT32», а в пункте «Step 2: Select a Distribution to put on F:» нужно назвать вид семейства желаемых ОС.
  4. Как записать два образа windows на флешку - 17

  5. В нашем случае указывается «Multiple Windows Vista/7/8/10» или другой в зависимости от того, какой у вас образ Windows.
  6. Как записать два образа windows на флешку - 018

  7. Теперь кнопкой «Browse» откройте обозреватель диалоговых окон и выберите первый образ Виндовс, который установится на флешку.
  8. Как записать два образа windows на флешку - 19

  9. Когда образ выбран, нажмите кнопку «Create».
  10. Как записать два образа windows на флешку - 20

  11. Дождитесь записи образа на своё устройство хранения информации и нажмите «Next».
  12. Как записать два образа windows на флешку - 21

  13. Кнопкой «Да» подтвердите запрос программы на создание каталога второй операционной системы на флешке.
  14. Как записать два образа windows на флешку - 22

  15. Наконец выберите образ второй Виндовс и снова нажмите «Create» для записи следующей Windows.
  16. Как записать два образа windows на флешку - 23

Еще статьи по данной теме:

Помогла ли Вам статья?

Время прочтения
18 мин

Просмотры 116K

КДПВЗдравствуйте. Сегодня я расскажу как можно создать единый установочный носитель с множеством разных версий Windows не прибегая к использованию стороннего ПО. Таким образом вы будете полностью понимать какие манипуляции мы выполняем.

Также я сделаю упор на то, чтобы как можно меньше энтропии привносить в этот мир изменять структуру оригинальных установочных дистрибутивов.

Кому интересно — прошу под кат.

Предыстория

Последние пару лет я устанавливал ОС линейки Windows NT 6.0+ исключительно с USB носителя. Иногда это была флешка, чаще — USB-HDD. (Далее для простоты буду называть установочный USB носитель просто — флешка).
Но в установочных носителей Windows есть неприятная особенность — жёстко прописаны пути к установочным файлам. Т.е. как минимум в корне флешки должны быть:
 

[boot]
[sources]
bootmgr

Если нужна загрузка по UEFI (например, для установки системы на диск с GPT-стилем разделов), то — плюс ещё [efi].

Без хакинга эти имена не поменять. Для чего это может понадобиться? Да для того, чтобы иметь несколько дистрибутивов Windows на одной флешке! Ведь кто-то не переваривает Win8, ему Win7 ставь, а кто-то хочет систему поновее и пошустрее…

Раньше я особо не заморачивался и просто скопировал эти файлы и папки с одного установочного ISO-шника (скажем, Win 8.1 x64). Переименовал [sources] в [sources_w8x64]. Потом покопировал с остальных ISO-шников только [sources], попутно переименовывая их. И всё. Больше никаких телодвижений кроме записи загрузочного сектора и активации раздела флешки я не делал. В результате у меня была приблизительно такая структура файлов на флешке:
 

[boot]
[sources]
[sources_w7x86]
[sources_w8x64]
[sources_w8x86]
bootmgr

Когда надо было установить какую-то из систем, я просто переименовывал соответствующие папки так, чтобы файлы требуемой Windows были в папке [sources].

Так продолжалось пару лет. Хорошо, что делать это приходилось не часто. Но настал день, когда нужно было погонять ноутбук одногрупницы на предмет неисправностей диска. Среди всего прочего было проведено и стирание информации без разбору — последовательное перезаписывание секторов по LBA, не взирая на такие мелочи как MBR, разделы и т.п. Естественно, после всех истязаний надо бы подготовить компьютер к использованию: разметить диск, поставить систему, приложения и т.п. Но надо ставить не что иное, как Windows 10! А то ведь точно забракует! Оно-то и не удивительно: если уже пользовалась 10-кой, то на старую винду возвращаться не будет. Скачал Media Creation Tool и принялся с его помощью качать образы 10-ки. Скачал. Поставил ей систему, драйверы и некоторые самые необходимые приложения. Visual Studio и остальное сама поставит. Но бардак на флешке совсем не радовал:
 

[boot]
[sources]
[sources_w7x64]
[sources_w7x86]
[sources_w8x64]
[sources_w8x86]
[sources_w10x86]
bootmgr

Эти обстоятельства послужили тригером к решению:

Хватит это терпеть!

После прочтения нескольких статей в интернете о том, как это можно организовать, некоторые решения мне показались уж слишком извращенскими.
Например: с помощью Grub4Dos копировать файл ответов, записывать в файл путь к нужному ISO, монтировать этот ISO, загрузиться в WinPE, после этого снова монтировать этот же ISO (т.к. предыдущий теряется из-за перехода из реального режима в защищённый), потом искать букву диска с файлами установки… Ах, да! Если установочный носитель — это USB-HDD, а не флешка, то нужно перед этим ещё и подключать флешку, в корне которой лежит файл ответов… Словом — ужас.

Конечно, в этом можно найти определённую логику: такой подход позволяет не распаковывать ISO-шки, а положить их в отдельную папку на флешке… Но надо поддерживать кучу других файлов…
Короче, это не наш путь.

Творим

План

Мы не будем играться с монтированием ISO, а просто разместим файлы для загрузки на установочном носителе. Но не просто перенесём эти файлы с установочных ISO (как было до этого), а немного переделаем их структуру так, чтобы можно было просто выбирать версию Windows для установки, не делая больше никаких рутинных действий (см. предысторию).

 
Также мы не будем здесь рассматривать создание дистрибутива Windows AiO (когда в одном sourcesinstall.wim располагается множество разных версий системы), поскольку такой способ имеет много недостатков, среди которых:

  • один файл огромного размера
    • нельзя использовать FAT32, а следовательно и UEFI
    • невозможно впоследствии использовать флешку меньшего объёма пропустив копирование ненужных дистрибутивов
  • трудности с обновлением конкретного дистрибутива (надо удалить из образа старый, и добавить новый)
  • не факт, что вообще можно поселить в одном образе, например, Win7 и Win10 (не проверял)

One more thingДелать мы всё будем руками и, как было обещано, без стороннего ПО. А то есть куча разных прог для создания супер мега крутых мультизагрузочных дисков, но толком не ясно что они делают и как. А у нас план — без стороннего софта и с минимальным вмешательством!

Подготовка флешки

Определитесь с файловой системой

Выбор-то и не большой:

  • FAT32
  • exFAT
  • NTFS

FAT32: это ваш выбор, если вам нужна загрузка по UEFI. Но помните: в этой ФС максимальный размер файла — 4 ГиБ.
exFAT: здесь нет столь ощутимого ограничения на размер файла, но загрузка по UEFI невозможна. Кроме того, некоторые загрузчики (например, Grub4Dos) не могут корректно с ней работать. Но BOOTMGR работает. Upd: По крайней мере, некоторые Live Linux ISO не запускаются .
NTFS: тут всё хорошо, за исключением того, что не все компьютеры поддерживают загрузку по UEFI с этой ФС.

Вот и получается:
обязательно нужен UEFI — FAT32, не обязательно или не нужен вовсе — NTFS.

Отформатируйте флешку в выбранную вами ФС.
Примечание: если ваша флешка уже имеет нужную ФС, то форматировать её необязательно. Но я бы всё-таки отформатировал ;)

Сделайте раздел активным

Это нужно для того, чтобы компьютер мог загрузиться с него (ну, или хотя бы попытаться…).
Тут есть различие между USB-HDD и флешками.

Для USB-HDD это можно сделать так:
Откройте оснастку Управление дисками (diskmgmt.msc). Щёлкните правой кнопкой мыши по нужному разделу своего USB-HDD и выберите «Сделать раздел активным». Если этот пункт контекстного меню неактивен — значит раздел уже активен.

Для флешки этот вариант не пройдёт. Тут пункт контекстного меню «Сделать раздел активным» будет всегда неактивен. Поэтому нужно использовать универсальный способ:
Откройте Командную строку (cmd.exe). Выполните такие команды:
 

DiskPart
list disk
select disk <номер вашей флешки (можно идентифицировать по размеру из предыдущей команды)>
list part
select part <номер раздела, который требуется сделать активным (обычно 1)>
active
exit

Пример

Пример активации раздела с помощью DiskPart

Теперь ваша флешка является загрузочной. Но она пока пуста. Самое время наполнить её смыслом.

Наполнение дистрибутивами

Файлы диспетчера загрузки Windows

Нам нужен набор файлов менеджера загрузки. Это:
 

[boot]
[efi] - только если нужна загрузка по UEFI (ФС флешки должна быть FAT32! (на некоторых компьютерах работает и с NTFS))
bootmgr
bootmgr.efi - только если нужна загрузка по UEFI (ФС флешки должна быть FAT32! (на некоторых компьютерах работает и с NTFS))

Я скопировал эти файлы из самого свежего дистрибутива — Windows 10 x64 (Threshold 2).

После этого уже можно протестировать как грузится флешка.
Если всё сделано правильно — вы увидите экран Windows Boot Manager c сообщением об ошибке. Ошибка — из-за того, что мы ещё не скопировали [sources]. Но нам просто важен факт, что bootmgr получает управление.
Если вы не увидите экран Windows Boot Manager, то возможно дело в том, что при форматировании система не записала загрузочный сектор совместимый с BOOTMGR. Чтобы сделать это вручную, выполните команду bootsect /nt60 <буква_диска>:, где <буква_диска> — ваша флешка.

Дистрибутивы

Файлы дистрибутива находятся в [sources]. Значит надо создать структуру папок, содержащую [sources] из разных версий Windows под разными именами. Эту структуру можно делать как захочется. Но важно потом соблюдать соответствие путей. Я сделал так:
 

[WinDists]
 |- [Win_7_ia32]
 |- [Win_7_x64]
 |- [Win_8.1_ia32]
 |- [Win_8.1_x64]
 |- [Win_10_ia32]
 |- [Win_10_x64]

Теперь в каждую из этих папок надо скопировать содержимое [sources] из соответствующих ISO-шников. До сих пор на флешке было занято лишь несколько десятков МиБ. А теперь — несколько ГиБ.

Настройка

Меню

Мы хотим, чтобы можно было выбирать любую из этих систем просто из меню. Без переименовывая папок и т.п. рутины. Значит, надо добавить пункт меню для каждой из Windows.

Помните, раньше мы копировали файлы диспетчера загрузки? Теперь нужно отредактировать файлы данных конфигурации загрузки. Это:
 

[boot]
 |- bcd
[efi]
 |- [microsoft]
     |- [boot]
         |- bcd - только если нужна загрузка по UEFI (ФС флешки должна быть FAT32! (на некоторых компьютерах работает и с NTFS))

Редактируем BCD

Сначала включим отображение меню. И уберём таймаут, чтобы оно отображалось столь угодно долго до совершения выбора пользователем (мы ведь не просто загружаемся, а систему устанавливаем! Выбор должен быть осознанным ◕‿◕).
Чтобы сделать это выполните команды:
 

bcdedit /store <буква_диска>:bootbcd /set {bootmgr} DisplayBootMenu True
bcdedit /store <буква_диска>:bootbcd /deletevalue {bootmgr} Timeout

где <буква_диска> здесь и далее — ваша флешка.

Дальше будем добавлять пункты установки для каждой из систем. Сначала выполним команду
bcdedit /store <буква_диска>:bootbcd /enum {default}
чтобы узнать значение device и osdevice пункта по-умолчанию. Они будут приблизительно такими:

device      ramdisk=[boot]sourcesboot.wim,{<GUID параметров ramdisk>}
osdevice    ramdisk=[boot]sourcesboot.wim,{<GUID параметров ramdisk>}

Как правило, значения этих параметров в одном пункте загрузки одинаковые.
Мы будем для каждого дистрибутива Windows изменять путь к образу c WinPE (boot.wim), при этом оставляя таким же <GUID параметров ramdisk>. Это будут единственные различия между пунктами загрузки разных дистрибутивов.
 

Подробнее об этих параметрах

Параметр device определяет устройство, на котором лежит windowssystem32bootwinload.exe (это значение указано в параметре path).
Параметр osdevice определяет устройство, на котором лежит windows (это значение указано в параметре systemroot).

В нашем случае значения device и osdevice состоят из пути к WIM-образу системы (в данном случае WinPE), который загружается в оперативную память (ramdisk). После запятой указан GUID записи, которая определяет параметры устройства, с которого будет загружаться WinPE (в нашем случае — ramdisk). На неё можно взглянуть подробнее:

bcdedit /store <буква_диска>:bootbcd /enum {<GUID параметров ramdisk>}

Параметры устройств
-------------------
идентификатор           {<GUID параметров ramdisk>}
ramdisksdidevice        boot
ramdisksdipath          bootboot.sdi

Ничего особенного. Будем использовать эти же параметры устройства для других пунктов загрузки.

boot.sdi — Это по-сути образ пустого NTFS-тома. А в этот том уже монтируется образ из boot.wim.

Поскольку пункт по-умолчанию уже полностью настроен (кроме значений device и osdevice), то мы просто будем его копировать и изменять.
 

Добавление пунктов

  1. Скопировать пункт по-умолчанию:
    bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "<название нового пункта>"
    Будет выдано сообщение с GUID нового пункта. Приблизительно такое:
    Запись успешно скопирована в {<GUID новосозданного пункта>}
     
  2. Изменить в нём вышеупомянутые параметры:
    bcdedit /store <буква_диска>:bootbcd /set {<GUID новосозданного пункта>} device ramdisk=[boot]<путь к дистрибутиву>boot.wim,{<GUID параметров ramdisk>}

     
    bcdedit /store <буква_диска>:bootbcd /set {<GUID новосозданного пункта>} osdevice ramdisk=[boot]<путь к дистрибутиву>boot.wim,{<GUID параметров ramdisk>}

     
    Эти две команды отличаются только одним словом (выделено).

Примеры

Здесь приведено несколько примеров создания новых пунктов загрузки на основе пункта по-умолчанию.
Не копируйте тупо команды отсюда! У вас будут другие GUID-ы. Эти примеры только чтобы понять что к чему.

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Windows 7 (32-bit) Setup"
Запись успешно скопирована в {90fff3ef-3b91-11e6-839b-d850e607fea0}.

bcdedit /store <буква_диска>:bootbcd /set {90fff3ef-3b91-11e6-839b-d850e607fea0} device ramdisk=[boot]WinDistsWin_7_ia32boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store <буква_диска>:bootbcd /set {90fff3ef-3b91-11e6-839b-d850e607fea0} osdevice ramdisk=[boot]WinDistsWin_7_ia32boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Windows 7 (64-bit) Setup"
Запись успешно скопирована в {e5f9b9b7-3bb1-11e6-839b-d850e607fea0}.

bcdedit /store <буква_диска>:bootbcd /set {e5f9b9b7-3bb1-11e6-839b-d850e607fea0} device ramdisk=[boot]WinDistsWin_7_x64boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store <буква_диска>:bootbcd /set {e5f9b9b7-3bb1-11e6-839b-d850e607fea0} osdevice ramdisk=[boot]WinDistsWin_7_x64boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Windows 8.1 (32-bit) Setup"
Запись успешно скопирована в {cda5bc88-3bb4-11e6-839b-d850e607fea0}.

bcdedit /store <буква_диска>:bootbcd /set {cda5bc88-3bb4-11e6-839b-d850e607fea0} device ramdisk=[boot]WinDistsWin_8.1_ia32boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store <буква_диска>:bootbcd /set {cda5bc88-3bb4-11e6-839b-d850e607fea0} osdevice ramdisk=[boot]WinDistsWin_8.1_ia32boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Windows 8.1 (64-bit) Setup"
Запись успешно скопирована в {330e8636-3bb5-11e6-839b-d850e607fea0}.

bcdedit /store <буква_диска>:bootbcd /set {330e8636-3bb5-11e6-839b-d850e607fea0} device ramdisk=[boot]WinDistsWin_8.1_x64boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store <буква_диска>:bootbcd /set {330e8636-3bb5-11e6-839b-d850e607fea0} osdevice ramdisk=[boot]WinDistsWin_8.1_x64boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Windows 10 (32-bit) Setup"
Запись успешно скопирована в {87c0826c-3bb5-11e6-839b-d850e607fea0}.

bcdedit /store <буква_диска>:bootbcd /set {87c0826c-3bb5-11e6-839b-d850e607fea0} device ramdisk=[boot]WinDistsWin_10_ia32boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store <буква_диска>:bootbcd /set {87c0826c-3bb5-11e6-839b-d850e607fea0} osdevice ramdisk=[boot]WinDistsWin_10_ia32boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Windows 10 (64-bit) Setup"
Запись успешно скопирована в {dd7288b2-3bb8-11e6-839b-d850e607fea0}.

bcdedit /store <буква_диска>:bootbcd /set {dd7288b2-3bb8-11e6-839b-d850e607fea0} device ramdisk=[boot]WinDistsWin_10_x64boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store <буква_диска>:bootbcd /set {dd7288b2-3bb8-11e6-839b-d850e607fea0} osdevice ramdisk=[boot]WinDistsWin_10_x64boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcdedit /store <буква_диска>:bootbcd /copy {Default} /d "Other Windows Setup (from sources)"
The entry was successfully copied to {c9ff9b3a-3c53-11e6-839c-d850e607fea0}.
Завершение редактирования BCD

После того, как все пункты добавлены удаляем пункт по-умолчанию:
bcdedit /store <буква_диска>:bootbcd /delete {default}

Редактируем BCD для UEFI

Если вам нужна загрузка по UEFI, то вам нужно также отредактировать другое хранилище конфигурации загрузки (то, которым руководствуется BootMgFw.efi).

Тут всё точно так же как и там, за исключением пути к файлу BCD.
Т.е. вместо
bcdedit /store <буква_диска>:bootbcd
следует использовать
bcdedit /store <буква_диска>:efimicrosoftbootbcd.

Нельзя просто так взятьПримечание. Вы не можете просто так взять и скопировать bootbcd в efimicrosoftbootbcd! Они должны различаться как минимум параметрами path во всех пунктах, включая {memdiag}.

windowssystem32bootwinload.exe vs windowssystem32bootwinload.efi
bootmemtest.exe vs efimicrosoftbootmemtest.efi

Update
Посредством UEFI могут загружаться все 64-битные версии Windows NT 6.0+, а из 32-битных — только Windows 8+.
Кроме того, в пунктах установки ОС, предшествующих Windows 8, не должно быть параметра IsolatedContext со значением Yes. Иначе, у вас просто не запустится среда предустановки этой системы (т.е. вы не сможете установить, например, Windows 7 x64 в режиме UEFI).

Windows PE

Итак, у нас при загрузке с флешки уже есть рабочее меню, где мы можем выбирать нужную версию Windows. Загрузитесь и убедитесь, что при выборе определённого пункта меню загружается соответствующая Windows PE.

Проблема

Мы ещё не всё сделали. Ведь, если попытаться установить какую-то из систем, то получим неприятный сюрприз:

No Sources Error

Почему это произошло? Дело в том, что программа установки ищет образ install.wim или сжатый install.esd в папке sources на всех доступных томах. Windows 10 в случае неудачи ещё пытается искать в папках x64sources или x86sources в зависимости от разрядности. В нашем случае — не находит нигде.
Она думает, что, наверное, нет драйвера от установочного носителя и предлагает его загрузить.

Варианты решения

Вы уже можете установить Windows из своей флешки, вручную правильно запустив программу установки. Есть несколько вариантов.
 

  • Файл ответов
    С помощью файла ответов можно указать множество параметров установки. В том числе образ, откуда устанавливать систему.
    Путь к образу указывается в элементе Microsoft-Windows-Setup | ImageInstall | OSImage | InstallFrom | Path.
    Заставить программу установки использовать файл ответов можно либо явно:
    setup.exe /unattend:<путь к файлу ответов>
    Либо поместив его по одному из заранее определённых путей.
    Но в этом способе есть проблема. В файле ответов должен быть абсолютный путь. Удобно, когда надо устанавливать из сети. Но не практично для нашего случая. Компьютеры разные — буква флешки будет меняться. Не наш вариант. А ещё и явно указывать путь к файлу ответов — ну вообще не вариант.
     
  • Запуск программы установки с параметром
    Можно найти образ с помощью сценария cmd.exe. А потом запустить установщик, явно указав ему куда смотреть:
    X:sourcessetup.exe /installFrom:<путь к install.wim или install.esd>
    Этот вариант подходит. Вы сможете установить систему как с обычного установочного ISO.
    Но есть вариант ещё лучше.
     
  • Запуск программы установки с флешки
    Можно запустить установку не с X: (монтированный образ boot.wim), а прямо с флешки! Таким образом не придётся явно указывать путь к install.wim или install.esd. Программа установки сама найдёт этот файл рядом с собой (в папке запуска)!
    Так, например, для установки Win 10 x64 нужно выполнить:
    <буква флешки>:WinDistsWin_10_x64setup.exe
    У этого способа много преимуществ. Ведь мы фактически полностью отказываемся от использования чего-либо из X:sources, в пользу соответствующей папки на флешке. А это значит, что мы впоследствии можем модифицировать её без внесения изменений в образ boot.wim. Удобно же! Например, можно положить сюда индивидуальный (для этого конкретного дистрибутива) файл ответов (рядом с setup.exe) и он будет подхвачен согласно 6-му пункту отсюда.

Решение

Это всё хорошо, но мы же не хотим вручную запускать установку, правда? Хотим чтобы оно само. Значит надо сделать так, чтобы оно само запускало установку откуда надо.

Варианты автоматизации

Рассмотрим запуск Windows PE, чтобы понять, как с минимальным вмешательством заставить её выполнять то, что нам нужно.
В параметре реестра HKLMSYSTEMSetupCmdLine указано первое приложение, которое выполняется после запуска WinPE. Это winpeshl.exe. Оно делает всякие полезные вещи, как то:

  1. Включает фоновую картинку (запуск WallpaperHost.exe)
  2. Проверяет, есть ли рядом файл winpeshl.ini. Если есть — выполняет из него команды.
  3. Инициализирует PNP
  4. Если файла winpeshl.ini не было — пытается запустить одно из приложений (в порядке приоритета):
    • X:$Windows.~BTsourcessetup.exe
    • X:setup.exe
    • X:windowssystem32cmd.exe /k startnet.cmd

Нам нужно выполнить свой сценарий, который найдёт на флешке нужный файл и запустит его. Как видите, у нас не один вариант:

  • добавить файл сценария и winpeshl.ini с командой на запуск cmd.exe для выполнения нашего сценария
  • удалить/переименовать X:setup.exe и отредактировать startnet.cmd

Я продемонстрирую вариант только с добавлением файлов (минимальное вмешательство, да).
 

Модифицируем boot.wim

На примере дистрибутива Windows 10 x64.
Итак, нам нужно редактировать содержимое тома X:, которое монтируется из boot.wim. Сначала узнаем индекс образа для монтирования:
 

dism /get-wimInfo /wimFile:<буква_флешки>:WinDistsWin_10_x64boot.wim

Cистема DISM
Версия: 6.3.9600.17031

Сведения об образе : <буква_флешки>:WinDistsWin_10_x64boot.wim

Индекс: 1
Имя : Microsoft Windows PE (x64)
Описание : Microsoft Windows PE (x64)
Размер (байт): 1 357 917 901

Индекс: 2
Имя : Microsoft Windows Setup (x64)
Описание : Microsoft Windows Setup (x64)
Размер (байт): 1 540 370 231

Операция успешно завершена.

Нам нужен не чистый Windows PE, а установочный — Windows Setup. Т.е. индекс — 2.
Ещё нам нужно создать папку, куда будем монтировать образ. Я создал C:mnt.
 

dism /mount-wim /wimFile:<буква_флешки>:WinDistsWin_10_x64boot.wim /index:2 /mountDir:C:mnt

Cистема DISM
Версия: 6.3.9600.17031

Подключение образа
[==========================100.0%==========================]
Операция успешно завершена.

Теперь, как и запланировали, копируем в C:mntWindowsSystem32 файлы winpeshl.ini и свой файл сценария (я назвал его runsetup.cmd).
 

Содержимое winpeshl.ini

[LaunchApps]
cmd.exe, "/k runsetup.cmd"

Содержимое runsetup.cmd

@echo off
Title TishSerg Windows Setup Bootstrapper v1.0
color 9f

ver
echo.
echo [%time%] Initializing Windows PE...
Wpeinit

echo.
Wpeutil UpdateBootInfo > nul
for /f "tokens=3" %%a in (
    'reg query "HKLMSystemCurrentControlSetControl" /v PEBootRamdiskSourceDrive'
) do set RamdiskSourceDrive=%%a
echo [%time%] Detected setup media: %RamdiskSourceDrive%

echo.
:: Windows dist path Affix
set WinDistAfx=WinDistsWin

:: Find Windows arch Affix
if "%PROCESSOR_ARCHITECTURE%" == "x86" (
    set WinArchAfx=ia32
) else (
    set WinArchAfx=x64
)

:: Find Windows version Affix
for /f "tokens=3" %%b in (
    'reg query "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v CurrentBuildNumber'
) do set /a CurrentBuildNumber=%%b
if %CurrentBuildNumber% lss 6100 (
    :: Build < 6100 is Vista
    set WinVerAfx=Vista
    echo [%time%] Determined version of Windows: Vista (build %CurrentBuildNumber%^) %PROCESSOR_ARCHITECTURE%
) else if %CurrentBuildNumber% lss 7700 (
    :: Build < 7700 is 7
    set WinVerAfx=7
    echo [%time%] Determined version of Windows: 7 (build %CurrentBuildNumber%^) %PROCESSOR_ARCHITECTURE%
) else if %CurrentBuildNumber% lss 9300 (
    :: Build < 9300 is 8
    set WinVerAfx=8
    echo [%time%] Determined version of Windows: 8 (build %CurrentBuildNumber%^) %PROCESSOR_ARCHITECTURE%
) else if %CurrentBuildNumber% lss 9700 (
    :: Build < 9700 is 8.1
    set WinVerAfx=8.1
    echo [%time%] Determined version of Windows: 8.1 (build %CurrentBuildNumber%^) %PROCESSOR_ARCHITECTURE%
) else (
    :: Build > 9700 is 10
    set WinVerAfx=10
    echo [%time%] Determined version of Windows: 10 (build %CurrentBuildNumber%^) %PROCESSOR_ARCHITECTURE%
)

echo.
echo [%time%] Launching Windows Setup (%RamdiskSourceDrive%%WinDistAfx%_%WinVerAfx%_%WinArchAfx%setup.exe^)
%RamdiskSourceDrive%%WinDistAfx%_%WinVerAfx%_%WinArchAfx%setup.exe

:: When closed Windows Setup
color 2e
echo.
echo [%time%] Windows Setup closed
echo WScript.Quit MsgBox("You have closed Windows Setup."+vbCrlf+"Run 'System restore' instead? Or reboot?"+vbCrlf+vbCrlf+"Yes - Run 'System restore'"+vbCrlf+"No - Reboot"+vbCrlf+"Cancel - 'Just give me a Command line!'", vbQuestion+vbYesNoCancel, "Setup cancelled") > msgdlg.vbs
cscript msgdlg.vbs > nul
if %errorLevel% == 6 (
    echo [%time%] Here is Task Manager for you :^)
    start taskmgr
    echo [%time%] Run 'System restore' (%SystemDrive%SourcesrecoveryRecEnv.exe^)
    %SystemDrive%SourcesrecoveryRecEnv.exe
) else if %errorLevel% == 7 (
    echo [%time%] Will reboot now...
    Wpeutil Reboot
)

Зачем такой сложный `runsetup.cmd`?

А за тем, чтобы файлы winpeshl.ini и runsetup.cmd были универсальны для всех дистрибутивов Windows NT 6.0+. Т.е. их не нужно отдельно модифицировать под установку Win7, Win8 и т.п. Путь к папке дистрибутива определяется автоматически.

Также добавлен простой способ запуска Восстановления системы, т.к. из-за прямого запуска sourcessetup.exe вместо X:setup.exe мы теряем страницу:
image

Разница только в том, что в нашем случае мы язык выбираем уже после запуска установки Windows или Восстановления системы. В оригинальных ISO образах X:setup.exe сообщает языковые настройки запускаемым через него приложениям.

Внимание! В предоставленном мной runsetup.cmd путь к программе установки определяется по шаблону <буква_флешки>:\<путь_и_префикс_к_папкам_дистрибутивов>_<версия>_<архитектура>setup.exe
(строка %RamdiskSourceDrive%%WinDistAfx%_%WinVerAfx%_%WinArchAfx%setup.exe). Т.е. в моём случае сценарий будет формировать пути (в зависимости от того, из какого дистрибутива был запущен) наподобие:

  • D:WinDistsWin_7_ia32setup.exe
  • D:WinDistsWin_10_x64setup.exe

Если вы создавали на флешке другую структуру папок и их названий — сделайте соответствующие изменения.

Осталось отмонтировать образ с сохранением изменений:
 

dism /unmount-wim /mountDir:C:mnt /commit

Cистема DISM
Версия: 6.3.9600.17031

Файл образа: <буква_флешки>:WinDistsWin_10_x64boot.wim
Индекс образа: 2
Сохранение образа
[==========================100.0%==========================]
Отключение образа
[==========================100.0%==========================]
Операция успешно завершена.

Готово! Теперь нужно повторить эти действия для остальных boot.wim. После этого у вас на флешке будут все желаемые дистрибутивы, которые вы сможете просто выбирать из меню и продолжать установку как будто на флешке только одна версия Windows!

Чего бы улучшить?

Тут ещё несколько советов по улучшению вашей установочной флешки.

Пропуск ввода ключа продукта и выбор любой редакции Windows

Для этого нужно поместить файлик ei.cfg рядом с программой установки

Содержимое `ei.cfg`

[Channel]
Retail

Помещать нужно в папку откуда запускается setup.exe. Постольку у нас он запускается с флешки, а не с ramdisk-а (boot.wim), то и кладём ei.cfg в папки дистрибутивов на флешке. (+1 преимущество от запуска установки прямо с флешки, вместо запуска с ramdisk-а с параметром /installFrom).

Запуск приложения реального режима из меню Диспетчера загрузки Windows

На примере `Grub4Dos`

bcdedit /store <буква_флешки>:bootbcd /create /d "Grub4Dos Menu" /application BootSector
Запись {b3923807-3ebb-11e6-83a0-d850e607fea0} успешно создана.

bcdedit /store <буква_флешки>:bootbcd /set {b3923807-3ebb-11e6-83a0-d850e607fea0} device boot
bcdedit /store <буква_флешки>:bootbcd /set {b3923807-3ebb-11e6-83a0-d850e607fea0} path grldr

bcdedit /store <буква_флешки>:bootbcd /DisplayOrder {b3923807-3ebb-11e6-83a0-d850e607fea0} /AddFirst

Таким образом можно сделать возможность циклического перехода из одного меню в другое без перезагрузки компьютера. И уже не важно какой из загрузчиков был запущен первым: BOOTMGR или GRLDR.

Прогрессбар при загрузке boot.wim на ramdisk

В новейших BootMgr сделали загрузку образа boot.wim на ramdisk без анимации. Т.е. просто выводится статический логотип Windows и всё, ждите. Можно вернуть прогрессбар, как было раньше. Он хоть будет давать информацию о степени загрузки WinPE в оперативную память.
 

bcdedit /store <буква_флешки>:bootbcd /set {<GUID пункта установки Windows>} BootMenuPolicy Legacy

Правда, вместе с этим вы отключите новый стиль меню дополнительных параметров и сообщений об ошибках (на голубом фоне, с управлением функциональными клавишами), но то такое (^̮^)

Подробный вывод загружаемых файлов

Это в дополнение к предыдущему украшательству. Работает по Windows 7 включительно. В Windows 8+ майки это выпилили почему-то (не даёт эффекта).
 

bcdedit /store <буква_флешки>:bootbcd /set {<GUID пункта установки Windows>} Sos True

Применив предыдущие два украшательства прикольнее всего грузится Windows 7. Но это всё — баловство.

Итог

Итак, что мы сделали:

  1. Отформатировали установочный носитель и сделали его загрузочным
  2. Скопировали на него файлы Диспетчера загрузки Windows (взятые из одного из ISO-образов)
  3. Создали структуру папок с файлами дистрибутивов Windows (содержимое [sources] каждого из ISO-образов)
  4. Настроили меню Диспетчера загрузки Windows
  5. Добавили в boot.wim каждого дистрибутива по два своих файла

На этом всё. Вопросы, замечания и пожелания приветствуются (ʘ‿ʘ)

Понравилась статья? Поделить с друзьями:
  • Объединение мониторов в один windows 10
  • Объединение компьютеров в рабочую группу windows 10
  • Объединение компьютеров в кластер windows 10
  • Общий доступ к папке windows 10 home
  • Общий доступ к папкам windows server 2008