Работа с утилитой ImageX. Часть 1

Введение

ImageX - это средство командной строки, предназначенное для создания, изменения и применения к дискам образов дисков из WIM-файлов для выполнения развертывания операционных систем Windows. Кроме того, данное средство можно использовать при работе с другими средствами, предназначенными для работы с образами Windows, например с программой установки Windows, службами развертывания Windows (Windows Deployment Services) и пакетом MDT.

Принцип действия

  • Как вы уже поняли, ImageX представляет собой основное средство для работы с WIM-файлами.
  • Таким образом, к нему применимы те же особенности, котороые присущи самим WIM-файлам:
  • Большая гибкость и контроль развертываемого носителя.
  • Быстрое извлечение образов для уменьшения времени установки.
  • Уменьшение размера образа благодаря «недублирующему хранению», что подразумевает раздельное хранение файлов данных и сведений о путях к файлам.
    Это позволяет хранить файлы, используемые в нескольких образах и путях, в одном месте и делать эти файлы доступными для нескольких образов одновременно.
  • Неразрушающее развертывание образа.
    Средство ImageX не перезаписывает полностью содержимое диска. Информацию можно добавлять и удалять выборочно.
  • Независимость от уровней HAL
  • Два разных алгоритма сжатия, быстрый и максимальный, для дальнейшего уменьшения размера образа.

Это дает преимущества перед другими средствами работы с образами, такими как Symantec Ghost, Acronis True Image, и т.д, которые работают на секторном уровне.

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

  • Использование одного и того же уровня HAL
  • Использование одного и того же контроллера жесткого диска
  • Выполняют разрушающее развертывание, с удалением данных на разделе после применения к нему образа
  • Не позволяют напрямую редактировать содержащиеся в образах данные.

И главным преимуществом ImageX является его интегрируемость. Формат файловых образов WIM-является основой архитектуры средств развёртывания Windows, и с WIM-файлами вы можете работать не только с использованием ImageX, но и других средств, таких как WDS и Windows AIK. В то время как использование стороннего ПО вызовет множество проблем совместимости, и как следствие, понизится уровень автоматизации развертывания.

Возможности и синтаксис ImageX

ImageX устанавливается вместе с пакетом Windows AIK. Однако, если после установки пакета вы попытаетесь выполнить ее из командной строки, то данная операция закончится ошибкой, так как ImageX по умолчанию хранится в папках:
C:\Program Files\Windows AIK\Tools\<архитектура>
Для возможности работы с ImageX сразу после запуска командной строки, вам необходимо добавить путь к системной переменной PATH, либо же использовать средство «Командная строка средств развертывания» из программной группы Windows AIK из меню «Пуск». Оно представляет собой сценарий, подключающий необходимые пути для поиска программ к сеансу командной строки.
Ниже будут рассмотрены возможности ImageX, с подробным разбором синтаксиса.


Вывод информации о WIM-файле
imagex /info <путь_к_WIM-файлу> [индекс_образа | имя_образа] [новое_имя] [новое_описание] {/boot | /check | /temp | /xml| /logfile имя_файла.log}
путь _к_WIM- файлу – задает путь к WIM-файлу, о котором требуется получить информацию.
индекс_образа – если вы хотите получить информацию о конкретном образе в WIM-файле, то можете указать его индекс.
имя_образа - если вы хотите получить информацию о конкретном образе в WIM-файле, то можете указать его имя.
новое_имя – используется совместно с предыдущими параметрами- для переименования образа в WIM-файле.
новое_описание – используется совместно с предыдущими параметрами- для изменения описания образа в WIM-файле.
/boot – используется для того, чтобы отметить образ Windows PE как загрузочный.
/check - Проверяет целостность WIM-файла.
/temp – Определяет путь для хранения WIM-файлов.
/xml – при наличии этого ключа выводит информацию в XML-формате.
/logfile имя_файла.log- Включает протоколирование с выводом в указанный файл.
Таким образом, команда info позволяет вывести информацию о WIM-файле и об образах, содержащихся в нем, в простом либо в XML-формате, а также изменить имя и описание образа.
Примеры:
imagex /info D:\install.wim
Данная команда выводит всю информацию из образа install.wim, находящегося в корневом каталоге диска D:. Вывод осуществляется не в XML-формате. Точнее сказать, XML-вывод отличается от не-XML всего лишь наличием заголовков, а после них идет XML-данные
imagex /info install.wim 1 “Windows_Captured” “06.12.2012”
Данная команда изменяет имя и описание первого образа в файле install.wim (расположенного в текущей папке) на “Windows_Captured” и “06.12.2012” соответственно.
imagex /info install.wim 1 /xml >image_info.xml
Данная команда выводит из файла install.wim (расположенного в текущей папке) информацию о первом образе, в формате xml, и выполняет вывод в файл image_info.xml

