Контакты

Установка dism. DISM – управление компонентами образов Windows. Использование Dism с файлом Install Esd

Операционная система Виндовс может похвалиться многообразием инструментов, позволяющих восстановить функционал данной ОС при возникновении различных неполадок. Одним из таких инструментов является DISM (акроним от «Deployment Imaging and Servicing Management»), который не только проверяет образ ОС Виндовс на наличие повреждений, но и восстанавливает его функционал с помощью эффективной команды Dism /Online /Cleanup-Image /RestoreHealth. Ниже мы разберём особенности данной команды, а также подробно расскажем, как её использовать.

Инструмент «Deployment Image Servicing and Management» (Обслуживание и управление размещениями образов) также известный как DISM появился в функционале семейства Виндовс начиная с версии Виндовс Виста (SP1).

Первоначально DISM позиционировался как инструмент для создания и управления образами Виндовс на основе файлового формата .wim (сокращённо от «Windows image» – образ Виндовс). С внедрением в функционал Виндовс 8 зашифрованного и компрессированного файлового формата.esd (акроним от «Electronic Software Download») DISM получил возможность напрямую работать и с файлами упомянутого формата.

Использования слова «обслуживание» (servicing) в функционале DISM включает широкое разнообразие функций, в частности:

  • Захват образов дисков (разделов);
  • Использование образов дисков;
  • Установка и модификация образов;
  • Создание образов 32 или 64-битной Виндовс в едином.wim файле;
  • Создание образов сепаратных данных и другие возможности.

Ныне возможности DISM позволяют проводить операции по проверке, сканированию и восстановлению файлов образа Виндовс, уменьшению размеров инсталляционных файлов Виндовс (отмечу работу с компонентом WinSXS), добавление в ручном режиме апдейтов к Виндовс 10, идентификацию образов Виндовс et cetera.

Dism /Online /Cleanup-Image /RestoreHealth – особенности функционала

При появлении на ПК различных ошибок файловой системы, мы часто обращаемся к утилите SFC для анализа и восстановления целостности системных файлов. В некоторых случаях SFC оказывается неэффективна, что может быть связано с повреждением образа Виндовс на жёстком диске нашего ПК. Тогда мы задействуем команду DISM, использующую Центр обновления Виндовс (Windows Update) для загрузки недостающих системных файлов. Обычно после выполнения данной процедуры SFC может далее эффективно работать.

Команда DISM обычно имеет три основные формы:

DISM /Online /Cleanup-Image /CheckHealth – обнаруживает повреждение или модификацию образа Виндовс;

DISM /Online /Cleanup-Image /ScanHealth – сканирует образ Виндовс на наличие повреждений.

Ну и наиболее важная для нас DISM /Online /Cleanup-Image /RestoreHealth используется для восстановления образа ОС Виндовс с помощью Центра обновления. Помимо задействования последнего вы можете сами указать DISM где именно искать файлы для восстановления образа Виндовс.

Как пользоваться командой Dism /Online /Cleanup-Image /RestoreHealth

Для использования команды DISM/RestoreHealth запустите командную строку от админа, и в ней наберите указанную выше команду:

После чего нажмите на ввод. В процессе выполнения процедуры вы будете видеть прогресс выполнения в процентном отображении.


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


Кроме традиционной формы реализации данной команды, вы можете также указать DISM где брать файлы для восстановления образа Виндовс. Если по умолчанию DISM черпает файлы с Центра обновления Виндовс, то оператор /source позволит вам указать, откуда брать указанные файлы.

Обычно для этого понадобится образ Виндовс той же сборки, что и установленная Виндовс на вашем PC. Из этого образа сделайте копию файла install.wim , и разместите её в удобной директории на вашем жёстком диске.

DISM /Online /Cleanup-Image /RestoreHealth /Source:ПАПКА ВОССТАНОВЛЕНИЯ\install.wim

Вместо «ПАПКА ВОССТАНОВЛЕНИЯ» вы должны указать путь к папке, где находится файл install.wim , например, D:\sources\. Теперь команда будет выглядеть как:

DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim


Для блокировки доступа DISM к узлу Виндовс Update вы можете использовать оператор /LimitAccess , тогда команда будет выглядеть как:

DISM /Online /Cleanup-Image /RestoreHealth /Source:ПАПКА ВОССТАНОВЛЕНИЯ\install.wim /LimitAccess

В этом случае DISM будет обращаться только к указанной вами папке восстановления, и не задействует Центр обновления.

Также вы можете использовать рассматриваемую команду с зашифрованными образами.ESD, в этом случае команда будет иметь следующий вид:

DISM /Online /Cleanup-Image /RestoreHealth /Source:ПАПКА ВОССТАНОВЛЕНИЯ\Install.esd


Учтите, что DISM всегда создаёт log-файл по пути %windir%/Logs/CBS/CBS.log , в котором можно найти перечень обнаруженных и исправленных утилитой проблем.

Заключение

Команда Dism /Online /Cleanup-Image /RestoreHealth используется в функционале ОС Виндовс для восстановления работоспособности образа ОС Виндовс, с которого различные системные инструменты (в частности, SFC) черпают рабочие версии системных файлов. Задействуйте DISM при повреждении системных файлов, осыпании диска и других аналогичных дисфункций, и в большинстве случаев работоспособность вашей системы будет эффективно восстановлена.

