Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 How to add Device Drivers during Windows Setup?
#1
Question 
Add Device Drivers to Windows During Windows Setup | Microsoft Learn

Looking to create a Windows answer file (unattend.xml) to go with a Windows 10 install.

How do I get device drivers be available during the windowsPE stage?  I am trying to avoid modifying the Windows 10 .iso and placing the files inside there.

I understand iVentoy provides a HTTP server to serve files which I can get to work when sending PowerShell scripts during the Windows auditUser and auditSystem phases.

The problem I am facing here is that prior to configuring the drive and partitions, there needs to be specific Intel drivers to be installed before formatting and partitioning of the drives can be performed during the Windows install. I figure I am able to use the auto-injection feature of iVentoy to get the files into the X:\ boot drive however how am I able to automatically get these drivers to be installed?

Thanks
Reply
#2
Download WinInjection.zip and DriverIndexer-x64.exe
decompress WinInjection.zip
Rename DriverIndexer-x64.exe to DriverIndexer.exe and put it into WinInjection\x\Windows\system32
Put driver into WinInjection\x\drivers folder
Edit WinInjection\VentoyAutoRun.bat

Code:
@echo off
DriverIndexer.exe load-driver X:\drivers

directory structure is as follows
Quote:X
│  VentoyAutoRun.bat
├─drivers
│  └─netcard
│          xxxx.cat
│          xxxx.inf
│          xxxx.sys
└─Windows
    └─System32
            DriverIndexer.exe
run pack.bak to create windows_injection.7z
Set the injection file to windows_injection.7z
Reply
#3
Hi !
To complete this answer which helped me a lot, it's advised to put drivers in a directory named like "zzz_drivers" when at least one of your drivers directory tree contains a file named like "*setup*.exe".
I met this issue with the IRST driver, the "setupRST.exe" contained in driver's tree was launched instead of the Windows' Setup.exe, makiing install to fail.
A cleaner solution is to delete these "*setup*.exe" from the driver's tree, as we need only the .inf, .sys and .cat files to install the driver.

Please note too that the driver's tree shouldn't be too big in size, the "disk" size of X: is rather limited ...
Reply
#4
So this worked for me, kind of.

I am also using the "autoinstall" plugin, and when I also choose the autoinstall template (which ALSO injects unattend.xml), the setup runs before VentoyAutoRun.bat/DriverLoader.exe have a chance to finish, so the setup reports that the drive cannot be found. If I don't use the autoinstall plugin, by the time I manually get to the screen that shows the available disks, they are present.

Any known way to get around this issue? Isn't there a location where, simply, the drivers need to be placed and will be loaded in advance of the setup without the need for DriverLoader?

(10-13-2023, 09:03 AM)kimi Wrote: Download WinInjection.zip and DriverIndexer-x64.exe
decompress WinInjection.zip
Rename DriverIndexer-x64.exe to DriverIndexer.exe and put it into WinInjection\x\Windows\system32
Put driver into WinInjection\x\drivers folder
Edit WinInjection\VentoyAutoRun.bat

Code:
@echo off
DriverIndexer.exe load-driver X:\drivers

directory structure is as follows
Quote:X
│  VentoyAutoRun.bat
├─drivers
│  └─netcard
│          xxxx.cat
│          xxxx.inf
│          xxxx.sys
└─Windows
    └─System32
            DriverIndexer.exe
run pack.bak to create windows_injection.7z
Set the injection file to windows_injection.7z
Reply
#5
(02-12-2024, 10:05 PM)dimitrirodis Wrote: So this worked for me, kind of.

I am also using the "autoinstall" plugin, and when I also choose the autoinstall template (which ALSO injects unattend.xml), the setup runs before VentoyAutoRun.bat/DriverLoader.exe have a chance to finish, so the setup reports that the drive cannot be found. If I don't use the autoinstall plugin, by the time I manually get to the screen that shows the available disks, they are present.

Any known way to get around this issue? Isn't there a location where, simply, the drivers need to be placed and will be loaded in advance of the setup without the need for DriverLoader?

(10-13-2023, 09:03 AM)kimi Wrote: Download WinInjection.zip and DriverIndexer-x64.exe
decompress WinInjection.zip
Rename DriverIndexer-x64.exe to DriverIndexer.exe and put it into WinInjection\x\Windows\system32
Put driver into WinInjection\x\drivers folder
Edit WinInjection\VentoyAutoRun.bat

Code:
@echo off
DriverIndexer.exe load-driver X:\drivers

directory structure is as follows
Quote:X
│  VentoyAutoRun.bat
├─drivers
│  └─netcard
│          xxxx.cat
│          xxxx.inf
│          xxxx.sys
└─Windows
    └─System32
            DriverIndexer.exe
run pack.bak to create windows_injection.7z
Set the injection file to windows_injection.7z

press Shift+F10 to launch cmd.exe and run dir x:
if VentoyAutoRun.log exist, file inject works
run more x:\VentoyAutoRun.log to check log file
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)