Сиквел: как интегрировать MsDart в установочный носитель Windows 7

imageЯ уже не раз писал на тему Microsoft Desktop Optimisation Pack (MDOP), и одной из его составляющих – Diagnostics and Recovery Toolset (MsDART). Но как следует из комментариев на моем блоге и форуме OsZone.net – интерес к этому предмету, а в частности, как же именно интегрировать его в дистрибутив Windows, не пропал совсем.

Поэтому ниже я приведу пошаговые инструкции по интегрированию этого пакета в дистрибутив (привязка MSDart к опции “Repair your computer”) и некоторые, хотя и пространные, но необходимые пояснения.

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

Для иллюстрации моих действий использовалась такая лабораторная среда: Устновленный MS DART версии 7.0, дистрибутив Windows 7 SP1 x64 и, конечно же, Windows AIK.

Исходная информация: DART позволяет сделать специальный загрузочный .iso образ восстановления, используя дистрибутив Windows 7 (а именно файл boot.wim, в который, собственно, и добавляются утилиты MsDart). Эта задача решается через специальный мастер, который монтирует boot.wim из дистрибутива во временный NTFS каталог и копирует утилиты пакета вовнутрь подмонтированного образа (с последующим объявлением в оболочке MsDart).

После установки пакета DART на инженерной машине из дистрибутива MDOP мы получим вот такую картину:

image

В архивах находятся все утилиты DART (файл Tools.cab) и Standalone System Sweeper (файл Sweeper.cab).

Посмотрим содержимое архива Tools.cab:

image

Итак, здесь расположена ресурсная папка, которая будет скопирована в обслуживаемый образ дистрибутива. В корне архива находится также загрузчик elTorito, который используется для компоновки загрузочного DVD. Посмотрим содержимое ресурсной папки:

image

В ней находится всё то, что будет скопировано в соответствующие папки подмонтированного из boot.wim образа (по сути – это модифицированный образ Windows RE), для того, чтобы он стал образом MsDart.

Особый интерес из всего множества ресурсов, обеспечивающих работу DART представляют два ключевых файла winreconfig.xml и winpeshl.ini.

Winreconfig.xml

Любимый файл слушателей курсов по предустановке операционных систем Winking smile. Этот .xml-файл содержит конфигурацию для стандартного меню инструментов Windows RE. Стандартное меню в норме имеет 5 вхождений и выглядит так:

image

Синтаксис и предназначение возможных .xml тегов для изменения конфигурации Windows RE достаточно подробно описаны на Technet. Вот какой результат можно получить в итоге, воспользовавшись этим конфигурационным файлом, который, кстати, обязательно должен находиться в папке .SourcesRecoveryTools образа Windows RE, иначе работать не будет:

image

То есть, опустив другие дополнительные возможности, к стандартному меню восстановления Windows RE можно “подстегнуть” максимум одну дополнительную диагностическую утилиту и одно средство перезаливки образа. Обычно такое право предоставляется сборщикам систем и MsDart использует именно этот механизм своего внедрения в стандартное меню восстановления. Для подтверждения этого заглянем в winreconfig.xml ресурсной папки MsDart:

image

Анализ конфигурационного файла показывает, что используется вариант дополнительного “диагностического средства”, в роли которого выступает фронт-енд утилит MsDart – приложение MSDartTools.exe.

Кое-что, касательно механизма работы .iso образа DART, дополнительно проясняется, когда мы заглядываем в файл .windowssystem32winpeshl.ini.

Winpeshl.ini

В соответствии с его спецификацией, этот конфигурационный файл предназначен для подмены стандартного интерфейса Windows PE, в роли которого выступает командная строка, и запуска дополнительных приложений при старте Windows PE, в нашем случае – инициализации сетевого интерфейса и оболочки среды восстановления.

В комплекте MsDart этот файл выглядит так:

image

Ни одно, ни второе автозапускаемое приложение не имеет смысла в контексте использования установочного диска с внедренным MsDart. Для инициализации сетевого интерфейса, к примеру, имеется ряд других возможностей, которые опытный инженер, при желании, может использовать, но… потом Winking smile. Поэтому, winpeshl.ini я вообще удалил.

Прояснив для себя механизм создания образа MsDart, можно приступать к перекомпоновке дистрибутива Windows 7, что и есть цель всего мероприятия.

Перекомпоновка дистрибутива

Шаг 1. В командной строке “Deployment Tools Command Prompt” с правами администратора выполняем:

copype amd64 c:winpe

Получаем нужную структуру каталогов для компоновки и обслуживания образа:

image

Шаг 2. Распаковываем дистрибутив операционной системы в каталог ISO, предварительно почистив содержимое этого каталога.

Шаг 3. Монтируем ISOsourcesboot.wim в каталог c:winpemount:

dism /mount-wim /wimfile:».ISOsourcesboot.wim»
/index:2 /mountdir:”c:winpemount”

Монтируется второй образ из boot.wim, так как он содержит компоненты WinPE-Setup и WinPE-Setup-Client, необходимые для реализации процесса установки.

Шаг 4. Выполняем мастер MsDart. В процессе выполнения копируем все содержимое временной ресурсной директории (см. снимок экрана ниже) и переносим в каталог монтирования (в примере это – c:winpemount).

image

Выполнение мастера затем можно прекратить.

Шаг 5. Удаляем файл <точка монтирования>WindowsSystem32winpeshl.ini, как предложено выше.

Шаг 6. Демонтируем boot.wim с сохранением изменений:

dism /unmount-wim /mountdir:c:winpemount /commit

Шаг 8. Пересобираем .ISO образ воспользовавшись утилитой oscdimg. Например:

oscdimg -j1 -m -bc:winpeetfsboot.com c:winpeiso e:imageWin7DART.iso

Получаем результат:

image

Проверяем работоспособность утилит MSDart и… пользуемся.

CONCLUSIO

Для полной завершенности процесса интеграции DART в дистрибутив Windows я бы еще добавил его в родную среду восстановления образа, которая изначально находится в файле <точка монтирования>WindowsSystem32RecoveryWinRE.wim. Это стоит сделать для того, чтобы после установки операционной системы MsDart был доступен не только на установочном носителе но и для конечного эксплуатанта. Для этого необходимо извлечь winre.wim и обслужить так, как указано выше, но отдельным порядком и без удаления winpeshl.ini, а затем заменить им оригинальный winre.wim в образе, или в каждом из образов, помещенных в install.wim.

Pin It

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.