当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

作者:精品下载站 日期:2024-12-14 23:33:12 浏览:15 分类:玩电脑

如何向 Windows WIM/ISO 安装映像添加/删除驱动程序


如果将所有必需的驱动程序添加到 Windows 安装映像的驱动器存储中,则可以简化典型工作站(服务器)上操作系统的部署。在这种情况下,安装 Windows 后,您不必在每台计算机上手动下载并安装特定驱动程序(包括 AHCI/RAID/NVMe)。

在本文中,我们将向您展示如何将设备驱动程序直接集成到 Windows 10 离线安装映像中(它可以是 ISO/WIM 文件或带有操作系统模板的 VHD/VHDX 文件)。该说明适用于所有受支持的 Windows 11、10、8.1 版本以及 Windows Server 2022、2019、2016 和 2012 R2。

在当前的 Windows 版本中,您可以通过两种方式将驱动程序添加到安装 ISO 映像:

  • 使用DISM工具;

  • 使用 PowerShell CLI

注意。在 Windows Server 2008 R2 和 Windows 7 中,可以使用 imagex 命令行工具(包含在 WAIK 中)将驱动程序添加到 Windows 安装映像,但 Windows Server 2012 及更高版本不支持此操作。

使用 PowerShell 将驱动程序注入 Windows 安装映像

下载所有必需的设备驱动程序并将其复制到一个目录中(您需要为每个驱动程序创建一个单独的文件夹)。请注意,许多供应商(包括戴尔、惠普、联想等)以自解压 exe 或 zip 存档文件的形式提供驱动程序。必须将此类存档解压到本地磁盘,以便 inf、cat 和 sys 文件位于驱动程序所在的目录中。