Свежепредставленной "десятки", мы поговорим о полезной функциональной возможности популярнейшей Windows 7, взятой из арсенала Windows 8, а именно о восстановлении поврежденных компонентов при участии консольной утилиты DISM.exe . Причем функционал этот не самый новый, но совершенно обделенный вниманием всех русскоязычных IT -ресурсов. О причинах и, собственно, о самой Deployment Image Servicing and Management (англ. "система обслуживания и управления образами развертывания", DISM ) читайте в краткой заметке ниже.

Все просто: опция появилась ровно год назад с выходом апдейта KB2966583 , о чем в анонсе было сказано буквально пару слов, что и стало, из-за нелюбви к FAQ -ам, причиной молчания "родных пенат" ("первооткрыватель" DISMдля Windows 7 – блогер Вадим Стеркин). Что ж, восполним пробел в образовании и возможностях любимой "семерки", но для начала в один абзац о том, зачем все это нужно.

Начиная с Vista, развертывание и обслуживание "Окон" построено на компонентах и пакетах, определяемых манифестами (скриншот). В директории C:\Windows\winsxs находятся все файлы операционной системы, включая предыдущие версии – это и есть хранилище компонентов Windows. А хранилище пакетов в системе представлено папкой C:\Windows\servicing\Packages , где можно увидеть доступные пакеты и их манифесты. Раскрывая сказанное, пакет ом может быть исправление для ОС или драйвер, а манифест есть текстовый XML -файл, где задаются определения для компонентов и элементов развертывания. Благодаря тому, что практика апдейтов системы – вещь необходимая, и самая распространенная причина сбоя при обновлении – повреждение озвученного хранилища, утилита DISM.exe является настоящей "палкой-выручалкой " при подобных багах. После инициации KB2966583все пользователи "семерки" могут оценить сегодняшнюю героиню в действии, т.к. раньше для этого требовалось отдельное решение CheckSUR (Check for System Update Readiness), что не есть правильно.

Работаем с DISM.exe


Опять же, все просто: из-под учетной записи администратора (если вы – единственный пользователь Windows, то беспокоиться не о чем) запустите командную строку ("Пуск " → cmd в поле поиска → "Enter ") и введите, с подтверждением, команду DISM /Online /Cleanup-Image /ScanHealth → ждем окончания процесса (скриншот) → результаты работы DISM в обязательном порядке смотрите по адресу C:\Windows\Logs\CBS в файле checksur.log . Наличие в логе критического числа проблемных компонентов будет сигналом искать флешку (диск) с образом Windows или скачать нужный восстанавливающий пакет System Update Readiness Tool .

В идеале вы должны увидеть текст ("No errors detected") как на скриншоте выше, чего всем и желаю. И это все, что необходимо знать по теме любому мало-мальски опытному пользователю Windows.

Примечание: Владельцы ПК под управлением более поздней "восьмерки" для расширения кругозора могут ознакомиться со статьей "Параметры командной строки DISM для обслуживания пакетов операционной системы " из майкрософтовской MSDN -библиотеки.

Dism++ - многофункциональная программа, которая предназначена для настройки и оптимизации Windows, а также для восстановления работоспособности данной операционной системы. Вообще "оригинальная" Dism++ является приложением командной строки, но для того чтобы упростить ее использование, мы предлагаем версию, оснащенную графической оболочкой (с полной русской локализацией).

Одной из самых полезных функций Dism++ является очистка диска от ненужных файлов. Причем встроенный в нее инструмент борьбы с "мусором" работает куда эффективнее нежели многие популярные "самостоятельные" решения вроде того же Он поможет избавиться от кэша системы и сторонних программ, удалить файлы отчетов, пустые папки, "битые" ярлыки и так далее. Помимо избавления от лишних файлов, можно будет избавиться и от лишних элементов автозагрузки.

Теперь к более интересным возможностям, которых нет в обычных "чистильщиках". К таковым можно отнести функцию создания бэкапа системы и резервной копии лицензии, собственный файловый менеджер с гибкими настройками отображения папок и файлов, конвертер файлов WIM, SWM и ESD в ISO, а также менеджер установленных драйверов. В отдельном разделе Dism++ вы найдете список параметров системы, которые рекомендуется изменить в целях повышения ее безопасности, быстродействия и стабильности.

При возникновении серьезных неполадок в работе Windows, вы можете использовать Dism++ для восстановления системы из образа. Также есть функция "сжатия" установленной Windows за счет удаления из нее лишних компонентов и программ. Крайне полезная возможность для тех, кто использует SSD-диски малой емкости.