Монтирование образа из WIM-файла с правами только для чтения
imagex /mount <файл_образа> <индекс_образа | имя_образа> <путь_к_папке_для_монтирования> {/check| /logfile имя_файла.log}
файл_образа – путь к WIM-файлу, образ которого необходимо смотнировать
индекс_образа – индекс того образа в WIM-файле, который необходимо смонтировать
имя_образа - имя того образа в WIM-файле, который необходимо смонтировать
путь_к_папке_для_монтирования – путь к папке в файловой системе компьютера, в которую будет помещено содержимое образа с правами только на чтение.
/check - Проверяет целостность WIM-файла.
/logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Выполняет сопоставление образа с папкой в файловой системе компьютера. Иными словами, все содержимое указанного образа оказывается в указанной папке, с правами только на чтение. Данная команда может применять для исследования содержимого образа. Также стоит обратитьт внимание, что нельзя выполнять монтирование к системной папке,к папке, которая входит в состав другого смонтированного образа; также, если вы выполняете монтирование к непустой папке, то ее содержимое будет скрыто до выполнения размонтирования.
Пример:
imagex /mount install.wim 1 D:\mount /check
Монтирование первого образа из файла install.wim (расположенного в текущей папке) к папке D:\mount, с проверкой целостности образа.

Монтирование образа из WIM-файла с правами для чтения и записи
imagex /mountrw <файл_образа> <индекс_образа | имя_образа> <путь_к_папке_для_монтирования> {/check| /logfile имя_файла.log}
файл_образа – путь к WIM-файлу, образ которого необходимо смотнировать
индекс_образа – индекс того образа в WIM-файле, который необходимо смонтировать
имя_образа - имя того образа в WIM-файле, который необходимо смонтировать
путь_к_папке_для_монтирования – путь к папке в файловой системе компьютера, в которую будет помещено содержимое образа с правами на чтение и запись
/check - Проверяет целостность WIM-файла.
/logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Выполняет сопоставление образа с папкой в файловой системе компьютера. Иными словами, все содержимое указанного образа оказывается в указанной папке, с правами только на чтение и запись. Данная команда может применять для редактирования образа. Также стоит обратить внимание, что нельзя выполнять монтирование к системной папке, к папке, которая входит в состав другого смонтированного образа; также, если вы выполняете монтирование к непустой папке, то ее содержимое будет скрыто до выполнения размонтирования. И стоит понимать, что выполнение операции монтирования с правами на чтение и запись требует права монопольного доступа к файлу, что исключает возможность повторного монтирования любого другого образа из этого WIM-файла, пока смонтирован другой образ из этого WIM-файла.
Пример:
imagex /mountrw install.wim 1 D:\mount /check
Монтирование первого образа из файла install.wim (расположенного в текущей папке) к папке D:\mount,c правами на чтение и запись, а также с проверкой целостности образа

Размонтирование образа
imagex /unmount [путь_к_папке_для_монтирования] [/commit] [/logfile имя_файла.log]
путь_к_папке_для_монтирования – путь как папке, к которой был смонтирован образ
/commit – размонтирование с подтверждением изменений, иными словами, при задании этого ключа все изменения, внесённые в папку со смонтированным образом, применяются к образу
/logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Данная конманда выполняет размонтирование образа от папки. Выполнение команды без параметров выводит список всех смонтированных WIM-файлов.
Также особое внимание хотелось бы уделить процесса размонтирования. Он выполняется в два этапа. Сначала, изменения в папке применяются к образу, если указан ключ /commit. Далее выполняется очистка папки от файлов. Обратите внимание, что если какие либо приложения обращаются к этой папке в момент размонтирования, то размонтирование будет выполнено не полностью, и вам придется вручную «подчищать» папку для монтирования. Поэтому перед размонтированием закрывайте все приложения, работающие с данными в папке, включая Проводник.
Примеры:
imagex /unmount D:\mount
Выполняет размонтирование образа, подключенного к папке D:\mount


Перемонтирование образа
imagex /remount [путь_к_папке_для_монтирования] [/logfile имя_файла.log]
путь_к_папке_для_монтирования – путь к папке, к которой был смонтирован образ
/logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Данная команда предназначена для восстановления утерянной связи между WIM-файлом и папкой, к которой был смонтирован образ из него, например в случае недоступности сетевого диска с WIM-файлом, либо же отключения внешнего носителя.
Примеры:
imagex /remount D:\mount
Выполняет восстановление утерянной связи между папкой D:\mount и образом, который был к ней смонтирован.

Очистка ненужных ресурсов
imagex /cleanup
Если при размонтировании некоторые файлы и папки были заняты другим процессом и удалить их не получилось, то эта команда выполнит процесс очистки этих файлов и папок.

