[Guide] Integration of drivers into a Win7-11 Image

Can I just say that your screenshots do not enlarge when clicked? Where should my above topic be asked?

It works for me. Just for testing purposes please go >here< and click onto the inserted screenshot.
Does it work for you or not? If it should be the latter, what happens?

>This< MSFN Subforum would be a better location for your project. I just have written a guide about how to integrate or/and remove storage drivers.

Yes that works, but my problem with the screenshots not showing maybe my noscript rules. 1 item is blocked atm.

I’ll try unblocking Miranus.com and smartdirect.de < Fixed it, sorry my fault.

i would like to install Windows 8 on an SSD. but the installer does not recognise the drive. what should i do? add drivers only for boot.wim or install.wim too?

@ViBE :
Before you start creating a customized Win8 Image with integrated NVMe driver, I recommend to test the installation of an original Win10 Image by booting off the related USB Flash Drive in UEFI mode.
I suspect, that you cannot install any Windows OS onto the NVMe SSD, because the BIOS of your laptop doesn’t support booting off an NVMe SSD.
In this case I recommend to have a look into the start post of >this< thread.

Storage drivers have to be integrated into both *.WIM files.

Hi,
I’m newbie here please how can I upload the image to include it in any of my posts?
Thank you in advance.

@vehf277 :
Welcome to the Win-RAID Forum!
Regarding how to insert a picture into your post, please have a look into the start post of >this< thread.
Regards
Dieter (alias Fernando)

@Fernando :
Hi,
Thank you very much for your rapid response and I’m really sorry I’m the newbie:) I used “Quick Replay” feature instead of “Reply” which does not allow to upload the image:) Thank you again and really sorry:)

Hello all!
I have a stupid question: can i (should i) integrate multiple version of intel AHCI driver into Win7 image ?
I built an windowsimage for installing (updating) windows in my enterprice environment on very large variety of MB’s - from p31 up to b250 chipsets. Used boot.wim from Win10, injected updates and drivers for sata, nvme, nic, usb3 into install.wim with dism.
I used 15.8.1.1007 intel driver for installing Win7 onto new MB’s (100-200 chipsets). On old chipsets like b75 and ancient like p31-p41-h61 Win7 does not require drivers, and controller driver can be updated later from Windows.
But i also have some of 80-90 chipsets here, and not yet tried installing my image onto it. Will Win7 run in ahci mode after installing, or there will be problems?

So i think - may be it worth to inject several versions of intel ahci drivers into image - 11.2 for ancients, 14.x for 80-90 chipsets and 15.x for 100-200 chipsets?

Hello,

I have a few questions regarding the slipstream of USB3/NVMe drivers with Windows 7 x64 SP1 ISO.

On some platforms (exclusively Intel with USB3 ports), I sometimes get a bluescreen during setup. I think it is related to Intel USB3/3.1 drivers.
Is that because I have slipstreamed v5.0.4.43 + v1.0.10.255 + v2.5.0.19 + v3.0.0.33 + v17.2.70.3? Are they conflicting each other and should I only slipstream v5.0.4.43?

Should I only slipstream OFA generic NVMe Drivers, or is it OK to slipstream OFA + Samsung NVMe + Microsoft NVMe driver Hotfixes?

Sorry for the noobish questions, but I’m a bit confused.

Thanks in advance!

@mann :
Welcome to the Win-RAID Forum!
It doesn’t make any sense to integrate more than 1 driver for a specific device. The Win7 Setup doesn’t know, which one of them may be the best for a certain target system.
If you want to create an AIO Win7 ISO file, which shall be usable with different Intel chipset models, I recommend to integrate no Intel AHCI driver at all.
Win7 has an in-box generic MS AHCI driver, which supports all possible on-board Intel SATA AHCI Controllers.
Regards
Dieter (alias Fernando)

@SoulRipper :
Welcome to the Win-RAID Forum! I have moved your post into this already existing matching thread.
Here is my comment:

  1. Modded drivers and drivers like the OFA ones, which have not been digitally signed by Microsoft (no WHQL stamp), cannot be successfully integrated into a Win7/8/10 image. Reason: The OS Setup cannot verify, whether the given signature is trustworthy or not).
  2. Only drivers, which natively do support the related OS (here: Win7) and the specific on-board device (here: USB 3.0/3.1 Controller), are accepted by the OS Setup.

Regards
Dieter (alias Fernando)

@Fernando :
Thanks for the welcome and your kind reply.

OK, I understand your first point.
Regarding the second point, do you mean it is not advised to integrate multiple versions / non-specific USB3 drivers?

For example, let’s say I have 2 computers.

Computer A: Intel 8 series chipset running Win7 x64. Corresponding driver: "pure 64bit Intel USB 3.0/3.1 Drivers v5.0.4.43 WHQL for Win7"
Computer B: Intel C216 chipset running Win7 x64. Corresponding driver: "pure 64bit Intel USB 3.0 Drivers v1.0.10.255 WHQL for Win7"