Чтобы создать свой дистрибутив, не обязательно выполнять захват подготовленной системы, комплект WAIK предоставляет нам другую возможность-работа непосредственно с ISO образом установочного диска, в терминологии Microsoft, такой вид образов называется: автономный образ . Данное средство называется DISM (Deployment Image Servicing and Management ) оно позволяет глубоко модифицировать образ Windows, добавлять туда драйвера (один файл или целую коллекцию), включать/выключать различные компоненты системы, добавлять пакеты обновлений ОС, а также языковые пакеты и кучу всего остального, в общем мы можем довольно глубоко «запиливать» дистрибутив ОС Windows. К стати, WAIK позволяет обслуживать дистрибутивы Windiows 8 / 2012
Возможен и другой вариант, у вас уже есть настроенный образ, который получился у вас после захвата, о том как он создается можно прочитать в статье: , вас все в нем устраивает, но есть проблема, поступила более новая техника, а драйвера, которые уже присутствуют в образе, не подходят к новому железу, соответственно, оборудование работает не на полную мощность. В этой ситуации нам достаточно узнать конфигурацию нового оборудования и в уже имеющийся образ, просто добавить драйвера, а если образ создан давно, то и пакеты обновлений, иначе наш образ получается не безопасным, а по рекомендации «лучших собаководов» , из Microsoft, наш образ должен быть безопасен, и содержать в себе актуальные обновления безопасности, на момент развертывания…
Если подумать логически, то в офисной сети, со временем, будут появляться «разношерстные» рабочие станции, это может быть связано с ростом компании или плановой заменой устаревшей техники на новую, да и просто разными поставщиками или партиями оборудования, в любом случае, идею о единообразном оборудовании можно забыть и на нее даже не рассчитывать, уж поверьте моему опыту работы в компании где работает почти 14 000 чел в РФ, с техникой там полный зоопарк, по этому, в готовый образ вам может понадобиться добавить драйвера, обновления и т.п. Идеальным вариантом является единая точка обслуживания, которой будет выступать наш установочный образ, мы можем добавлять в него драйвера, по мере поступления новой техники.

Скажу честно, данное ПО довольно сложно в понимании, но освоив его, вы получите мощнейший инструмент для обслуживания и тюнинга дистрибутивов MS Windows. В принципе, можно смело открывать «свой» MSDN-при условии что ваши образы будут собраны качественно, ну и за одно, поднять «пиратский флаг», но это так, лирика…
Все действия производятся из командной строки, это с одной стороны, большой плюс, с другой-недостаток т.к. современный народ довел свой «кнопконажимательный» рефлекс до таких высот, что скорость работы мышкой просто зашкаливает, а вот вид черного поля командной строки и мигающего курсора-вызывает нервный тик и личную неприязнь к тем, кто это придумал.

ВАЖНО-Статья будет разбита на несколько пунктов, каждый из них не является обязательным, вы вольны выбрать, выполнить все пункты или только некоторые, которые вам нужны, в любом случае, образ будет работоспособен!

Все действия будут проводиться на примере Windows 7 Professional amd64, но все команды актуальны и для дистрибутивов Windows 8 / 2012 / 2008 / 2008R2
Для работы нам понадобится:
1) Установочный диск Windows 7 (редакция и разрядность, значения не имеет, для примера, будет использоваться архитектура x64), можно скачать с торрентов или с MSDN - у кого есть доступ к подписке. В данной работе я буду использовать чистый образ MSDN, я не рекомендую брать образ который уже кто-то переделал, не факт что у вас с ним что-то получится, по этому, чтобы понять принцип работы берите ISOшник от Microsoft, он прямой- как лом в полёте…
2) Установочный диск WAIK (Windows Automated Installation Kit), скачать можно с сайта Microsoft , а также, дополнительный пакет для правильной работы с ОС с SP1 .
3) Физическая машина, с Windows 7 на борту, разрядность и редакция ОС значения не имеет, но редакцию Starter лучше не использовать, с достаточным количеством свободного места на диске C-должно быть свободно не менее 25Гб (на всякий случай).
4) Набор драйверов, и обновлений, которые будет установлены в системе.

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

Для работы, нам потребуется создать необходимые директории на диске С.
Мы будем работать с образом системы в папке dism , я назвал ее так специально чтобы было понятно для чего она (имя папки ни на что не влияет) единственное условие-не назначать имя папке кириллицей, во избежании проблем, также, внутри этой папки, мы создадим, целую кучу других папок их назначение я расскажу по ходу статьи:
Мы будем работать в командной строке, да Windows как и Linux позволяет это делать и как и в Linux, многие задачи, как эта, лучше выполнять из нее т.к. мышкой это слишком долго, хотя в Linux, командная строка более функциональна.
Запускаем командную строку, от имени Администратора и выполняем в ней:

Mkdir c:\dism mkdir c:\dism\iso mkdir c:\dism\offline mkdir c:\dism\updates mkdir c:\dism\drivers mkdir c:\dism\drivers\network mkdir c:\dism\drivers\mainbord mkdir c:\dism\drivers\sound mkdir c:\dism\drivers\video

Теперь, нам необходимо скопировать содержимое всего установочного диска Windows, в папку c:\dism\iso как есть.
Также рядом с папкой iso есть папка offline в нее будет монтироваться файл install.wim работу с которым мы и будем выполнять.

Не будем тянуть кота за «причинное место» и смонтируем образ install.wim который, если вы все скопировали правильно, должен лежать у вас по пути:
c:\dism\iso\sources\install.wim

Переходим: Пуск ->Все программы ->Microsoft Windows AIK ->Командная строка средств развертывания запускаем ее от имени администратора

На диске может содержаться несколько редакций операционной системы, нас интересует Windows 7 Professianal , все зависит от того, какой серийный номер вы введете.
Получаем список ОС с диска:
dism /get-wiminfo /wimfile:c:\dism\iso\sources\install.wim
Нас интересует образ ОС с индексом 3. (на скриншоте обведено красным)

В открывшемся окне вводим и жмем Enter:
dism /mount-wim /wimfile:c:\dism\iso\sources\install.wim /index:3 /mountdir:c:\dism\offline
Где:
dism -то что мы запускаем для работы
/mount-wim -то что мы хотим выполнить, в нашем случае-монтирование wim файла.
/wimfile:c:\dism\iso\sources\install.wim -путь к файлу install.wim
/index:3 -в файле install.wim может содержаться несколько образов операционных систем, мы возьмем третью из списка.
/mountdir:c:\dism\offline -папка, куда будет монтироваться файл install.wim