Сохранение изменений в образе без его отключения
imagex /commit [/append] путь_к_папке_для_монтирования [имя_образа]
путь_к_папке_для_монтирования путь к папке, к которой был смонтирован образ
/append - Добавляет подключенный образ в существующий WIM-файл. При использовании этого параметра следует указать имя нового образа.
имя_образа – имя создаваемого образа, используется совместно с ключом /append
Данная команда предназначена для сохранения в образе тех изменений, которые были внесены в папку со смонтированным образом

Применение образа к диску или папке
imagex /apply <путь_к_WIM-файлу><индекс_образа | имя_образа><путь_для_применения> {/check |/norpfix | /ref | /scroll | /temp| /verify | /logfile имя_файла.log}
путь_к_WIM-файлу – путь к WIM-файлу, образ из которого требуется применить к папке или диску
индекс_образа – индекс образа, который необходимо применить к папке или диску
имя_образа - имя образа, который необходимо применить к папке или диску
путь_для_применения – путь к диску, либо папке, к которой будет применено содержимое образа.
check - Проверяет целостность WIM-файла.
norpfix - Отключает активность маркеров точек повторной обработки. Точка повторной обработки - это файл, содержащий ссылку на другой файл в файловой системе. Если они не заданы, точки повторной обработки, разрешающиеся в пути, внешние по отношению к значению поля «путь_для_применения», не будут захватываться.
ref <путь к SWM-файлу> - Включает ссылки на разделенные WIM-файлы (SWM). Параметр splitwim.swm указывает имя и расположение для дополнительных разделенных файлов
scroll - Прокрутка выходных данных для перенаправления.
temp - Путь хранения временных файлов.
verify - Включение проверки файлового ресурса путем проверки на наличие ошибок и дублирования файлов.
logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Данная команда применяет образ к физическому расположению. Это отличается от монтирования тем, что с исходным WIM-файлом не остается никаких связей. Обычно образы применяют для выполнения развертывания системы, когда ImageX запускается из Windows PE, и применяют образ к диску конечного компьютера.
Примеры:
imagex /apply install.wim 1 D:\Win
Применить первый образ из файла install.wim(который расположен в текущей папке) к папке D:\Win
imagex /apply E:\sources\install.wim “Captured” C: /verify
Применить образ с именем “Captured” из WIM-файла E:\sources\install.wim к диску С:, и выполнить верификацию.

Вывод содержимого WIM-файла
imagex /dir <путь_к_WIM_файлу> <индекс_образа|имя_образа>
путь_к_WIM_файлу – путь к WIM-файлу, из образа в котрого требуется извлечь список файлов и папок
индекс_образа – индекс образа, из которого требуется извлечь список файлов и папок
имя_образа - имя образа, из которого требуется извлечь список файлов и папок
Данная команда выводит все содержимое указанного образа, перечисляя каждый файл и каждую папку. Если образ содержит в себе операционную систему, то данный список будет труден для восприятия, поэтому рекомендуется выводить его в текстовый файл, а далее применять программы для анализа.
Пример:
imagex /dir install.wim 2
Вывод содержимого из второго образа в файле install.wim, который расположен в текущем каталоге.


Разбиение WIM-файла на меньшие файлы равного размера
imagex /split <путь_к_WIM-файлу> [SWM1;SWM2;SWM3...] <размер> {/check| /logfile имя_файла.log}
путь_к_WIM-файлу – путь к исходному WIM-файлу
SWM1;SWM2… - путь к разделённым файлам формата SWM
размер - Задает максимальный размер (в Мб) для каждого из созданных файлов.
check - Проверяет целостность WIM-файла
logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Данная команда разбивает указанный WIM-файл на несколько разделённых WIM-файлов(SWM). Они применяются для выполнения развертывания со съемных носителей малого объема.
Пример:
imagex /split D:\imaging\data.wim 600
WIM-файл D:\imaging\data.wim будет разбит на файлы data.swm,data1.swm и т.д. при том размер каждого SWM-файла будет составлять 600 Мб.

Удаление образов из WIM-файла
imagex /delete <путь_к_WIM_файлу> <индекс_образа|имя_образа> {/check | /temp| /logfile имя_файла.log}
путь_к_WIM_файлу – путь к WIM-файлу, из которого требуется удалить образ
индекс_образа – индекс удаляемого образа
имя_образа – имя удаляемого образа
check - Проверяет целостность WIM-файла.
temp - Определяет путь хранения временных файлов.
logfile имя_файла.log - Включает протоколирование с выводом в указанный файл.
Данная команда предназначена для удаления образа из WIM-файла. Однако, она удаляет только XML-метаданные, но не саму информацию. Для удаления информации вам необходимо выполнить перестройку образа командой export.
Пример:
imagex /delete install.wim 1
Удаляет первый образ в файле install.wim, расположенного в текущем каталоге