May I integrate both of these drivers into the same ISO, or do I have to make a specific ISO for each computer?

Regards.

@SoulRipper :
Since both Intel USB 3.0 drivers (v1.0.10.255 and v5.0.4.43) do support completely different HardwareIDs, it may work, if you integrate them both.
On the other hand the names of both Intel USB 3.0 drivers are absolutely identical (= iusb3xhc.sys) and may be mixed during the Setup. If I were you,I wouldn’t integrate them both.


Yes, I think that’s what happens. I’ll try with v5.0.4.43 only.

Thanks for the highlight!

@Fernando
@SoulRipper
The problem is - intel USB3 have the same DEV IDs across different generations. So image with only 5.0.0.43 version slipstreamed will crash and bsod on older MB’s like 70 chipsets. This problem has no conventional solution.
But there is @simplix - who developed non-conventional method - https://forum.simplix.ks.ua/viewtopic.php?id=568 - an applicationn slipstreamed into image which run during setup and install correct USB3 driver according to chipset generation.
It also used in unofficial Win7 update pack - https://blog.simplix.info/update7/ - which can be used to update live system or slipstream updates to install.wim image.

@mann :
As far as I understand, the simplix method modifies install.wim, but not boot.wim.
He says (translated): "Integration is intended only for the distribution of the system in install.wim. In order for USB ports to work in the first stage of installation, you need to use boot.wim from Win8 and higher."
Am I missing something?

@SoulRipper
Inded you shoul use boot.wim and setup.exe from Win8, or better Win10.
Here is my install image assembly method (suggestions appreciated!):


1
2
3
4
5
6
7
8
9
10
11
 
r:\temp\drivers
r:\temp\hotfix
r:\temp\hotfix\Windows6.1-KB2550978-x64.msu
r:\temp\hotfix\Windows6.1-KB2990941-v3-x64.msu
r:\temp\hotfix\Windows6.1-KB3087873-v2-x64.msur:\temp\mount
r:\temp\src
r:\temp\win10_boot
r:\temp\win10_boot\boot.wim
r:\temp\win10_boot\setup.exe
r:\temp\winremount
r:\temp\oscdimg.exe
 

3fb17314d6e25c29173c7e373096927f *oscdimg.exe (126 528 bytes)

98e07394d729f7980a67753124e683c7 *boot.wim (331 492 320 bytes)
f7e31dc831f07a445bf4fc900f33fc32 *setup.exe (278 752 bytes, file version 10.0.16299.15 (WinBuild.160101.0800))

76e3d6fe7f5205ee56863569a36ca2ed *Windows6.1-KB2990941-v3-x64.msu - nvme support
afffe9c2cc56fa6565839d9ca44e21db *Windows6.1-KB3087873-v2-x64.msu - some nvme fix
86db9e6a7667acd09c091cce02c23586 *Windows6.1-KB2550978-x64.msu - no need for nvme, need for some iscsi issues

Drivers are for nvme ssds, network and sata:
nic_ath
nic_bcm
nic_int
nic_marv
nic_nvid
nic_rtl
nic_vmw_vmxnet3
nvme_int
nvme_plex_liteon
nvme_sam
nvme_tos_ocz
sata_amd
sata_asm
sata_int
sata_marv6
sata_marv8
sata_marv9
sata_nforce
sata_vmw_pvscsi

Get index numbers and set correct index in all following batch files. No automation here. I use clean official MSDN Win7 Enterprise image.
1
2
3
4
5
6
7
8
9
 
@echo off
dism /Get-WimInfo /WimFile:r:\temp\src\sources\install.wim
echo.
echo.
dism /Get-WimInfo /WimFile:r:\temp\src\sources\boot.wim
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Inject drivers and hotfixes into boot image. This step may be legacy, but, there are some files changed and copied, so i execute this step
1
2
3
4
5
6
7
8
9
10
11
12
13
 
@echo off
echo ---mount boot image and inject hotfix and drivers---
dism /Mount-Wim /WimFile:r:\temp\src\sources\boot.wim /Index:1 /MountDir:r:\temp\mount
dism /Image:r:\temp\mount /Add-Package /PackagePath:r:\temp\hotfix
dism /Image:r:\temp\mount /Add-Driver /Driver:r:\temp\drivers /Recurse
dism /Unmount-Wim /MountDir:r:\temp\mount /Commit
dism /Mount-Wim /WimFile:r:\temp\src\sources\boot.wim /Index:2 /MountDir:r:\temp\mount
dism /Image:r:\temp\mount /Add-Package /PackagePath:r:\temp\hotfix
dism /Image:r:\temp\mount /Add-Driver /Driver:r:\temp\drivers /Recurse
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Now sort r:\temp\mount\sources by date and copy updated files to r:\temp\src\sources

