Перейти к содержанию

Windows Imaging Format

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Формат файла WIM
Расширение .wim .swm .rwm .esd
Разработчик Microsoft
Тип формата Расширение имени файла

Windows Imaging Format (WIM) — это файл-ориентированный формат образа диска. Формат был разработан компанией Microsoft для развертывания последних релизов операционных систем семейства Windows — Windows Vista и Windows Server 2008, которые используют его как часть стандартной процедуры установки. Впрочем, его можно использовать и с другими релизами Windows; кроме того, он применяется в Windows Fundamentals for Legacy PCs — компактной ОС от Microsoft для устаревших PC, созданной на базе Microsoft Windows XP Embedded Service Pack 2 и вышедшей 8 июля 2006 года.

Структура

Как и прочие форматы образов дисков, WIM включает в себя набор файлов и ассоциированных с ними метаданных файловой системы. Однако, в отличие от сектор-ориентированных форматов (таких, как .ISO и .CUE/.BIN, чаще всего используемых для образов CD и DVD), WIM является файл-ориентированным форматом, то есть наименьшим логическим элементом является файл. Преимуществом данного подхода является аппаратная независимость формата и возможность хранения только одной копии файла, имеющего множество ссылок в дереве файловой системы (single instance storage).

Хотя архитектура формата считается файл-ориентированной, файлы сохраняются внутри отдельной WIM-базы данных, вследствие чего сокращаются издержки для SMB при открытии и закрытии множества отдельных файлов по окончании процесса передачи данных. Цена чтения или записи множества тысяч отдельных файлов на локальном диске нивелируется аппаратным и программным дисковым кешированием так же хорошо, как и последовательным чтением или записью данных.

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

Один WIM файл может ссылаться на другой.[источник не указан 4112 дней] Например, в WDS (Windows Deployment Services) в файле Res.rwm хранится содержимое файлов, а в файлах Image_Name.wim - ссылка на Res.rwm плюс структура папок и права доступа.[1] (англ.)

Инструменты

Dism — штатная программа Windows (начиная с Vista) с широким функционалом[2], предназначенная для обслуживания и подготовки образов Windows, в том числе, может использоваться для обслуживания образа Windows (WIM-файла) или виртуального жесткого диска (VHD-файла или VHDX-файла).

Imagex — это утилита с интерфейсом командной строки, входящая в состав microsoft WAIK, для создания, редактирования и развертывания файл-образов Windows в формате WIM. Начиная с Windows Vista, установщик Windows использует WAIK API для установки новой или клонированной копии Windows. Первая реализация ImageX имела номер сборки 6.0.4007.0 (main.030212-2037). Она использовалась Microsoft OEM Partners для тестирования технологий образов Microsoft и разрабатывалась параллельно с альфа-версиями Longhorn. В сборке 6.0.5384.4 были добавлены различные нововведения: разграничения статуса чтения-записи, разбивка образа на части (SWM), WIM фильтр-драйвер и LZX-компрессионные алгоритмы. Эта сборка использовалась в предварительных релиз-кандидатах Windows Vista.

GImagex — сторонняя утилита, реализация функционала ImageX в графическом интерфейсе (GUI). Реализует все те же функции, что и ImageX, но в более дружественном пользователю оконном виде, не требует ни установленного в системе WAIK, ни исполняемых файлов ImageX.

Сайт разработчика: http://www.autoitscript.com/gimagex/

Wimlib  — сторонняя открытая и кроссплатформенная утилита c интерфейсом командной строки и синтаксисом, схожим с Imagex, а также библиотека для создания, извлечения и изменения образов WIM. Wimlib содержит расширенные реализации алгоритмов сжатия XPRESS, LZX и LZMS, вследствие чего достигается большая компрессия по сравнению с аналогичными технологиями от Microsoft. Кроме того, wimlib может использоваться для работы с архивами ESD (Electronic Software Download). ESD-архивы — это WIM-архивы, которые используют сжатие LZMS в непрерывном режиме и поэтому обычно имеют значительно меньший размер, чем обычные WIM-архивы. Microsoft иногда распространяет архивы ESD с зашифрованным содержимым, wimlib не может самостоятельно расшифровать такие архивы.

Сайт разработчика: https://wimlib.net/

Работа с образами

WIM-образ также может быть смонтирован на логический диск под Windows с присвоением буквы диска для облегчения редактирования его содержимого (благодаря этому образ WIM можно достаточно просто сконвертировать в ISO-образ). Необходимо отметить, что драйвер WimFltr.sys необходимо загрузить до монтирования образа WIM посредством ImageX.

Впоследствии также были опубликованы API для работы с WIM-образами. Их функциональность осуществляется через библиотеку WIMGAPI.DLL. Таким образом, независимые разработчики могут создавать свои собственные программные средства.

WIM-образы могут быть загрузочными. В этом случае файл BOOT.WIM содержит загрузочную версию среды Windows PE, из которой выполняется процесс установки. Остальные установочные файлы включаются в INSTALL.WIM.

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

См. также

Примечания

  1. How to edit a Windows Imaging Format file on a Windows Server 2003 Service Pack 1 (SP1)-based computer that is running Windows Deployment Services. Дата обращения: 9 августа 2012. Архивировано 20 июля 2012 года.
  2. DISM Overview | Microsoft Docs. Дата обращения: 1 апреля 2019. Архивировано 1 апреля 2019 года.

Ссылки