Система выдаст, похожее:

После удачного подключения образа, содержимое файла install.wim можно посмотреть в папке c:\dism\offline
Если вы туда загляните, то там обнаружите, ничто иное, как содержимое диска С, для ленивых приложу скриншот:

1-Добавляем драйвера оборудования в систему
В начале, когда мы создавали кучу папок, у нас была папка с названием drivers, а в ней различные под папки типа mainbord, sound, network, вот они как раз и предназначены для хранения драйверов. Звуковой драйвер, забрасываем в папку sound, а драйвера сетевого оборудования в папку network-все просто и т.д. в принципе можно все свалить в одну кучу, главное чтобы файлы с одинаковыми именами не перезаписали друг друга, но лучше сразу приучаться к порядку и тогда через несколько месяцев вы легко сможете разобраться, где что лежит, что можно удалить, а что нужно оставить, а вот если все в кучу, то это уже проблематично, так что рекомендация довольно проста и банальна-Нормально делай, нормально будет!
DISM позволяет добавлять драйвера в 2х режимах
1) По файлово -когда вы явно указываете, какой файл нужно загрузить
2) Рекурсивно-когда софтина сама обследует папку и вложенные подпапки и все найденные файлы драйверов добавляет в образ.
Откровенно говоря, добавлять по файлово, это для «эстетов» или если нужно добавить всего один файлик в уже готовый образ. Но мы-то с вами «запиливаем» чистую систему и предполагается что в ней ничего нет, по этому мы их будем добавлять рекурсивно.

В командной строке вводим:
dism /image:c:\dism\offline /add-driver /driver:c:\dism\drivers /recurse

Бывает что нужно добавить драйвера которые не имеют цифровой подписи, тогда команда принимает вид:
dism /image:c:\dism\offline /add-driver /driver:c:\dism\drivers /recurse /ForceUnsigned

Система немного задумается, потом выдаст следующее:

2-Добавляем обновления в образ
Далее, предположим, что образ у вас устарел и вы решили добавить в него пакеты обновлений. Но главный вопрос-где добыть обновления?!
Их можно взять из работающей системы, все файлы с расширением .cab являются нашей целью их можно найти по адресу C:\Windows\SoftwareDistribution\Download , если установлен WinRAR то он их подсвечивает как архивы, вот их-то мы и соберем. Все обновления применяются в том порядке, в котором вы указали, по этому старайтесь указывать их, в порядке возрастания номеров.
Вариант №2, обновления можно скачать с сайта Microsoft, чтобы не проходить «увлекательный квест», вот вам ссылка работает через IE.
В начале статьи мы создали папку:
mkdir c:\dism\updates
В нее мы и складываем файлы обновлений, для примера у меня есть 2 файла я их расположу в порядке номеров:
KB2574819.cab
KB2592687.cab
Применим обновления к нашему образу:
dism /image:c:\dism\offline /Add-Package /PackagePath:C:\dism\updates\KB2574819.cab /PackagePath:C:\dism\updates\KB2592687.cab
Где:
/PackagePath:C:\dism\updates\KB2574819.cab -указываем путь к файлу с обновлением

От системы получаем:

Проблема №1. Некоторые обновления не хотят устанавливаться, без других обновлений, по этому, зависимость от этого может стать серьезной проблемой, но всегда можно посмотреть на сайте Microsoft, какое обновление, от какого зависит.
Проблема №2. У вас нет файлов обновлений в виде файлов *.cab , но есть в виде файлов *.msu , проблема не сложная, файлы можно распаковать с помощью expand -F:* -способ использования данной утилиты, будет вам в качестве домашнего задания!

3-Включение/выключение компонентов операционной системы
Иногда требуется включить компоненты системы, которые по умолчанию выключены, например telnet клиент, мне он, по работе нужен довольно часто, по этому, в образе, на его примере, мы выполним включение.
Для начала, выполним запрос списка всех компонентов, он довольно большой, по этому мы его перенаправим в файл, а в файле можно спокойно прочитать.
Получаем список пакетов и перенаправляем его в текстовый файл:
dism /image:c:\dism\offline /Get-Features > c:\dism\Featurelist.txt
Где:
dism /image:c:\dism\offline -обращение к нашему подключенному образу
/Get-Features - запрос списка компонентов системы
> c:\dism\Featurelist.txt -перенаправление вывода в файл, который у нас называется Featurelist.txt , а путь к нему c:\dism\Featurelist.txt

Переходим к списку компонентов системы, открываем файл:
c:\dism\Featurelist.txt
И на выходе получаем «краказябры» из которых можно разобрать только латиницу, да и то не всю. Проблема не большая, в блокноте заходим в Формат-Шрифт выбираем шрифт Terminal и, вуаля, все содержимое становиться читаемым.
Находим в списке компонент TelnetClient, он помечен как отключенный:
Имя функции: TelnetClient Состояние: Отключен­

Попробуем его включить, вводим:
dism /image:c:\dism\offline /Enable-Feature /FeatureName:TelnetClient
система немного задумается и выдаст:


Все компонент включен.

Как отключить компонент:
Для примера, попробуем отключить компонент, список компонентов у нас уже есть, там находим компонент Solitaire да это тот самый «Селитёр», который так любят сотрудники и так ненавидят «эффективные руководители», потому что он ворует рабочее время- настоящий негодяй, он должен умереть… ;)
dism /image:c:\dism\offline /Disable-Feature /FeatureName:Solitaire
Система немного подумает, правда удаляет компонент система быстрее чем добавляет, оно и понятно, ломать- не строить…