And unmount boot.wim
1
2
3
4
5
6
7
8
 
@echo off
echo files copied ??
pause
dism /Unmount-Wim /MountDir:r:\temp\mount /Commit
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Now inject drivers and hotfixes into install.wim
1
2
3
4
5
6
7
8
9
10
11
12
13
 
@echo off
echo ---mount install image and inject hotfix and drivers---
dism /Mount-Wim /WimFile:r:\temp\src\sources\install.wim /Index:1 /MountDir:r:\temp\mount
dism /Image:r:\temp\mount /Add-Package /PackagePath:r:\temp\hotfix
dism /Image:r:\temp\mount /Add-Driver /Driver:r:\temp\drivers /Recurse
echo.
dism /Mount-Wim /WimFile:r:\temp\mount\windows\system32\recovery\winre.wim /Index:1 /MountDir:r:\temp\winremount
dism /Image:r:\temp\winremount /Add-Package /PackagePath:r:\temp\hotfix
dism /Image:r:\temp\winremount /Add-Driver /Driver:r:\temp\drivers /Recurse
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Set locale and language parameters. I prefer English keyboard as default everywhere, but Russian locale for system
1
2
3
4
5
6
7
8
9
10
11
 
@echo off
Dism /Image:r:\temp\mount /Get-Intl
echo setting locale
Dism /Image:r:\temp\mount /Set-SysLocale:ru-RU
Dism /Image:r:\temp\mount /Set-UserLocale:ru-RU
Dism /Image:r:\temp\mount /Set-InputLocale:0409:00000409;0419:00000419
Dism /Image:r:\temp\mount /Set-TimeZone:"N. Central Asia Standard Time"
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Unmount winre.wim and install.wim
1
2
3
4
5
6
7
8
 
@echo off
echo ---unmount and commit---
dism /Unmount-Wim /MountDir:r:\temp\winremount /Commit
dism /Unmount-Wim /MountDir:r:\temp\mount /Commit
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Inject simplix updates and usb3 into install.wim
Simplix claims that his pack already has nvme support fixes and drivers, but i use my old stable and confirmed method. Not using /nvme key when integrating.
1
2
3
4
5
6
7
8
9
 
@echo off
echo Achtung! Are you ready to inject Simplix Pack?
pause
md r:\unpack_temp
r:\temp\UpdatePack7R2-19.3.15.exe /ie11 /FixOff /Optimize /WimFile=r:\temp\src\sources\install.wim /Index=1 /Temp=r:\unpack_temp
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

Copy boot files from Win 10
1
2
3
4
5
6
7
8
 
@echo off
echo ---copy win10 boot image---
copy /y r:\temp\win10_boot\boot.wim r:\temp\src\sources\boot.wim
copy /y r:\temp\win10_boot\setup.exe r:\temp\src\sources\setup.exe
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

And finally make iso file.
1
2
3
4
5
6
7
8
 
@echo off
echo ---writing ISO image Win7sp1ru-NVME.iso---
echo WARNING! existing file will be overwritten!
oscdimg -LTEST -m -u2 -bootdata:2#p0,e,br:\temp\src\boot\etfsboot.com#pEF,e,br:\temp\src\efi\microsoft\boot\efisys.bin r:\temp\src r:\temp\Win7sp1ru-NVME.iso
echo.
echo -- %0 -- !!_DONE_!!
echo.
echo.
 

oscdimg command line is quite strange, but it is correct - no whitespaces after switches needed. There are several versions of oscdimg with some differences in command line and behaviour.

EDIT by Fernando: Additional "spoiler" added and unneeded blank lines removed (to save space)

@mann :
That’s an interesting method, but is it compulsory to inject drivers into Win10’s boot.wim? Shouldn’t it handle USB3/NVMe out of the box?
Are there any reasons not to use more recent setup.exe/boot.wim (ex. 10.0.18358.1)?

@SoulRipper
I didn’t mentioned - at first - unpack Win7 dvd iso to r:\temp\src.
So 2nd step is about injecting drivers into original boot.wim. It changes some other files in image (try and see). May be it is not mandatory, i saw it in some ancient guide. Original Win7 boot.wim with drivers injected that way is buggy, tryed it on some MB’s with 70-100 chipsets - failed to boot, so it should be replaced with Win10 boot.wim at 8th step. I seldom monitor Win10 releases, it may be worth updating, to get support of newest hardware. This particular build proved itself during 2018 on inetl MB’s with up to 300 series chipsets (tryed p31, p41, h61, b75, h110, b150, b250, x370 with all the generations of intel and asmedia usb3), intel notebooks (sandy, ivy, haswell, skylake) and some old non-ryzen amd MB’s. I rebuild install image every month with recent release of Simplix update pack and drivers for network and mvme.