开始之前,请在本地驱动器上创建以下目录结构:

  • Drivers 文件夹 - 它包含您计算机的解压驱动程序文件(应该集成到 Windows 10 安装介质中);

    您可以使用 Export-WindowsDriver cmdlet 手动下载并提取必要的驱动程序文件,或从已安装所有必要驱动程序的参考 Windows 10 计算机导出所有第三方驱动程序。

  • ISO 文件夹 - 此目录包含提取的 Windows 10 ISO 映像。您只需要 Sources 目录中的 install.wim 文件;

  • Mount 文件夹 - 将安装 Windows 安装 WIM 映像的空目录。

    [玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

使用 Get-WindowsImage PowerShell cmdlet 列出 install.wim 文件中包含的所有 Windows 版本。这将使您能够获得计划集成其他驱动程序的 Windows 版本的索引。

Get-WindowsImage -ImagePath C:\WinWork\ISO\install.wim

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

在我们的示例中,WIM 文件仅包含一个索引为 1 (ImageIndex: 1) 的 Windows 10 专业版。

如果您的 Windows 10 ISO 映像仅包含文件 …\sources\install.esd,您可以使用 DISM 工具将 ESD 文件转换为 WIM 格式:

DISM /export-image /SourceImageFile:"C:\WinWork\ISO\install.esd" /SourceIndex:4 /DestinationImageFile:C:\WinWork\ISO\install.wim /Compress:max /CheckIntegrity

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

接下来,您需要将所选Windows版本的映像挂载到Mount目录中。作为 Index 参数的参数,指定要安装的 Windows 映像的索引:

Mount-WindowsImage -Path C:\WinWork\Mount\ -ImagePath C:\WinWork\ISO\install.wim -Index 1

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

挂载映像后,您可以使用以下命令从 Drivers 目录向其添加驱动程序:

Add-WindowsDriver -Path C:\WinWork\Mount\ -Driver C:\WinWork\Drivers -Recurse

Add-WindowsDriver cmdlet 将递归扫描(-Recurse 参数)指定文件夹中包含驱动程序描述的所有 *.inf 文件。根据 inf 文件中的描述,cmdlet 会将依赖的 INF、DLL、CAT、PNF 等文件添加到 Windows 映像的脱机驱动程序存储中。

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

使用-ForceUnsigned键,您可以将未签名的驱动程序添加到驱动程序存储中。否则,您将必须禁用数字签名强制执行或使用自签名证书对设备驱动程序进行签名。

复制驱动程序文件后,提交更改并卸载 WIM 映像。

Dismount-WindowsImage -Path C:\WinWork\Mount\ -Save

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

在此示例中,我们已将驱动程序添加到 install.wim 映像文件中。这是将部署到计算机本地驱动器的 Windows 映像。如果需要将驱动程序添加到 Windows 启动映像(用于启动计算机并运行 Windows 安装程序的 WinPE 环境),则需要将驱动程序添加到 Boot.wim 文件中。如果 Windows 安装程序未检测到本地硬盘驱动器、视频或网络适配器,通常需要执行此操作。通常,仅将磁盘控制器或网络适配器的驱动程序添加到 boot.wim 映像就足够了。

以同样的方式,您可以将驱动程序添加到 Windows 恢复环境 (winre.wim) 映像。

您可以使用 DISM 压缩选项将包含带有集成驱动程序的 Windows 安装映像的 install.wim 文件转换为 install.esd 格式:

DISM /Export-Image /SourceImageFile:C:\WinWork\ISO\install.wim /SourceIndex:1 /DestinationImageFile:C:\WinWork\ISO\install.esd /Compress:recovery

仍然需要使用 Dism++ 或 oscdimg 工具创建 ISO 文件并将其写入磁盘或 USB 闪存驱动器:

oscdimg -n -m -bc:\WinWork\ISO\boot\etfsboot.com C:\WinWork\ISO C:\new_win10pro_image.iso

此命令将创建一个 ISO 映像,以便在具有 BIOS 固件或 UEFI 传统模式(CSM/兼容支持模式)的计算机上安装。

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

要生成同时支持 UEFI 和 BIOS 的通用 ISO 映像,请使用以下命令:

oscdimg.exe -h -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:\winwork\iso\boot\etfsboot.com#pEF,e,bc:\winwork\iso\efi\microsoft\boot\efisys.bin -lWin10 c:\iso c:\new10image.iso

要将 ISO 映像文件刻录到 USB 闪存驱动器,最简单的方法是使用 Rufus 实用程序。

oscdimg 工具是Windows ADK(评估和开发工具包)的一部分。下载并安装适合您的 Windows 版本的 ADK,然后选择安装部署工具

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

现在,您可以使用自定义映像从本地启动设备(USB 磁盘或闪存驱动器)在计算机上部署 Windows,或通过网络安装 Windows(使用 PXE 启动)。

Windows 7 和 Windows Server 2008 R2 中没有 Add-WindowsDriver cmdlet。它仅出现在 Windows 8/Windows Server 2012 及更高版本中。因此,使用 DISM 将驱动程序集成到 Win7/2008 R2 的映像中(请参阅下面的示例或文章将 USB 3.0/NVME 驱动程序添加到 Windows 映像)。

使用 DISM 将驱动程序添加到脱机 Windows Server 映像

现在我们将展示将驱动程序添加到 Windows Server 2022 安装映像中的示例。

使用相同的目录结构:Drivers(驱动程序和 *.inf 文件存储在此处)、ISO(Windows Server 202 的解压映像)、Mount(映像挂载目录)。所有图像修改操作均在 Windows 10 台式计算机上执行。

列出 WIM 文件中的版本:

Dism /Get-ImageInfo /imagefile:"C:\iso\sources\install.wim"

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

了解有关使用 DISM 从 ISO 或 WIM 映像文件查找 Windows 版本、内部版本和版本的详细信息。

在此示例中,我将使用 Index:2 将驱动程序注入到 Windows Server 2022 Standard(桌面体验)映像中。

挂载 install.wim 安装映像:

dism /Mount-Wim /WimFile:c:\iso\sources\install.wim /Index:2 /MountDir:c:\mount

现在(递归地)搜索驱动程序并将新驱动程序添加到 Windows Server 2022 映像的驱动程序存储中:

dism /image:c:\mount /Add-Driver "/driver:c:\drivers\" /recurse

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

对于每个成功添加的驱动程序,您将看到以下消息:

driver.inf: The driver package was successfully installed.

保存对 WIM 映像的更改:

dism /unmount-wim /mountdir:d:\mount /commit

您可能还需要将网络适配器和磁盘控制器的驱动程序添加到启动映像文件 boot.wim 中。

如果要将驱动程序添加到安装映像中包含的所有 Windows Server 版本,则必须对 install.wim 文件中的所有索引执行这些步骤。

除了驱动程序集成之外,它还可以向 Windows 安装映像注入安全更新。这将在安装后立即提高操作系统的安全性。剩下的工作是将您的自定义安装映像写入启动盘或 USB 闪存驱动器或将其转换为 ISO 映像文件。

从 Windows 映像中删除驱动程序包

在某些情况下,您可能需要从 Windows WIM 安装映像中删除驱动程序(删除旧的/不正确的驱动程序,或减小 ISO 映像的大小时)。

为此,请将脱机 WIM 映像装载到本地文件夹:

Mount-WindowsImage -Path C:\Mount\ -ImagePath C:\iso\sources\install.wim -Index 2

列出脱机 Windows 映像中的第三方驱动程序:

Get-WindowsDriver -Path "c:\Mount"

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

要删除特定驱动程序,您需要指定其 inf 文件名 (oem.inf):

Remove-WindowsDriver -Path "c:\offline" -Driver "OEM0.inf"

[玩转系统] 如何向 Windows WIM/ISO 安装映像添加/删除驱动程序

您可以从映像中删除特定供应商驱动程序。在此示例中,我们将删除所有 Intel 驱动程序:

$drivers = get-windowsdriver -path C:\mount
$drivers | where-object {$_."ProviderName" -eq 'Intel' }  | Remove-WindowsDriver -Path C:\Mount

提交对 WIM 映像文件的更改:

Dismount-WindowsImage -Path C:\Mount -save

请注意,随着时间的推移,驱动程序存储文件夹 (

%WINDIR%\System32\DriverStore\FileRepository

)可能会显着增长,因此您需要定期从驱动程序存储中删除旧驱动程序。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