Заключительная часть
Работа с образом завершена, нам необходимо сохранить изменения и отмонтирвоать образ:
dism /Unmount-Wim /MountDir:C:\dism\offline /Commit

Запуститься процесс сохранения изменений, занимает примерно 1-2 мин, по окончании которого, нам выдаст нечто подобное:

Если вы что-то забыли, то образ можно легко подключить снова и добавить нужное.
Теперь нам необходимо собрать, из полученного, образ установочного диска.
Наш получившийся дистрибутив лежит в c:\dism\iso единственная проблема в том что он не является загрузочным, в принципе это проблемой не является и мы сейчас соберем из него полноценный образ ISO, который, в последствии, можно нарезать на DVD-R болванку.

Сборка образа установочного диска Windows (ISO)
Т.к. файлы операционной системы у нас лежат в папке:
c:\dism\iso
Тогда получившийся ISO образ мы назовем windows.iso и выложим в:
c:\dism\
Тогда путь к нему, будет выглядеть:
c:\dism\windows.iso
Чтобы сделать образ загрузочным, нам нужны некоторые файлики, которые идут в комплекте WAIK т.к. образ операционной системы у нас имеет архитектуру x64, то и загрузчик нам нужен соответствующий.
в папке Dism создадим папку boot , но ручную ее создавать не нужно, она создастся автоматически при копировании, открываем командную строку от имени администратора и пишем туда:

Перейдем в папку с утилитами:
cd c:\Program Files\Windows AIK\Tools\PETools

И копируем утилиты под необходимую нам архитектуру:
copype.cmd amd64 c:\dism\boot
За одно, добавим на наш диск тест памяти, много места он не займет, а в случае возникновения, неведомых проблем, сильно облегчит жизнь
copy c:\Windows\Boot\PCAT\memtest.exe c:\dism\boot\ISO\boot

Теперь Возвращаемся в командную строку, где мы работали с DISM и там вводим:
oscdimg -n -m -o -bc:\dism\boot\etfsboot.com c:\dism\iso c:\dism\windows.iso

Начнется сборка образа, по окончании которой, в папке dism появится файл windows.iso , это и есть наш готовый дистрибутив, который можно нарезать на болванку или подключить к виртуальной машине и пользоваться.
Процесс сборки выглядит так:

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

На вашей совести остается тестирование того, что мы с вами наворотили…
На этой оптимистической ноте, позвольте закончить, ну и все как всегда-возникли вопросы, прошу в комментарии, нашли ошибку, то пишите в личку.
На этом все.

Команда DISM используется для просмотра, установки, удаления, и настройки компонентов в образах Windows формата WIM (W indows IM aging Format). Начиная с Windows 7, утилита dism.exe (D eployment I mage S ervicing and M anagement) входит в стандартный комплект программного обеспечения установленной ОС Windows. Представляет собой средство командной строки, которое может использоваться для обслуживания образов Windows и заменяет диспетчер пакетов (Pkgmgr.exe), PEimg и Intlcfg, которые включались в Windows Vista. Функциональные возможности этих средств теперь собраны в одном инструменте dism.exe . Кроме того, были добавлены новые функции, улучшающие возможности автономного обслуживания образов.

В отличие от сектор-ориентированных форматов (таких, как.iso, .tib, .bin), образ WIM является файл-ориентированным форматом, то есть его наименьшим логическим элементом является файл . Этот формат был разработан компанией Microsoft в качестве основного средства развертывания операционных систем Windows Vista и более поздних. Его достоинствами является аппаратная независимость и возможность хранения только одной копии файла, имеющего множество ссылок в дереве файловой системы (single instance storage), что обеспечивает компактность образов и высокую скорость их развертывания.

WIM файл может включать в себя несколько образов, которые определяются по числовому индексу или уникальному имени. Технология единственной копии множества одинаковых файлов single instance storage при добавлении нового образа к существующим позволяет уменьшить размер WIM-базы, если будут присутствовать совпадающие элементы. WIM-образ может быть также разбит на несколько файлов, которым присваивается расширение .swm

WIM-образ может быть смонтирован как логический диск в среде Windows с присвоением ему буквы диска для облегчения редактирования его содержимого (благодаря этому образ WIM можно достаточно просто сконвертировать в ISO-образ). Помимо штатных утилит от Microsoft, извлечь файлы из WIM-образа можно также при помощи архиватора 7-Zip.

WIM-образы могут быть загрузочными. В частности, установка всех современных операционных систем семейства Windows выполняется с использованием файла образа с именем BOOT.WIM содержащего загрузочную версию среды предустановки Windows PE (Windows P reinstall E nvironment), из которой выполняется процесс установки самой системы с использованием содержимого файла образа с именем INSTALL.WIM. После стандартной установки Windows, создается среда восстановления Windows RE (R ecovery E nvironment), загрузка которой выполняется из образа WinRE.WIM для восстановления работоспособности при проблемах с загрузкой основной системы. Обычно образ winre.wim располагается в скрытом разделе, которому не присваивается буква логического диска.

Структура файла WIM, содержащего 2 образа:

Как видно, wim-файл содержит 6 типов содержимого:

WIM Header - заголовок wim-файла, описывающий содержимое, атрибуты, версию, размер, тип сжатия и т.п.

