Введение

Формат файла

Формат изображения Windows (WIM) — это формат образа диска, основанный на файлах. Он был разработан компанией Microsoft для упрощения развертывания Windows Vista и последующих версий операционной системы Windows, а также Windows Fundamentals для устаревших ПК.

Дизайн

Как и другие форматы образов дисков, файл WIM содержит набор файлов и связанных с ними метаданных файловой системы. Однако, в отличие от форматов, основанных на секторах (таких как ISO или VHD), WIM основан на файлах: фундаментальной единицей информации в WIM является файл. Основными преимуществами файловой организации являются аппаратная независимость и хранение единственного экземпляра файла, на который многократно ссылаются в дереве файловой системы. Поскольку файлы хранятся в одном файле WIM, снижаются затраты на открытие и закрытие множества отдельных файлов. Стоимость чтения или записи тысяч отдельных файлов на локальном диске компенсируется аппаратным и программным кэшированием диска, а также последовательным чтением и записью данных. Файлы WIM могут содержать несколько образов дисков, на которые можно ссылаться либо по числовому индексу, либо по уникальному имени. Благодаря использованию хранения единственного экземпляра, чем больше общего у каждого последующего образа диска с предыдущими образами, добавленными в файл WIM, тем меньше новых данных будет добавлено. Файл WIM также можно разделить (разбить) на несколько частей, имеющих расширение .wim. Образы WIM могут быть загрузочными, а загрузчик Windows поддерживает загрузку Windows из файла WIM. DVD-диск установки Windows в Windows Vista и более поздних версиях использует такие файлы WIM. В этом случае BOOT.WIM содержит загрузочную версию Windows PE, с которой выполняется установка. Другие установочные файлы хранятся в INSTALL.WIM. Начиная с Windows 8.1, размер каталога Windows можно уменьшить, переместив системные файлы в сжатые образы WIM, хранящиеся на отдельном скрытом разделе (WIMBoot). Начиная с Windows 10, системные файлы можно сжать на системном диске (CompactOS). WIM поддерживает три семейства алгоритмов сжатия на основе LZ77 с возрастающим коэффициентом сжатия и убывающей скоростью: XPRESS, LZX и LZMS. Первые два используют кодирование Хаффмана, а последний – адаптивное кодирование Хаффмана с кодированием диапазона. Также поддерживается сплошное сжатие. И сплошное сжатие, и LZMS были представлены относительно недавно, в WIMGAPI с Windows 8 и DISM с Windows 8.1.

Изображение

ImageX — это инструмент командной строки, используемый для создания, редактирования и развертывания образов дисков Windows в формате Windows Imaging Format. Вместе с базовой библиотекой Windows Imaging Interface (WIMGAPI) он распространяется как часть бесплатного автоматизированного комплекта установки Windows (WAIK/OPK). Начиная с Windows Vista, программа установки Windows использует API WAIK для установки Windows. Первый распространенный прототип ImageX был создан под номером 6.0.4007.0 (main.030212 2037). Он позволил партнерам Microsoft OEM экспериментировать с технологией создания образов и разрабатывался параллельно с альфа-версиями Longhorn. Впервые он был представлен в проекте Longhorn в Milestone 4 и использовался в последующих сборках Longhorn. Сборка 6.0.5384.4 добавила значительные преимущества по сравнению с предыдущими версиями, такие как возможность монтирования папок в режиме только для чтения и чтения/записи, разделение на несколько файлов образов (SWM), драйвер фильтра WIM и новейшие алгоритмы сжатия. Он используется с версий, предшествующих кандидатам на выпуск (RC) Windows Vista.

ДИСМ

Deployment Image Service and Management Tool (DISM) – это инструмент, представленный в Windows 7. Теперь можно восстанавливать с помощью DISM любое изображение, используя либо установочный диск Windows, либо Центр обновления Windows. До Windows Server 2012 и Windows 8, DISM включал в себя большинство функций ImageX, но не все; ImageX по-прежнему требовался для создания образов.

Поддержка в других операционных системах

С 30 апреля 2012 года доступна библиотека с открытым исходным кодом для работы с форматом WIM. Эту библиотеку можно использовать в Unix-подобных системах, а также в Windows. Благодаря этому проекту, дистрибутивы Linux теперь имеют собственный аналог imagex под названием wimlib imagex, позволяющий монтировать WIM-образы и управлять ими (чтение/запись) как любым другим поставщиком блочного хранения. Поскольку WIM-образы используют достаточно распространенные алгоритмы сжатия, к ним можно получить доступ с помощью файловых архиваторов, таких как 7-Zip. Для других операционных систем, которые могут не поддерживать этот формат, все еще возможно преобразовать WIM-образы в более распространенный формат ISO, используя Windows Assessment and Deployment Kit в Windows.