Главная » Статьи » Мои статьи

Объединение 32- и 64-битных версий Windows 7 в одном ISO-образе

Объединение 32- и 64-битных версий Windows 7 в одном ISO-образе

 
    Хоть каждый образ и содержит только одну разрядность никто нам не помешает их объединить в один.
    Во-первых, вкратце о том как происходит установка.  Повторение все же бывает полезно.
    Первым делом управление передается предустановочной среде (WinPE). Она содержится в файле boot.wim который расположен в папке sources внутри устаночного ISO-образа. Про формат WIM - почитайте сами, например, навикипедии. Этот файл (boot.wim) помогает установить ОС, а также в нем содержатся инструменты для восстановления работоспособности уже установленной ОС. Вот именно этими инструментами и различаются образы boot.wim двух архитектур (32- и 64-битных ОС). Идем дальше.
    Новая ОС, которую мы собираемся поставить находится в файле install.wim. И как мы уже узнали - в этом файле находятся сразу несколько редакций.
    Остальные служебные файлы в образе идентичны для обеих архитектур.
    Следовательно, чтобы объединить несколько разрядностей, достаточно произвести некоторые манипуляции над файлами boot.wim и install.wim. Спешу обрадовать, если вы не собираетесь пользоваться стандартными инструментами восстановления для 64-битных ОС (у меня ни разу не было желания в этом), то особой нужды правитьboot.wim нету, и можно использовать boot.wim от версии x86. Через него можно запросто установить как 32- так и 64-битную ОС. Но если вам нужны инструменты восстановления для обоих архитектур - ссылка на пример создания внизу статьи.
    Перейдем к руководству.

Как это сделать?

    Для начала потребуется скачать и установить WAIK (в Windows 8 он зовется WADK) - набор средств и документации для настройки и развертывания операционных систем Windows.
    Я буду использовать не самую последнюю версию WAIK (KB3AIK_RU.isoMD5:2E6D8AA3D4356D0943FC8C547FD51816), которая вышла для с Windows 7.
    Хотя, конечно, можно использовать последний WADK от Windows 8, Microsoft этого не запрещает, но в ней немного другой синтаксис у используемых команд, а некоторые утилиты (например, ImageX) вообще отсутствуют. 
    Установили? Идем дальше.  
    Мы будем работать с такими утилитами как ImageXDISM и OSCDIMG. Все они запускаются из т.н. "Командной строки средств развертывания", поэтому все действия будут проводится в ней (также рекомендую ее сразу запустить с правами администратора):

Последовательность действий:

1. Возьмем образ ru_windows_7_ultimate_with_sp1_x86_dvd_u_677463.iso за основу и распакуем его, например, в папку .\ISO_files. Я для этого использую UltraISO (mirror1mirror2):
start /wait UltraISO.exe -sil -in ".\ru_windows_7_ultimate_with_sp1_x86_dvd_u_677463.iso" -ext ".\ISO_files"
Пояснение используемых параметров UltraISO:
-sil   Do not show any popup windows
-in    Input ISO image
-ext   Extract ISO image to specified directory
2. Удалим файл /sources/ei.cfg для возможности выбора редакций:
del /q .\ISO_files\sources\ei.cfg
3. Перенесем файл /sources/install.wim из только что распакованного образа, например, в папку install_wims и переименуем его в install_x86.wim:
move .\ISO_files\sources\install.wim .\install_wims\install_x86.wim
4. Достанем файл /sources/install.wim из образа с 64-битной архитектурой и перенесем в эту же папку (install_wims) и аналогично переименуем его в install_x64.wim:
start /wait UltraISO.exe -sil -in ".\ru_windows_7_ultimate_with_sp1_x64_dvd_u_677391.iso" -get /sources/install.wim -ext ".\install_wims"

move .\install_wims\install.wim .\install_wims\install_x64.wim
5. Глянем информацию о имеющихся образах:
dism /get-wiminfo /wimfile:.\install_wims\install_x86.wim
    Результат:
Cистема DISM
Версия: 6.1.7600.16385

Сведения об образе : .\install_wims\install_x86.wim

Индекс: 1
Имя : Windows 7 STARTER
Описание : Windows 7 STARTER
Размер (байт): 7 867 661 744

Индекс: 2
Имя : Windows 7 HOMEBASIC
Описание : Windows 7 HOMEBASIC
Размер (байт): 7 887 488 944

Индекс: 3
Имя : Windows 7 HOMEPREMIUM
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 8 329 827 718

Индекс: 4
Имя : Windows 7 PROFESSIONAL
Описание : Windows 7 PROFESSIONAL
Размер (байт): 8 213 071 123

Индекс: 5
Имя : Windows 7 ULTIMATE
Описание : Windows 7 ULTIMATE
Размер (байт): 8 373 494 322

Операция успешно завершена.
    и:
dism /get-wiminfo /wimfile:.\install_wims\install_x64.wim
    Результат:
Cистема DISM
Версия: 6.1.7600.16385

Сведения об образе : .\install_wims\install_x64.wim

Индекс: 1
Имя : Windows 7 HOMEBASIC
Описание : Windows 7 HOMEBASIC
Размер (байт): 11 531 865 453

Индекс: 2
Имя : Windows 7 HOMEPREMIUM
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 12 045 241 621

Индекс: 3
Имя : Windows 7 PROFESSIONAL
Описание : Windows 7 PROFESSIONAL
Размер (байт): 11 947 613 470

Индекс: 4
Имя : Windows 7 ULTIMATE
Описание : Windows 7 ULTIMATE
Размер (байт): 12 110 440 566

