Для работы с архивами формата .wim в составе Windows имеется утиллита Dism, (а библиотека wimlib - её опенсурсная альтернатива).
Рассмотрим несколько типовых задач, сначала на примере Dism версии 6.1.7600 (вшит в Windows 7), затем Dism версии 10.0.14393 (вшит в Windows 10).
dism версии 6.1.7600 умеет всего ничего:
/Get-MountedWimInfo
/Get-WimInfo
/Commit-Wim
/Unmount-Wim
/Mount-Wim
/Remount-Wim
/Cleanup-Wim
Вывести список образов в wim-файле
Dism /Get-WimInfo /WimFile:install.wim
Например install.wim с инсталляционного диска windows 7 содержит четыре образа (имеет смысл обратить внимание на поля Index и Name):
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385
Details for image : install.wim
Index : 1
Name : Windows 7 HOMEBASIC
Description : Windows 7 HOMEBASIC
Size : 11 531 865 453 bytes
Index : 2
Name : Windows 7 HOMEPREMIUM
Description : Windows 7 HOMEPREMIUM
Size : 12 045 241 621 bytes
Index : 3
Name : Windows 7 PROFESSIONAL
Description : Windows 7 PROFESSIONAL
Size : 11 947 613 470 bytes
Index : 4
Name : Windows 7 ULTIMATE
Description : Windows 7 ULTIMATE
Size : 12 110 440 566 bytes
The operation completed successfully.
Посмотреть содержимое образа
Для просмотра содежимого образа, его необходимо смонтировать по индексу или имени (по имени слишком сильное извращение, поэтому привожу пример только с индексом):
Dism /Mount-Wim /WimFile:install.wim /index:3 /MountDir:C:\win7 /ReadOnly
Этой командой мы смонтировали образ "Windows 7 PROFESSIONAL" в директорию C:\win7. По умолчанию, образ монтируется доступным для записи, но ключ /ReadOnly устанавливает режим доступа "только чтение".
Внести изменения в образ
1. Смонтировать нужный образ для изменения (без ключа /ReadOnly):
Dism /Mount-Wim /WimFile:install.wim /index:3 /MountDir:C:\win7
2. Изменить/Заменить/Добавить/Удалить файлы в директории C:\win7 как в любой другой.
3. Отмонтировать образ с сохранением изменений:
Dism /Unmount-Wim /MountDir:C:\Win7 /commit
либо то же самое двумя отдельными командами:
Dism /Commit-Wim /MountDir:C:\win7
Dism /Unmount-Wim /MountDir:C:\Win7 /discard
Посмотреть список всех смонтированных образов (а также их состояние)
Dism /Get-MountedWimInfo
Dism версии 10.0.14393 помимо прочего, умеет вот что:
/Split-Image
/Apply-Image
Разбить wim-файл на несколько swm-файлов
Wim - архив файлового типа, раздробить его каким-нибудь dd не получится. Зато получится следующей командой. Может пригодиться, например, когда вы вручную делаете инсталляционную флешку в FAT32 (эта файловая система имеет ограничение на размер файла - максимум 4ГБ). Результирующие swm-файлы должны лежать в каталоге sources. Ключ FileSize воспринимает размер в мегабайтах.
Dism /Split-Image /ImageFile:install.wim /SWMFile:install.swm /FileSize:4096
Применить (распаковать) образ на файловую систему
Dism /Apply-Image /Image-File:install.wim /Index:1 /ApplyDir:D:\ /EA
В случае разбитого на swm файлы архива необходимо указать паттерн именования файлов.
Dism /Apply-Image /Image-File:install.swm /SWMFile:install*.swm /Index:1 /ApplyDir:D:\ /EA
Ключ /EA предписывает устанавливать расширенные аттрибуты файлов.