Add and Remove Driver packages to an offline Windows Image
Tip
This topic covers how to add driver packages into mounted images for deployment.
- To learn how to add a driver package on a running Windows PC, see Add a driver online in audit mode or Install a plug and play device.
- To learn how to add a driver package to a PC running Windows PE, see Drvload command line options.
You can use DISM to install or remove driver packages in an offline Windows or Windows PE image. You can either add or remove the driver packages directly by using the command prompt, or apply an unattended answer file to a mounted .wim, .ffu, .vhd, or .vhdx file.
When you use DISM to install a driver package to an offline image, the driver package is added to the driver store. When the image boots, Plug and Play (PnP) runs and associates the driver packages in the store to the corresponding devices on the computer.
Note
To add driver packages to an offline image, you must use a technician computer running Windows 10 or later, Windows Server 2016 or later, or Windows PE for Windows 10 or later. Driver signature verification may fail when you add a driver to an offline image from a technician computer running any other operating system.
Add driver packages to an offline Windows image
You can add driver packages to an offline image.
Tip
If you're adding driver packages to a Windows PE image, you can add them to the Windows PE image in the output folder you specified when you ran copype, for example: C:\WinPE_amd64\media\sources\boot.wim
. This ensures that driver packages will be included in Windows PE each time you build Windows PE media from that folder.
Mount a Windows image. For example:
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /MountDir:C:\test\offline
See Mount and modify a Windows image using DISM for more info.
Add a driver package to the image.
Use DISM with the
/Add-Driver
option to add driver packages to your mounted image:To install a single driver package- Specify the driver file:
Dism /Image:C:\test\offline /Add-Driver /Driver:C:\drivers\mydriver.inf
To install all of the driver packages from a folder- Point to a folder that contains driver packages. To include all of the folder's subfolders, use the `/Recurse option:
Dism /Image:C:\test\offline /Add-Driver /Driver:c:\drivers /Recurse
Caution
Using
/Recurse
can be handy, but it's easy to bloat your image with it. Some driver packages include multiple .inf driver packages, which often share payload files from the same folder. During installation, each .inf driver package is expanded into a separate folder. Each individual folder has a copy of the payload files.To see all DISM driver servicing command line options, see DISM driver servicing command-line options.
To install an unsigned driver- Use
/ForceUnsigned
to override the requirement that driver packages installed on X64-based computers must have a digital signature.Dism /Image:C:\test\offline /Add-Driver /Driver:C:\drivers\mydriver.inf /ForceUnsigned
Check to see if the driver package was added. Driver packages added to the Windows image are named Oem*.inf. This guarantees unique naming for newly added driver packages. For example, the files MyDriver1.inf and MyDriver2.inf are renamed Oem0.inf and Oem1.inf.
Dism /Image:C:\test\offline /Get-Drivers
Commit the changes and unmount the image.
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
Remove driver packagess from an offline Windows image
At an elevated command prompt on a technician PC, mount the offline Windows image:
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /Name:"Windows Home" /MountDir:C:\test\offline
Remove a specific driver package from the image. Multiple driver packages can also be removed on one command line.
Dism /Image:C:\test\offline /Remove-Driver /Driver:OEM1.inf /Driver:OEM2.inf
Warning
Removing a driver package that a system needs to boot can make the Windows image unbootable. For more information, see DISM Driver Servicing Command-Line Options.
Commit the changes and unmount the image.
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
Add driver packages to an offline Windows image by using an unattended answer file
Gather the driver packages that you intend to install on the Windows image.
Note
All driver packages in the directory and subdirectories that are referenced in the answer file are added to the image. You should manage the answer file and these directories carefully to address concerns about increasing the size of the image with unnecessary driver packages.
Use Windows System Image Manager (Windows SIM) to create an answer file that contains the paths to the driver packages you want to install.
- Add the
Microsoft-Windows-PnpCustomizationsNonWinPE\DriverPaths\PathAndCredentials\Credentials
component to your answer file in the offlineServicing configuration pass.
Note
If you need driver packages for Windows PE to see the local hard disk drive or a network, you must use the windowsPE configuration pass of an answer file to add driver packages to the Windows PE driver store. For more information, see Add Device Driver packages to Windows During Windows Setup.
- For each location that you intend to access, add a separate PathAndCredentials list item by right-clicking on DriverPaths in the Answer File pane and clicking Insert New PathAndCredentials.
See Configure components and settings in an answer file for information on how to modify an answer file.
- Add the
For each path in
Microsoft-Windows-PnpCustomizationsNonWinPE
, specify the path to the driver package and the credentials that are used to access the file, if the file is on a network share.Note
When you include multiple DriverPaths by adding multiple PathAndCredentials list items, you must increment the value of Key for each path. For example, you can add two separate driver paths where the value of Key for the first path is equal to 1 and the value of Key for the second path is equal to 2.
Save the answer file and exit Windows SIM. The answer file must resemble the following sample.
<?xml version="1.0" ?><unattend xmlns="urn:schemas-microsoft-com:asm.v3" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <settings pass="offlineServicing"> <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:keyValue="1"> <Path>\\networkshare\share\drivers</Path> <Credentials> <Domain>Fabrikam</Domain> <Username>MyUserName</Username> <Password>MyPassword</Password> </Credentials> </PathAndCredentials> </DriverPaths> </component> </settings> </unattend>
Mount the Windows image that you intend to install the driver packages to by using DISM:
Dism /Mount-Image /ImageFile:C:\test\images\install.wim /Index:1 /MountDir:C:\test\offline
Note
If you're working with a VHD or FFU, specify
/Index:1
.Apply the answer file to the mounted Windows image:
DISM /Image:C:\test\offline /Apply-Unattend:C:\test\answerfiles\myunattend.xml
For more information about how to apply an answer file, see DISM Unattended Servicing Command-Line Options.
The driver packages referenced in the path in the answer file are added to the Windows image.
Check to see if the driver package was added. Driver packages added to the Windows image are named
Oem<#>.inf
. This guarantees unique naming for newly added driver packages. For example, the files MyDriver1.inf and MyDriver2.inf are renamed Oem0.inf and Oem1.inf.For example, type:
Dism /Image:C:\test\offline /Get-Drivers
Unmount the .wim file and commit the changes. For example, type:
Dism /Unmount-Image /MountDir:C:\test\offline /Commit
Related topics
Device Drivers and Deployment Overview
Add Device Drivers to Windows During Windows Setup
DISM - Deployment Image Servicing and Management Technical Reference for Windows