Windows 10 2009 no longer applies custom drivers after Sysprep ran once

Maximilian Schulz 6 Reputation points
2020-11-20T15:28:18.887+00:00

Hello, as part of my IT job I build Windows images for my OEM's customer PCs. Up until Windows 10 2004 it was possible to load a base image from Microsoft onto a machine, boot into Audit mode and customize the system, then generalize the image and capture it. I would add custom hardware drivers for our PCs after the capture using DISM offline. This way, I could have one image for all PCs and only the necessary drivers would be added per machine type. On the next boot, the image would activate the new drivers and Device Manager would show all devices as running. However, in Windows 10 2009 this is no longer possible. After being sysprepped once without drivers present, the OS refuses to automatically load the newly integrated drivers and Device Manager shows all devices as either unknown or with error code 10. Manually searching for drivers from Device Manager then finds the drivers from the image and activates them. So I wonder if this is a bug/side-effect from changes made to Windows 2009. It also happens if I don't generalize or if I go to OOBE instead of audit mode. What matters is that sysprep runs at all, and this causes the bug. My only recourse now is to preinstall the drivers before booting the base image, then customize it with the drivers already in place. This is okay for now but it means more work down the line as we have several different PC systems in our lineup and the images need to be updated regularly. Any feedback on this is appreciated. Regards - Max

Windows 10 Setup
Windows 10 Setup
Windows 10: A Microsoft operating system that runs on personal computers and tablets.Setup: The procedures involved in preparing a software program or application to operate within a computer or mobile device.
1,943 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Teemo Tang 11,411 Reputation points
    2020-11-23T03:02:47.947+00:00

    You could feedback this situation to Microsoft via Feedback Hun app.
    But I think it is not a bug but a new demand, after all, pre-install drivers is an original process for customize image, if you want to Add Device Drivers to Windows During Windows Setup, you may need an answer file to make it.
    https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-device-drivers-to-windows-during-windows-setup

    -------------------------------------------------------------------------------------

    If the Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    1 person found this answer helpful.

  2. Maximilian Schulz 6 Reputation points
    2020-11-24T13:06:00.577+00:00

    Adding to my initial post, I think the issue is related to this change in Windows: https://www.bleepingcomputer.com/news/microsoft/microsoft-driver-update-change-may-break-windows-10-plug-and-play/

    The article at https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-and-remove-drivers-to-an-offline-windows-image (from 2018) states:

    "When you use DISM to install a device driver to an offline image, the device driver is added to the driver store in the offline image. When the image is booted, Plug and Play (PnP) runs and associates the drivers in the store to the corresponding devices on the computer."

    The article Iinked further up says that Plug and Play may no longer assign drivers to new hardware like it used to in the past. However, it also says that this is dictated by how each driver is programmed -- "automatic" drivers will apparently still be installed when new hardware is discovered by Windows, but "manual" drivers will not. I think that the drivers I have (which includes Intel/Nvidia graphics, Intel WiFi/BT, and chipset drivers) are "manual" and that's why Windows 10 2009 skips them if the machine was sysprepped/generalized once.

    The drivers are in fact activated on the very first boot of the 2009 image (assuming I had integrated the drivers with DISM). Only after that process, if I add new drivers offline via DISM and re-deploy the image, PnP doesn't activate them.

    I'm not sure that the answer given by TeemoTang will fix this but I will try anyway.

    1 person found this answer helpful.

  3. Maximilian Schulz 6 Reputation points
    2020-11-25T12:41:23.213+00:00

    Unfortunately the suggestion didn't work. When adding drivers via an answer file (in the "offlineServicing" pass), nothing is added by DISM (it just says "command completed successfully") and the drivers are also not added at boot time. I've read that the "offlineServicing" pass is actually meant to add drivers during Windows Setup, which is not what I'm running through when I boot my image (I run through OOBE or audit mode). So this simply isn't working.

    I ended up solving the problem by using the command "pnputil" to copy drivers from a network share and adding them online after booting the prepared image. This way, the drivers are added to the DriverStore and activated in Device Manager. It takes an extra step and will require me to maintain a driver repository on my server, but that also has advantages, so I'm running with it.

    Still, to reiterate: before version 2009, Windows would totally activate new drivers on the next boot after adding them offline with DISM. Windows 2009 does not do this anymore. I would hope Microsoft recognize this as an issue for deployment and fix it.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.