Операция успешно завершена.
6. Узнав индексы и соответствующие им редакции внутри образа, можно приступить к их слиянию в один образinstall.wim с помощью утилиты ImageX:
imagex /export ".\install_wims\install_x86.wim" 1 ".\install_wims\install.wim" "Windows 7 Starter (x86)" /compress maximum
imagex /export ".\install_wims\install_x86.wim" 2 ".\install_wims\install.wim" "Windows 7 HomeBasic (x86)" /compress maximum
imagex /export ".\install_wims\install_x86.wim" 3 ".\install_wims\install.wim" "Windows 7 HomePremium (x86)" /compress maximum
imagex /export ".\install_wims\install_x86.wim" 4 ".\install_wims\install.wim" "Windows 7 Professional (x86)" /compress maximum
imagex /export ".\install_wims\install_x86.wim" 5 ".\install_wims\install.wim" "Windows 7 Ultimate (x86)" /compress maximum

imagex /export ".\install_wims\install_x64.wim" 1 ".\install_wims\install.wim" "Windows 7 HomeBasic (x64)" /compress maximum
imagex /export ".\install_wims\install_x64.wim" 2 ".\install_wims\install.wim" "Windows 7 HomePremium (x64)" /compress maximum
imagex /export ".\install_wims\install_x64.wim" 3 ".\install_wims\install.wim" "Windows 7 Professional (x64)" /compress maximum
imagex /export ".\install_wims\install_x64.wim" 4 ".\install_wims\install.wim" "Windows 7 Ultimate (x64)" /compress maximum
   Пояснение используемых параметров ImageX:
imagex /export файл_источника номер_источника файл_назначения имя_назначения /compress [тип]
   файл_источника
     Задает путь к WIM-файлу, содержащему образ, который нужно скопировать.
   номер_источника
     Задает номер, указывающий конкретный том в WIM-файле.
   файл_назначения
     Задает путь к WIM-файлу, в который будет скопирован образ.
   имя_назначения
     Задает уникальное имя образа в WIM-файле назначения.
   /compress [тип]
     Задает тип сжатия, используемый в операции создания первичного образа.
     Параметр maximum предусматривает высшую степень сжатия при создании образа. 

    В результате получаем один install.wim, который содержит пять редакций для 32-битной архитектуры и четыре - для 64-битной. У меня получился файл размером 3,42 ГБ (3 682 937 775 байт). Есть информация, что если этот файл превысит 4ГБ, то могут возникнуть проблемы (как с Vista), но у меня они не возникли.

7. Посмотрим информацию о новом install.wim:
dism /get-wiminfo /wimfile:.\install_wims\install.wim
    Результат:
Cистема DISM
Версия: 6.1.7600.16385

Сведения об образе : .\install_wims\install.wim

Индекс: 1
Имя : Windows 7 Starter (x86)
Описание : Windows 7 STARTER
Размер (байт): 7 867 661 744

Индекс: 2
Имя : Windows 7 HomeBasic (x86)
Описание : Windows 7 HOMEBASIC
Размер (байт): 7 887 488 944

Индекс: 3
Имя : Windows 7 HomePremium (x86)
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 8 329 827 718

Индекс: 4
Имя : Windows 7 Professional (x86)
Описание : Windows 7 PROFESSIONAL
Размер (байт): 8 213 071 123

Индекс: 5
Имя : Windows 7 Ultimate (x86)
Описание : Windows 7 ULTIMATE
Размер (байт): 8 373 494 322

Индекс: 6
Имя : Windows 7 HomeBasic (x64)
Описание : Windows 7 HOMEBASIC
Размер (байт): 11 531 865 453

Индекс: 7
Имя : Windows 7 HomePremium (x64)
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 12 045 241 621

Индекс: 8
Имя : Windows 7 Professional (x64)
Описание : Windows 7 PROFESSIONAL
Размер (байт): 11 947 613 470

Индекс: 9
Имя : Windows 7 Ultimate (x64)
Описание : Windows 7 ULTIMATE
Размер (байт): 12 110 440 566

Операция успешно завершена.
8. Перенесем полученный файл install.wim внутрь нашего распакованного образа в .\ISO_files\sources:
move .\install_wims\install.wim .\ISO_files\sources\install.wim
9. Обратно запакуем всё в ISO-образ с помощью OSCDIMG. Для этого создадим bat-файл следующего содержания и запустим его:
:: Папка с установочными файлами Windows 
SET source=.\ISO_files
:: Папка для сохранения ISO-образа
SET target=.\
:: Путь до загрузчика
SET bootloader="%source%\boot\etfsboot.com"

:: Создание ISO-образа
oscdimg -u2 -lWIN7 -m -h -b"%bootloader%" "%source%" "%target%\WIN7x86-x64.iso"

::-u2 - Создает образ, который имеет файловую систему UDF. 
::-l  - Задает метку тома. Между параметрами l и метка пробелов быть не должно. 
::-b  - Указывает на загрузочный файл образа, который используется для создания загрузочного сектора на DVD-диске или образе. 
::-h  - Включает в создаваемый образ все скрытые файлы и папки, расположенные по указанному пути 
::-m  - Игнорирует ограничение максимального размера образа.
    У меня получился ISO-образ размером 3,75 ГБ (4 029 980 672 байт). После загрузки с которого можно увидеть выбор всех добавленных в него редакций и произвести установку желаемой редакции и разрядности Windows 7:

    Примечание:
    Данный способ был проверен на системах BIOS, с (U)EFI загрузкой работоспособность не гарантирую. Проверить не на чем. Отпишитесь, если работает/не раобтает.
Категория: Мои статьи | Добавил: Marina (2014-11-20)
Просмотров: 4734 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
avatar
1 herlok9811 • 1:03 AM, 2017-06-01
С (u)efi не работает ! 3 дня голову ломаю
avatar