Windows 映像格式 (WIM)

2025 年 1 月 28 日 | 阅读 6 分钟

什么是Windows Imaging Format (WIM)?

磁盘映像文件通过Windows Imaging Format (WIM) 进行创建和发送。WIM是一种基于文件的磁盘映像格式,最初于2007年推出,旨在方便Windows Vista的安装。此后,它一直被用于加速和简化后续Microsoft操作系统(OS)的安装。

Windows Imaging Format (WIM)

WIM文件格式主要用于加速基于文件的磁盘映像的部署,因为它允许将单个磁盘映像发送到多个计算机系统。

WIM格式有助于在无需重启OS映像的情况下管理驱动程序、更新或组件等文件。它允许捕获、编辑和应用基于文件的磁盘映像。

WIM - 基于文件的格式

与ISO和虚拟硬盘(VHD)等格式相比,WIM是基于文件的,而不是基于扇区的。使用基于文件的格式,单个文件包可以包含包的所有内容,对相同部分的多个副本进行去重,并在更多种类的磁盘硬件上更快地安装和启动。

用户可以根据交付的内容选择性地安装部分或全部磁盘映像,因为单个WIM文件还可以包含多个磁盘映像。可以通过映像的唯一名称或数字索引来引用它。大型WIM文件可以被分割成两个或多个部分,每个部分都用**.swm**扩展名标识,因为WIM也支持跨越。

基于文件的结构是另一个优点,即所有必要的文件都包含在单个WIM文件中。这通过消除单独访问不同文件的需求来最小化开销并加快映像分发速度。与多个图像文件相比,单个文件在设备上占用的空间要少得多。

WIM文件由什么组成?

单个WIM文件由多个可区分的部分组成

  • 一个204字节大小的文件头。
  • 映像(一个或多个)。
  • 用于存储映像数据文件的设施。
  • 我们可以在WIM文件中包含以下任何文件资源
    • 查找表(包含对文件条目的引用)。
    • XML格式的数据。
    • 完整性图。

Windows Imaging Format 文件集类型

有两种可用的WIM文件集

1. 单个分段WIM文件集

扩展名为.wim的表示单分段WIM文件集。我们可以使用此文件在新设备上安装Windows。即使文件只捕获了一个映像,其文件也可以用于配置其他分区。

可以在两种不同的方式下捕获.wim文件

  1. 从Windows发行版的ISO文件中,使用install.wim文件。
  2. 激活Windows,然后使用通用化将已安装的Windows映像保存为.WIM文件。这使得该映像可以用于不同的设备。

对映像进行通用化后进行优化是一个好主意,特别是当它将被安装在许多设备上时。使用DISM /image:C:\ /optimize-image /boot 进行映像优化。在应用映像后使用Windows命令提示符可以加快设备的启动速度。

新硬盘分区必须被创建,并且必须使用Windows PE(预安装环境)来启动设备,一旦映像被捕获。最后,可以使用Windows命令提示符应用映像:D:\ApplyImage.bat Folder:\Images\Fabrikam.wim。

2. 多分段WIM文件系列

具有多个分段的WIM文件集以.swm结尾。如果Windows操作系统正在从无法处理WIM文件高尺寸的媒体安装,我们可以将单个WIM文件分割成多个较小的.swm文件。例如,格式化为FAT32的USB闪存驱动器(最大容量4 GB)和数字视频光盘(DVD)最大7 GB。

将WIM文件分割成多个.swm文件的一种方法是将**sources\install.wim**传输到本地PC,然后使用Windows命令提示符Dism /divide-Image /Image分割Windows映像。文件为C:\sources\install.wim /SWM。保存为C:\sources\install.swm,文件大小为4700。

完成后,将在C:\sources目录中生成并存储一组已安装的.swm文件。无法编辑这些文件。建议在通过DVD部署将WIM文件分割成.swm文件后,使用Windows命令提示符rd c:\TempInstallFolder /s /q删除临时文件夹。

WIM文件格式的用户

WIM文件格式通常由三类用户使用

  1. Windows程序员: Windows开发人员可以通过使用WIM磁盘映像将整个硬盘的数据和文件夹打包到一个文件中。Windows安装程序在安装过程中会将整个磁盘映像解压到本地计算机的硬盘上。这使得可以从单个可分发源文件轻松安装大型、复杂的程序。
  2. 计算机供应商: 由于将单个可分发磁盘映像复制到新磁盘比执行完整安装更快、更简单、出错的可能性也大大降低,因此计算机供应商通常使用这种方法来预装新系统,使其包含操作系统和必要的软件。当新PC启动时,打开Windows安装程序并开始安装过程很容易,因为WIM文件是可引导的。
  3. 程序员: 软件开发人员也使用WIM格式来构建磁盘映像,通常借助ImageX工具。Windows评估和部署工具包(Windows ADK)附带了ImageX命令行工具,它允许我们修改、生成和分发WIM格式的Windows磁盘映像。要安装Windows,必须使用ADK的应用程序编程接口(API)。

Windows 10和11的软件开发者可以使用Microsoft的Deployment Image Servicing and Management (DISM)工具生成WIM文件,这是另一个命令行工具。除了支持WIM文件外,DISM还可以处理VHD文件(.vhd或.vhdx)。

工具

1. ImageX

使用命令行实用程序ImageX来生成、修改和分发Windows Imaging Format格式的Windows磁盘映像。它包含在免费的Windows Automated Installation Kit (WAIK/OPK)以及底层的Windows Imaging Interface库(WIMGAPI)中。从Windows Vista开始,Windows Setup使用WAIK API安装Windows。

ImageX最初提供的版本是6.0.4007.0。它与Longhorn Alpha原型一起构建,使Microsoft OEM合作伙伴能够测试映像技术。它首先被包含在Milestone 4的Longhorn项目中,并在后续的Longhorn版本中继续使用。Build 6.0.5384.4相比早期版本有了显著的改进,包括能够以只读和读写方式挂载文件夹、分割成多个映像文件(SWM)、WIM筛选驱动程序以及最新的压缩算法。自Windows Vista的预RC(发布候选版)以来一直在使用。

2. DISM

部署映像服务和管理工具(DISM)于Windows 7和Windows Server 2008 R2中引入,它是一个可用于对在线Windows安装映像(用户当前正在使用的)或存储在文件夹或WIM文件中的离线映像执行维护操作的工具。其功能包括向离线映像添加设备驱动程序、挂载和卸载映像,以及查询离线映像中已安装的设备驱动程序。使用DISM,现在可以使用Windows安装CD或Windows Update修复任何映像。

在Windows Server 2012和Windows 8之前,大部分ImageX的功能已被集成到DISM中,但并非所有功能都被集成;ImageX仍用于映像捕获。但是,随着Windows 8的发布,DISM已弃用ImageX。

3. 其他操作系统的支持

自2012年4月30日起,已提供一个开源库用于处理WIM格式。该库可用于Windows和类Unix平台。该项目使得Linux发行版能够像处理其他块存储提供程序一样挂载和管理WIM映像(读/写)。Linux发行版现在拥有自己的imagex克隆,名为wimlib-imagex。

由于WIM映像使用相当标准的压缩方法,因此可以使用7-Zip等文件存档工具来查看它们。

Windows评估和部署工具包(Windows Assessment and Deployment Kit)仍可用于将.wim映像转换为更常用的ISO映像,以便其他可能不支持此格式的操作系统使用。