As I learn more about the built-in Windows command line tool for Deployment Image Servicing and Management, aka DISM, I’m always amazed at its many capabilities. As anybody who’s upgraded Windows installations knows, Windows sometimes fails to produce the right device drivers during that process. As it happens, DISM can help with that. You can use the utility to export all of the current drivers to a folder on another storage device before performing the upgrade, then return to that folder once the upgrade is done to recover drivers that Windows may not have been able to supply on its own. Experts recommend using a USB flash drive for this purpose, but any Windows-compatible storage device will do. When DISM exports drivers it references their OEMnn.inf files as stored in the Windows DriverStore folder though, so you may also want to use a tool like DriverStore Explorer (RAPR.exe) to map those arbitrary names to specific devices and the drivers that go with them.
Syntax Details When DISM Exports Drivers
Here’s the syntax for performing this action:
dism /online /export-driver /destination:R:\DriversW10.1511.218
Let me explain a little more about what’s going on when DISM exports drivers, in list form:
- The /online switch tells DISM to work from the windows image that’s currently running
- The /export-driver switch tells it to grab the contents of the DriverStore folder in Windows. Its complete path is C:\Windows\System32\DriverStore.
- The /destination switch tells DISM where to write the drivers it finds in DriverStore. Note that the R: identifies the drive to which I wrote those files for this example on my PC. You’ll need to change it to target your chosen destination instead. Note further that the folder into which the drivers get written — DriversW10.1511.218 identifies Windows 10, Version 1511, Build 218 — must exist for DISM to do its thing. That means you must create it yourself in advance before running this command.
- Don’t forget to launch DISM from an administrative prompt (“Run as administrator”). Otherwise, it won’t work.
- You might also run RAPR to produce a list of all the OEMnn.inf files in DriverStore, and the devices to which they correspond. Take a screenshot to preserve that mapping for later reference. Stick it in the same destination directory for easy access later on.
I got a screencap of this from my production desktop to illustrate the output from running this command:
Apparently, I’ve got 25 drivers on my production PC that come from a source other than Microsoft.
Quick inspection of that output shows why I like to grab and save a RAPR listing of the same stuff (it tells you where to go looking for stuff in Device Manager to figure out which drivers to grab following an upgrade):
The Oemnn.inf names make more sense when you can map them to Driver Provider and Class information.