One of our team accidentally created a fresh image on real hardware. This image worked fine on most models, but failed on a Toshiba Tecra A11. After a long investigation it turned out that the image contained an old Intel network driver that would not work on the Tecra. Even though we had the new driver in our driver store, the Tecra would always choose the driver in the image. Not having a working network driver during OSD is a bit of a problem!
The solution is to use DISM to remove the drivers from the image*.
First of all, make a copy of your image and work on this copy. Once you've done this you need to mount the image. From an administrative command prompt run the following commands-
Once the image has been mounted, run the followingmkdir C:\mountfolder dism /mount-wim /wimfile:yourwimfile.wim /index:1 /mountdir:C:\mountfolder
This should show you all the extra drivers that have been added to your image. The drivers will be listed as oem1.inf, oem2.inf and so on. Here's the sample output from an image I recently had to edit-dism /image:C:\mountfolder /get-drivers
To remove, for example, the Broadcom k57nd60a.inf driver, just run the commandDeployment Image Servicing and Management tool Version: 6.1.7600.16385 Image Version: 6.1.7600.16385 Obtaining list of 3rd party drivers from the driver store... Driver packages listing: Published Name : oem0.inf Original File Name : prnms001.inf Inbox : No Class Name : Printer Provider Name : Microsoft Date : 21/06/2006 Version : 6.1.7600.16385 Published Name : oem1.inf Original File Name : prnms001.inf Inbox : No Class Name : Printer Provider Name : Microsoft Date : 21/06/2006 Version : 6.1.7601.17514 Published Name : oem2.inf Original File Name : sthda.inf Inbox : No Class Name : MEDIA Provider Name : SigmaTel Date : 09/08/2005 Version : 5.10.4647.0 Published Name : oem3.inf Original File Name : sthda64.inf Inbox : No Class Name : MEDIA Provider Name : SigmaTel Date : 09/08/2005 Version : 5.10.4647.0 Published Name : oem4.inf Original File Name : b57nd60a.inf Inbox : No Class Name : Net Provider Name : Broadcom Date : 02/12/2010 Version : 22.214.171.124 Published Name : oem5.inf Original File Name : k57nd60a.inf Inbox : No Class Name : Net Provider Name : Broadcom Date : 02/12/2010 Version : 126.96.36.199 The operation completed successfully.
You should see dism reporting successdism /image:C:\mountfolder /remove-driver /driver:oem5.inf
Once you've removed the drivers you want, unmount the image and commit the changesFound 1 driver package(s) to remove. Removing 1 of 1 - oem5.inf: The driver package was successfully removed. The operation completed successfully.
dism /unmount-wim /mountdir:C:\mountfolder /commit
And that should be that. Create a new OS install package and test your image. Once you're happy you can use that image instead of the original.
*Of course, the real solution is to recreate the image in a VM, but that's not always practical!