Earlier this week I was asked to help out with an MDT Lite Touch Driver Repository that was missing most of its drivers. After some research it turned out that the drivers.xml had been truncated, something that can happen if multiple admin are working with drivers at the same time (MDT uses a last-writer-wins approach). Here is how you can troubleshoot that:
Importing Drivers to MDT Lite Touch
When importing drivers to MDT Lite Touch, there are two XML files being updated. The DriverGroups.xml file which contains a list of your virtual folder structure inside Out-of-Box Drivers, together with the GUID of each driver that is linked to each folder, and the Drivers.xml file which contains details about each driver.
Here is an example of a DriverGroups.xml file with a single folder (Windows 10 x64 22H2\HP ZBook Firefly 14 G7 Mobile Workstation) having a few drivers in it.
<group guid="{dc62b51a-5e1d-4c17-a2dd-a1ec41a4d3e4}" enable="True">
<Name>Windows 10 x64 22H2\HP ZBook Firefly 14 G7 Mobile Workstation</Name>
<Comments></Comments>
<CreatedTime>2/26/2023 6:14:54 AM</CreatedTime>
<CreatedBy>ROGUE-512\Administrator</CreatedBy>
<LastModifiedTime>2/26/2023 6:19:07 AM</LastModifiedTime>
<LastModifiedBy>ROGUE-512\Administrator</LastModifiedBy>
<Member>{b078d747-b5db-4001-a635-9bd80873894d}</Member>
<Member>{749ff0d6-dca2-4a6b-a94e-370905fdfd40}</Member>
<Member>{29bc1c4f-b185-4f69-bdad-fc5b8df29914}</Member>
<Member>{d57a0415-f9b3-47b9-871a-5b99d8f134d5}</Member>
<Member>{764b0654-edb8-4da0-927c-b669e1a6eccc}</Member>
<Member>{b2fe3a04-22bc-46db-b897-b3d2f368e7c9}</Member>
<Member>{e5c35597-e318-4c67-b54d-4169e1c6bb6d}</Member>
<Member>{652ce022-bee1-4d31-86e0-f6b9a5641c57}</Member>
<Member>{21cfea77-f7b5-4316-af40-fdc98c8db296}</Member>
<Member>{041e0755-1e23-45f9-b3fd-f5db0c6c2e13}</Member>
<Member>{25033f5b-0a37-4816-beb3-5b9066c58095}</Member>
</group>

If we take a look at the corresponding Drivers.xml file, you find the following info for one of the drivers. Please note the 749ff0d6-dca2-4a6b-a94e-370905fdfd40 guid that is also showing in the DriverGroups.xml file.
<driver guid="{749ff0d6-dca2-4a6b-a94e-370905fdfd40}" enable="True">
<Name>Intel Corporation Extension HdBusExt.inf 27.20.100.8853</Name>
<CreatedTime>2/26/2023 6:16:45 AM</CreatedTime>
<CreatedBy>ROGUE-512\Administrator</CreatedBy>
<LastModifiedTime>2/26/2023 6:16:45 AM</LastModifiedTime>
<LastModifiedBy>ROGUE-512\Administrator</LastModifiedBy>
<Manufacturer>Intel Corporation</Manufacturer>
<Version>27.20.100.8853</Version>
<Date>10/14/2020</Date>
<Source>.\Out-of-box Drivers\SoftwareComponent\cui_dch_27.20.100.8853_3246FC52CEAE4B6C3A2F7F64ABC3DFBBB8B495ABE4415326C6769AFAF26592D3\HdBusExt.inf</Source>
<Class>Extension</Class>
<Hash>3246FC52CEAE4B6C3A2F7F64ABC3DFBBB8B495ABE4415326C6769AFAF26592D3</Hash>
<WHQLSigned>True</WHQLSigned>
<Platform>x64</Platform>
<OSVersion>10.0...17704</OSVersion>
<OSVersion>10.0...18362</OSVersion>
<PNPId>PCI\VEN_8086&DEV_9D71</PNPId>
<PNPId>PCI\VEN_8086&DEV_A171</PNPId>
<PNPId>PCI\VEN_8086&DEV_A2F0</PNPId>
<PNPId>PCI\VEN_8086&DEV_9DC8</PNPId>
<PNPId>PCI\VEN_8086&DEV_A348</PNPId>
<PNPId>PCI\VEN_8086&DEV_A0C8</PNPId>
<PNPId>PCI\VEN_8086&DEV_43C8</PNPId>
<PNPId>PCI\VEN_8086&DEV_98C8</PNPId>
</driver>