File Resources - последовательность пакетов, содержащих упакованные данные файлов в составе образа.

Metadata Resource - содержит информацию о файлах в составе образа, включая структуру папок и атрибуты.

Lookup Table - таблица расположений и размеров ресурсных файлов в файле.wim

XML Data - данные в формате XML с дополнительными сведениями об образе. Представляют собой несжатый текст в кодировке Unicode.

Integrity Table - таблица целостности, используемая для контроля работоспособного состояния образа

Процесс создания образа WIM можно представить следующим образом:

1. Создается заголовок WIM Header файла образа, например C:\data.wim
2. В памяти создаются метаданные при сканировании и индексировании каталога исходных данных, сворачиваемого в образ, например - C:\Sources\
3. На основе метаданных содержимое файлов из каталога исходных данных записывается с сжатием в файл образа в виде порций пакетов File Resources , и в это же время в памяти строится таблица размещения порций в образе Lookup Table
4. По завершению создания образа, таблица Lookup Table записывается из памяти в файл.wim, затем дописываются данные XML и контроля целостности.
5. Обновляется начальный заголовок файла WIM.

Процесс извлечения файлов из образа выполняется по следующему алгоритму:

1. Считывается заголовок WIM Header и определяется место расположения метаданных в образе WIM.
2. Метаданные переписываются в память компьютера и строится таблица расположения файлов внутри образа.
3. Создается структура каталогов на основе содержимого образа.
4. Файлы из образа обрабатываются с использованием построенных таблиц и переписываются в созданную структуру каталогов.

Более подробно о структуре файлов WIM – в документе для разработчиков программного обеспечения (в формате PDF на английском языке).

Выполнение DISM.EXE без параметров выводит на экран краткую справку по ее использованию. Журнал утилиты сохраняется в файле C:\Windows\Logs\DISM\dism.log

Формат командной строки:

DISM.exe {/Image:путь_к_автономному_образу | /Online} [параметры_dism] {служебная_команда} [аргументы_служебной_команды]

Формат команды DISM отличается в зависимости от того, работает ли утилита с автономным образом или с данными ОС Windows (режим /Online ), в среде которой выполняется DISM.EXE. Для работы утилиты требуется запуск командной строки от имени администратора.

Служебные команды для работы с образами дисков:

/Split-Image - Делит существующий файл.wim или файл.ffu на несколько файлов WIM/FFU, доступных только для чтения.

/Apply-Image - Применение новых параметров образа.

/Get-MountedImageInfo - Отображает сведения о подключенных WIM- и VHD-образах.

/Get-ImageInfo - Отображает сведения об образах в WIM- или VHD- файле.

/Commit-Image - Сохраняет изменения подключенного WIM- или VHD-образа.

/Unmount-Image - Отключает подключенный WIM- или VHD-образ.

/Mount-Image - Подключает образ из WIM- или VHD-файла.

/Remount-Image - Восстанавливает каталог подключения образа.

/Cleanup-Mountpoints - Удаляет ресурсы, связанные с поврежденными подключенными образами.

Служебные команды:

/Apply-CustomDataImage - Консервирует файлы, содержащиеся в настраиваемом образе данных.

/Capture-CustomImage - Записывает настройки в разностный WIM-файл в системе WIMBoot. Записанные каталоги включают все вложенные папки и данные.

/Get-WIMBootEntry - Выводит записи конфигурации WIMBoot для указанного тома диска.

/Update-WIMBootEntry - Обновляет запись конфигурации WIMBoot для указанного тома диска.

/List-Image - Отображает список файлов и папок в указанном образе.

/Delete-Image - Удаляет указанный образ тома из WIM-файла, содержащего несколько образов томов.

/Export-Image - Экспортирует копию указанного образа в другой wim-файл.

/Append-Image - Добавление другого образа в WIM-файл.

/Capture-Image - Записывает образ диска в новый WIM-файл. Записанные каталоги включают все подкаталоги и данные.

/Get-MountedWimInfo - Отображает сведения о подключенных из WIM образах.

/Get-WimInfo - Отображает сведения об образах в WIM-файле.

/Commit-Wim - Сохраняет изменения подключенного из WIM образа.

/Unmount-Wim - Отключает подключенный из WIM образ.

/Mount-Wim - Подключает образ из WIM-файла.

/Remount-Wim - Восстанавливает потерянный каталог подключения WIM.

/Cleanup-Wim - Удаляет ресурсы, связанные с поврежденными подключенными WIM-образами.

Спецификации образа:

/Online - Задает работающую операционную систему как назначение.

/Image - Задает путь к корневому каталогу автономного образа Windows.

Параметры DISM:

/English - Отображает данные, выводимые командной строкой, на английском языке.

/Format - Задает формат отчета. Допустимые значения - /Format:Table или /Format:List, определяют формат в виде таблицы или списка. По умолчанию используется список.

/WinDir - Задает путь к каталогу Windows.

/SysDriveDir - Задает путь к файлу системного загрузчика с именем BootMgr.

/LogPath - Задает путь к файлу журнала.

/LogLevel - Задает уровень ведения журнала событий (1-4).

/NoRestart - Запрещает автоматическую перезагрузку и вывод пользователю предложений выполнить перезагрузку.

/Quiet - Скрывает все сообщения за исключением сообщений об ошибках.

/ScratchDir - Задает путь к каталогу временных файлов.

Для получения сведений об этих параметрах DISM и их аргументах укажите требуемый параметр перед "/?".

