Windows Imaging Format

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
Расширение ..wim .swm .rwm .esd
MIME-тип application/x-ms-wim[1]
Разработчик Microsoft
Тип формата Расширение имени файла

Структура править

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

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

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

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

Инструменты править

Dism — штатная программа Windows (начиная с Vista) с широким функционалом[3], предназначенная для обслуживания и подготовки образов 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. Однако некоторые файлы он не откроет.

См. также править

Примечания править

Ссылки править