Please notice that generalizing will also remove all hardware related information, registry entries and device drivers. Generalizing is mainly designed for preparing a Windows image to be hardware independent to allow deployment to different hardware setups. When OOBE boot is run after generalizing, Windows will go through hardware and install new default drivers.
If keeping hardware drivers and registry entries is important, you need to use a so called answer file
with Sysprep command, setting component PersistAllDeviceInstalls
value to TRUE
. Save this example answer file to C:\Windows\System32\Sysprep
folder as unattend.xml
<?xml version="1.0" encoding="utf-8"?>
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Change value of processorArchitecture
if running Sysprep on a 32 bit Windows installation.
Now when you run Sysprep the unattend.xml file will be read for instructions, in this case those instructions tell Sysprep to keep hardware information and drivers.