Using PowerShell to Troubleshoot
If you want to make sure the DriverGroups.xml file is matching the Drivers.xml file, you can use some basic XML parsing in PowerShell. Here are some examplesÖ
# Using PowerShell to Parse XML Attributes with Select-Xml
$Drivers = "C:\DeploymentShare\Control\Drivers.xml"
Select-Xml -Path $Drivers -XPath '/drivers/driver' | ForEach-Object { $_.Node.guid }
(Select-Xml -Path $Drivers -XPath '/drivers/driver' | ForEach-Object { $_.Node.guid }).count
# Using PowerShell to Parse XML Attributes with Select-Xml
$DriverGroups = "C:\DeploymentShare\Control\DriverGroups.xml"
Select-Xml -Path $DriverGroups -XPath '/groups/group/Member' | ForEach-Object { $_.Node.InnerXML }
(Select-Xml -Path $DriverGroups -XPath '/groups/group/Member' | ForEach-Object { $_.Node.InnerXML }).count
Restoring from Backup
If the XML files for drivers gets in a mismatch, simply restore the from your backup. In the very event you don't have a daily backup of your deployment share (which you should have), please note that you may be lucky and find a working copy of your drivers*xml files in the <DeploymentShare>\Backup\Automatic folder.

I came across this article when trying to figure this scenario out regarding drivers….
We currently have 12 different hardware models and have a great layout that detects model and injects drivers.
But the issue here is that the offline media we create is north of 40GB.
I'm wondering if before we stick the usb drive can we grab the drivers we want for a model and dump them in the out of box driver folder?
Will this method work? It seems from this article it would not?
If not, any recommendations you have for me?
Thank you in advance.
You can use different selection profiles and generate media that only contain a subset of the models. Another option is to create Zip or WIM files of the drivers, and change how MDT injects them. Fairly easy to do.
I see two solutions you pointed out.
First one would be possible maybe doing a offline media for HP models and one for Dell models since we only have 2 manufacturers.
The second one is intriguing and have not tried a zip or wim file method.
Can you elaborate on that or point me in the right direction?
Thank you Johan
For the PSD project (extension to MDT), we switched drivers to be archives (WIM or Zip) to reduce size and speedup download. You can borrow that logic, but you would have to adopt the script for regular MDT: https://github.com/FriendsOfMDT/PSD/blob/master/Scripts/PSDDrivers.ps1
I've done similar for SCCM OSD too, that can also be adapted to regular MDT. Here is a link: https://www.deploymentresearch.com/speed-up-driver-package-downloads-for-configmgr-osd/
I know this is an old article, but I recently have been trying to see if I can take a "working" copy of the drivers.xml, drivergroups.xml and manually copy them into an existing Control folder, then also copy all the drivers from a "working" Out-Of-Box Drivers folder to an existing Out-Of-Box Drivers folder. This is to say from an existing Offline Media share to a different Offline Media share. Since these "source files" are all coming from the same Offline Media share, the internals of the files should all match. However, when I try to image a device with it,… Read more »
As long as the Source property in the driver.xml matches a correct location, then yes, you can copy the drivers.xml and DriverGroups.xml files. Usually, when working with media, you select a subset of drivers. To avoid issues with paths, it's easier to import the drivers in the workbench. You can also use the MDT PowerShell module to import drivers if you don't want to use the GUI.