Примеры:

DISM.exe /Mount-Wim /? – подсказка по команде /Mount-Wim
dism.exe /Format /? - отобразить справку о форматах вывода DISM.

dism.exe /Online /Get-Drivers /? - подсказка для режима вывода сведения о драйверах в образе или работающей Windows (/Online). По умолчанию выполняется извлечение списка сторонних драйверов. Чтобы вывести весь список драйверов, используйте параметр /all .

dism.exe /Online /Get-Drivers /format=table - отобразить список сторонних драйверов текущей Windows в виде таблицы:

DISM.exe /List-Image /Imagefile:C:\test\images\myimage.wim /index:1 - отобразить полное содержимое первого образа из файла, заданного параметром /Imagefile:

Работа с автономными образами.

dism /mount-wim /? - отобразить подсказку по режиму подключения образов.

Cистема DISM
Версия: 10.0.10586.0
/Mount-Wim /WimFile:путь_к_WIM-файлу {/Index:индекс_образа|/Name:} /MountDir:конечный_каталог_подключения - Подключает WIM-файл к указанному каталогу, чтобы он был доступен для обслуживания.
Используйте параметр /ReadOnly, чтобы подключаемый образ был доступен только для чтения.
Примеры: DISM.exe /Mount-Wim /WimFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
DISM.exe /Mount-Wim /WimFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline /ReadOnly

DISM.exe /Mount-Wim /WimFile:D:\sources\boot.wim /MountDir:C:\test\offline - подключить к каталогу C:\test\offline содержимое образа D:\sources\boot.wim . После успешного выполнения данной команды в каталоге, задаваемом параметром /MountDir будет доступно содержимое образа из файла WIM, задаваемого параметром /WimFile и будут доступны команды для обслуживания образов.

DISM.exe /Image:C:\test\offline /? - отобразить краткую справку по командам и параметрам для обслуживания автономных образов.

DISM.exe /Image:C:\test\offline /Add-driver /? - отобразить подсказку по процедуре добавления драйвера в автономный образ.

DISM.exe /Image:C:\test\offline /Get-Features - отобразить сведения обо всех компонентах, входящих в данный образ. Для вывода сведений об отдельном пакете используется параметр /PackagePath указывающий на CAB-файл или папку.

dism /Get-MountedImageInfo - отобразить сведения о подключенных автономных образах. Пример отображаемой информации:

Подключено образов:

Каталог подключения: C:\test\offline
Файл образа: C:\test\images\myimage.wim
Индекс образа: 1
Подключен для чтения или записи: Да
Состояние: ОК
. . .

dism /unmount-wim /MountDir:C:\test\offline /commit - отключить автономный образ, подключенный к каталогу C:\test\offline с сохранением сделанных изменений (сохранение с фиксацией, задаваемое параметром /commit ).

dism /unmount-wim /MountDir:C:\test\offline /Discard - то же, что и в предыдущем примере, но без сохранения изменений в содержимом образа (сохранение без фиксации).

Добавление драйверов в образ WIM

Необходимость в добавлении драйвера возникает в тех случаях, когда установка системы или загрузка Windows PE требует наличия нестандартных драйверов, например для дисковых контроллеров SCSI и RAID или неподдерживаемых периферийных устройств. Утилита DISM позволяет легко добавить в существующий образ требуемый драйвер на основе информации из .inf файлов.

Формат команды:

DISM /Image:образ /Add-Driver {/Driver:папка_содержащая_INF | /Driver:путь_к_драйверу.inf} /ForceUnsigned]

Выполняется добавление нового драйвера в автономный образ, задаваемый параметром /Image: . Чтобы искать драйверы во всех вложенных папках, используйте параметр /recurse . Чтобы добавить все неподписанные драйверы в образы с архитектурой X64, используйте параметр /ForceUnsigned .

DISM.exe /Image:C:\test\offline /Add-Driver /Driver:D:\Drivers /recurse - добавить в образ все драйверы из каталога D:\Drivers и его подкаталогов.

DISM.exe /Image:C:\test\offline /Add-Driver /Driver:D:\Drivers\Usb\Usb3.inf - добавить в автономный образ драйвер на основе информации из файла D:\Drivers\Usb\Usb3.inf

DISM.exe /Image:C:\test\offline /Add-Driver /DriverName:"C:\Drivers\1.inf" /DriverName:"C:\Drivers\2.inf" /DriverName:"C:\Drivers\3.inf" - добавление нескольких драйверов в одной команде. При добавлении нескольких драйверов, их установка выполняется в том же порядке, в каком они перечисляются в командной строке DISM

Успешное выполнение DISM в режиме /Add-Driver не означает изменение в содержимом образа, поскольку для применения изменений необходимо либо отключить образ с параметром /commit , либо применить изменения с использованием параметра /Commit-Image

DISM.exe /Commit-Image /MountDir:C:\test\offline - сохранить изменения в образе, примонтированном к каталогу, заданному параметром /MountDir

Использование DISM для управления компонентами текущей ОС Windows.

Команда DISM с параметром /Online выполняется по отношению к текущей операционной системе, а не к ее образу, что позволяет выполнять обслуживание системы удаляя, добавляя или изменяя ее компоненты. Под обслуживанием Windows понимается отслеживание и исправление состояния компонентов и программных пакетов, включая все файлы системы и реестр. Система обслуживания на основе компонент или CBS (C omponent B ased S ervicing) представляет собой набор сервисных программных средств и специализированных данных, частью которого является и утилита DISM.EXE

