(пример)
Вам приходило в голову что было бы не плохо выбрать какой образ из boot.wim следует загружать для выполнения той или иной операции? Скажем нужно установить ОС - выбираем "Установка Windows", требуется выполнить восстановление системы - "Запуск среды восстановления Windows" или же запустить персонализированный WimPE? Раньше для этого требовалось создать новую запись в BCD и назначить путь к каждому из образов boot*.wim. Но ведь средний размер WinPE.wim около 120 mb а при необходимости собрать несколько образов wim в один дистрибутив, размер iso-образа может увеличится в несколько раз!
К счастью мы можем экспортировать нужные образы wim в единый boot.wim в не зависимости от архитектуры или содержания и сэкономить место на диске. Но есть одно Но, по умолчанию BCD загружает лишь один из индексов в образе boot.wim (назначить его можно при помощи imagex). Как-же сделать меню с возможностью выбора индекса для загрузки?
Спешу вас познакомить с замечательной находкой: CheckWIM и пропатченый загрузчик bootmgr (wimpatched).
Утилита CheckWIM считает индексы из boot.wim и отображает необходимую информацию которую следует использовать при создании меню.
wimpatched это измененый загрузчик Windows который умеет читать даные что отобразил CheckWIM.
Примечание. Программа установки требует наличия boot.wim в папке sources, обьеденив 32-разрядный и 64-разрядный boot.wim в единый образ мы теряем возможность установки / обновления ОС из Windows. Ниже я объесню что требуется для преодоления данного недостатка.
Если же вы не нуждаетесь в наличии установки / обновления из Windows, то можете экспортировать все индексы в один wim-файл.
Создаем сборку «Microsoft Windows 7 Ultimate x86-x64 EN-RU»
Шаг-за-шагом:
-> подготовка
Копируем содержимое DVD-диска Windows 7 x86 в E:\AIO\DVD
Код:
Код: Выделить всё
xcopy V:\*.* /s /e /f E:\AIO\DVDКопируем содержимое DVD-диска Windows 7 x86 в E:\AIO\DVD\64-bit
Код:
Код: Выделить всё
xcopy V:\*.* /s /e /f E:\AIO\DVD\64-bit-> работаем с первым индексом образов boot.wim
Монтируем первый индекс 32-разрядного образа boot.wim
Код:
Код: Выделить всё
dism /mount-wim /wimfile:E:\AIO\DVD\sources\boot.wim /index:1 /mountdir:E:\offlineДобавляем языковые пакеты для компонентов Windows PE
Код:
Код: Выделить всё
dism /image:E:\offline /add-package /packagepath:E:\packages\pe86-i1требуемые пакеты для интеграции[/i] :
Код:
Код: Выделить всё
LP_RU-RU.CAB
WINPE-SCRIPTING_RU-RU.CAB
WINPE-SRT_RU-RU.CAB
WINPE-WDS-TOOLS_RU-RU.CAB
WINPE-WMI_RU-RU.CABКод:
Код: Выделить всё
dism /image:E:\offline /set-allintl:en-usСохраняем изменения и демонтируем образ
Код:
Код: Выделить всё
dism /unmount-wim /mountdir:E:\offline /commitЧистим следы
Код:
Код: Выделить всё
rd /s /q E:\offline & dism /cleanup-wim & md E:\offlineМонтируем первый индекс 64-разрядного образа boot.wim
Код:
Код: Выделить всё
dism /mount-wim /wimfile:E:\AIO\DVD\64-bit\sources\boot.wim /index:1 /mountdir:E:\offlineДобавляем языковые пакеты для компонентов Windows PE
Код:
Код: Выделить всё
dism /image:E:\offline /add-package /packagepath:E:\packages\pe64-i1требуемые пакеты для интеграции[/i] :
Код:
Код: Выделить всё
LP_RU-RU.CAB
WINPE-SCRIPTING_RU-RU.CAB
WINPE-SRT_RU-RU.CAB
WINPE-WDS-TOOLS_RU-RU.CAB
WINPE-WMI_RU-RU.CABСохраняем изменения и демонтируем образ
Код:
Код: Выделить всё
dism /unmount-wim /mountdir:E:\offline /commitЧистим следы
Код:
Код: Выделить всё
rd /s /q E:\offline & dism /cleanup-wim & md E:\offline-> работаем со вторым индексом образов boot.wim
Монтируем второй индекс 32-разрядного образа boot.wim
Код:
Код: Выделить всё
dism /mount-wim /wimfile:E:\AIO\DVD\sources\boot.wim /index:2 /mountdir:E:\offlineДобавляем языковые пакеты для компонентов Windows PE
Код:
Код: Выделить всё
dism /image:E:\offline /add-package /packagepath:E:\packages\pe86-i2требуемые пакеты для интеграции[/i] :требуемые пакеты для интеграции:
Код:
Код: Выделить всё
LP_RU-RU.CAB
WINPE-SCRIPTING_RU-RU.CAB
WINPE-SETUP-CLIENT_RU-RU.CAB
WINPE-SETUP_RU-RU.CAB
WINPE-SRT_RU-RU.CAB
WINPE-WDS-TOOLS_RU-RU.CAB
WINPE-WMI_RU-RU.CABСохраняем изменения и демонтируем образ
Код:
Код: Выделить всё
dism /unmount-wim /mountdir:E:\offline /commitМонтируем второй индекс 64-разрядного образа boot.wim
Код:
Код: Выделить всё
dism /mount-wim /wimfile:E:\AIO\DVD\sources\boot.wim /index:2 /mountdir:E:\offlineДобавляем языковые пакеты для компонентов Windows PE
Код:
Код: Выделить всё
dism /image:E:\offline /add-package /packagepath:E:\packages\pe64-i2требуемые пакеты для интеграции[/i] :
Код:
Код: Выделить всё
LP_RU-RU.CAB
WINPE-SCRIPTING_RU-RU.CAB
WINPE-SETUP-CLIENT_RU-RU.CAB
WINPE-SETUP_RU-RU.CAB
WINPE-SRT_RU-RU.CAB
WINPE-WDS-TOOLS_RU-RU.CAB
WINPE-WMI_RU-RU.CABЧистим следы
Код:
Код: Выделить всё
rd /s /q E:\offline & dism /cleanup-wim & md E:\offlineДобавляем языковые пакеты для компонентов Windows RE
C помощью 7-zip извлеките образы WinRE.wim из папки
"E:\AIO\DVD\sources\install.wim\\Windows\System32\Recovery" в E:\WIM\x86
"E:\AIO\DVD\sources\install.wim\\Windows\System32\Recovery" в E:\WIM\x64
Монтируем первый (и единственый) индекс 32-разрядного образа winre.wim
Код:
Код: Выделить всё
dism /mount-wim /wimfile:E:\WIM\x86\winre.wim /index:1 /mountdir:E:\offlineДобавляем языковые пакеты для компонентов Windows RE
Код:
Код: Выделить всё
dism /image:E:\offline /add-package /packagepath:E:\packages\pe86-i2требуемые пакеты для интеграции[/i] :
Код:
Код: Выделить всё
LP_RU-RU.CAB
WINPE-SCRIPTING_RU-RU.CAB
WINPE-SETUP-CLIENT_RU-RU.CAB
WINPE-SETUP_RU-RU.CAB
WINPE-SRT_RU-RU.CAB
WINPE-WDS-TOOLS_RU-RU.CAB
WINPE-WMI_RU-RU.CABСохраняем изменения и демонтируем образ
Код:
Код: Выделить всё
dism /unmount-wim /mountdir:E:\offline /commitЧистим следы
Код:
Код: Выделить всё
rd /s /q E:\offline & dism /cleanup-wim & md E:\offlineМонтируем первый (и единственый) индекс 64-разрядного образа winre.wim
Код:
Код: Выделить всё
dism /mount-wim /wimfile:E:\WIM\x64\winre.wim /index:1 /mountdir:E:\offlineДобавляем языковые пакеты для компонентов Windows RE
Код:
Код: Выделить всё
dism /image:E:\offline /add-package /packagepath:E:\packages\pe64-i2требуемые пакеты для интеграции[/i] :
Код:
Код: Выделить всё
LP_RU-RU.CAB
WINPE-SCRIPTING_RU-RU.CAB
WINPE-SETUP-CLIENT_RU-RU.CAB
WINPE-SETUP_RU-RU.CAB
WINPE-SRT_RU-RU.CAB
WINPE-WDS-TOOLS_RU-RU.CAB
WINPE-WMI_RU-RU.CABСохраняем изменения и демонтируем образ
Код:
Код: Выделить всё
dism /unmount-wim /mountdir:E:\offline /commitЧистим следы
Код:
Код: Выделить всё
rd /s /q E:\offline & dism /cleanup-wim & md E:\offlineЭкспортируем образы winre.wim
Код:
Код: Выделить всё
imagex /export /compress maximum E:\WIM\x86\winre.wim 1 E:\WIM\x86\new\winre.wim
imagex /export /compress maximum E:\WIM\x86\winre.wim 1 E:\WIM\x86\new\winre.wim.....
(В процессе написания)[/i]