Начальные элементы системы обслуживания компонент были реализованы еще в Windows Vista. В каждом последующем выпуске ОС их возможности расширялись, что привело к некоторым серьезным отличиям как в самой CBS, так и в использовании утилиты DISM.EXE в разных версиях ОС Windows. Часть параметров, доступных в ОС Windows 10 неприменима в среде Windows 7, хотя компания Microsoft задним числом выпустила обновления, частично реализующие новые концепции системы обслуживания, появившиеся в Windows 8, 8.1, 10. Часть возможностей обслуживания, присутствовавших в Windows 8, отсутствуют, или претерпели существенные изменения в Windows 10. Добавлю, что обслуживание Windows – это сложная, еще не совсем оформленная система, многие особенности которой не документированы и многие концепции которой могут серьезно измениться в будущем.

Краткую подсказку по использованию режима /Online для конкретной версии Windows можно получить по команде:

DISM /Online /?

Примеры использования DISM /Online для типовых операций обслуживания Windows.

В качестве хранилища компонент системы может использоваться образ WIM, данные получаемые удаленно через Центр Обновлений Windows (Windows Update), или локальное хранилище текущей Windows, представляющее собой содержимое папки %windir%\WinSxS (Стандартно – C:\Windows\WinSxS). С помощью параметра /Source можно указать расположение версий файлов, которые могут быть использованы для восстановления. Параметр /LimitAccess можно использовать для запрета обновлений из Центра обновлений Windows.

DISM.exe /Online /Cleanup-Image /CheckHealth - проверить наличие признака повреждения образа или хранилища компонент. Не применимо в Windows 7.

Сканирование хранилища системных компонент. В Windows 7 кроме сканирования, выполняется еще и восстановление целостности. Данный вариант команды не выполняется и сопровождается сообщением Ошибка 87. Параметр ScanHealth не распознан в этом контексте , если в Windows 7 не установлено обновление KB2966583 .

DISM.exe /Online /Cleanup-Image /RestoreHealth - проверка хранилища компонентов и автоматическое восстановление. В Windows 7 эти функции выполняет команда
DISM.exe /Online /Cleanup-Image /ScanHealth

dism.exe /Online /Cleanup-Image /StartComponentCleanup - очистить замененные компоненты и уменьшить размер хранилища (папки \Windows\WinSxS). Не применимо в среде Windows 7.

dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase - то же, что и в предыдущем примере, плюс сброс базы замененных компонентов. После сброса базы, установленные обновления Windows удалить невозможно.

DISM.exe /Online /Cleanup-Image /AnalyzeComponentStore - создание отчета о состоянии локального хранилища компонентов WinSxS. Возможно только для Windows 8.1 - 10. Пример отображаемой информации:

Сведения хранилища компонентов (WinSxS):
Размер хранилища компонентов по данным проводника: 5.43 GB
- размер папки WinSxS, вычисленный проводником. Оно не учитывает использование жестких связей в папке WinSxS
Фактический размер хранилища компонентов: 5.10 GB - учитывает жесткие связи в папке WinSxS.
Совместно с Windows: 3.18 GB - размер файлов, которые жестко связаны таким образом, что они отображаются как в хранилище компонентов, так и в других расположениях (для нормальной работы Windows). Оно включено в фактический размер, но не должно рассматриваться как часть служебных данных хранилища компонентов.
Резервные копии и отключенные компоненты: 1.62 GB - размер компонентов, которые хранятся для того, чтобы использоваться при сбоях в более новых компонентах или чтобы предоставлять параметр включения дополнительной функциональности. Значение также содержит размер параллельно используемых компонентов и метаданных хранилища компонентов.
Кэш и временные данные: 304.02 MB - размер файлов, которые используются хранилищем компонентов для внутренних целей, чтобы ускорить операции обслуживания компонентов. Оно включено в фактический размер и является частью служебных данных хранилища компонентов.
Дата последней очистки: 2016-10-04 09:45:15
Число освобождаемых пакетов: 3
Рекомендуется очистка хранилища компонентов: Да
Операция успешно завершена.

Использование анализа позволяет оценить необходимость очистки хранилища WinSxS и определить предельное сокращение его размера, которое не может быть больше, чем занято под Резервные копии и отключенные компоненты .

dism /Online /Get-Features - отобразить список компонентов текущей системы.
Пример отображаемой информации:

Имя функции: SNMP
Состояние: Отключен
Имя функции: TelnetClient
Состояние: Включен

В данном примере, поддержка SNMP-протокола выключена, а клиент сервера Telnet – включен.

DISM.exe /Online /Enable-Feature:SNMP - включить компонент ”SNMP-протокол”

Имеется возможность восстанавливать и включать компоненты, которые ранее были удалены из образа. Используйте аргумент /Source , чтобы задать расположение файлов, необходимых для восстановления ранее удаленного компонента. Можно указать несколько аргументов /Source . Если компонент найден в первом источнике, то остальные источники игнорируются.
Параметр /LimitAccess запрещает обращение DISM к WU/WSUS.
Параметр /All включает все родительские компоненты указанного компонента.

DISM.exe /Online /Get-Featureinfo:TelnetClient - отобразить сведения о компоненте ”Клиент Telnet”

DISM.exe /Online /Disable-Feature:SNMP - выключить компонент ”SNMP-протокол”.



Понравилась статья? Поделитесь ей