after deploying image - no network driver
-
hi all,
on some machines (mainly hp z workstations) after i deploy a syspreped image of windows 10, i need to install the built in intel driver, this is weird as i can pxe boot into the fog server to deploy the image
i get around installing the intel driver by a usb ethernet adpater as that doesnt require any drivers
thanks,
rob -
@robertkwild You kind of have two different OS’ and 3 different environments here.
The PXE booting bit of FOG is all linux, which if you are using the latest 5.15.x kernel has all of the common drivers built in to the OS.
After sysprep but before the first reboot the target computer is running WinPE. WinPE has its own driver requirements. After the first reboot Windows is running in native mode and has its own driver requirements.
So you can either preload the drivers into your golden image before you sysprep it or configure a post install script to drop the drivers onto the target computer after the image has been pushed.
-
@george1421 how do i configure a post install script @george1421
sorry for the delay, i wasnt notified of your reply, my bad
-
-
@robertkwild Yes. That is the basis of the script. I know it says 2017 but the info is still on point and works.
-
@george1421 when you say this
So you can either preload the drivers into your golden image before you sysprep it
do you mean download and copy the drivers somewhere on the c drive before i sysprep?
-
@robertkwild said in after deploying image - no network driver:
do you mean download and copy the drivers somewhere on the c drive before i sysprep?
You can either download and install them or download them and leave them behind on the target computer to install during OOBE. Depending on the number of different models you need to support adding all of the possible drivers to the computer will take time during cloning since its moving a bunch of extra drivers it will not need.
Or use the post install script to copy over only the specific hardware drivers needed. Then add the command to setupcomplete.cmd to install them during OOBE.
-
@george1421 so reading from this
i miss this out as i dont to unnatended installs
fog.updateunattend
i think i dont anyway?
when you say
Unattend.xml
For WIN10 you must update the unattend.xml file to include this section. This is an example for the amd64 arch.
where is the unattended.xml ?
-
@robertkwild If you don’t use the unattend.xml file to answer all of the questions the WinSetup/OOBE uses during install you can ignore that section. That is why I wrote it kind of modular. Use what you need ignore the rest.
-
@george1421 atm i dont do an unattended xml file as i havnt got a volume license for windows 10, atm when i run sysprep, i do
sysprep /oobe /generalize /shutdown
so do i miss the sections
fog.updateunattend and
Unattend.xmli imagine i do?
where do i put the .inf driver for my network card then, do i put it here
/images
├─/drivers
├─z2
├─win10
└─x64obviously i will get the right folder names
-
@robertkwild Yes you skip the unattend section. You can just comment the line out or remove it completely.
where do i put the .inf driver for my network card then,
under the x64 directory. On the dell CAB files, under the x64 is a folder with the name of each driver and the driver inf and other files are under that folder. -
@george1421
images
├─/drivers
├─z2
├─win10
└─x64So under the x64 folder do I put the inf files straight in there
do I do this as well after I drop the inf files
pnputil.exe /add-driver “C:\Drivers*.inf” /subdirs /install
-
@robertkwild OK what I want you to do is this.
-
Download the following dell driver cab file: https://www.dell.com/support/kbdoc/en-us/000122156/latitude-7204-windows-10-driver-pack (I picked this one because its about 320MB, not really huge).
-
Use 7-zip to open the cab file to inspect its structure. That is the structure you need to recreate. In reality the script will copy everything below the x64 directory to the target computer. So as long as your drivers are below the x64 directory it will be copied to the target computer. But I recommend that you keep the dell cab file directory structure.
FWIW: The dell driver cab site is here (I realize you are using different vendor hardware): https://www.dell.com/support/kbdoc/en-us/000124139/dell-command-deploy-driver-packs-for-enterprise-client-os-deployment
-
-
@george1421 thanks you george, i will try this tomrrow as i have a pc that needs doing so this is a good test
so the windows driver packs are different from the winPE drivers?
-
@robertkwild said in after deploying image - no network driver:
windows driver packs are different from the winPE drivers
Yes they are.
WinPE drivers are used during OOBE before the first reboot. This is when the winpe environment is running. After the first reboot the full windows OS is running each having their own driver space.
For me when I build the golden image, I will preload the winpe drivers into the system. Then sysprep and capture the image. So when the image is first deploy to a target computer it has the drivers needed for disk and network to get started, the rest will come with the full driver pack later.
-
@george1421 so basically instead of syspreping a standard windows OS, you sysprep a winPE ?
heres the structure i got from extracting that CAB file
7204-WIN10-A05-CJ9XY\7204\Win10\x64
do i need to create a folder called
7204-WIN10-A05-CJ9XY or will 7204 do?
and you say i get the model info from the web GUI when it does an inventory of the system
-
@robertkwild said in after deploying image - no network driver:
basically instead of syspreping a standard windows OS, you sysprep a winPE ?
I’m sysprepping a full system that has the windows pe drivers preloaded. This step may not be necessary now days since windows 10 does a good job of having the common hardware drivers on board.
7204-WIN10-A05-CJ9XY\7204\Win10\x64
This is the dell part you can discard: 7204-WIN10-A05-CJ9XY
This part is the bit you need: 7204\Win10\x64Now below the x64 directory in the dell cab you will see a bunch of directories with maybe dell part codes or what ever, those are the drivers.
That 7204\Win10\x64 directory will be copied in full to the target computer in c:\drivers directory. I should point out the parent driver directory
7204
is actually the model number of the computer that is built into SMBIOS. You may have to take a target computer and put it into debug mode to pull the smbios name. On dells the parent driver directory (i.e.7204
) is the model number queried by smbios (most of the time). -
@george1421 This step may not be necessary now days since windows 10 does a good job of having the common hardware drivers on board.
That’s what I thought but obviously when deploying a syspreped windows image back on this hardware it doesn’t have the Intel NIC driver
That 7204\Win10\x64 directory will be copied in full to the target computer in c:\drivers directory
So if it finds the compatible NIC driver in c:\drivers, will it install the driver or will I have to manually install the driver
-
@robertkwild said in after deploying image - no network driver:
So if it finds the compatible NIC driver in c:\drivers, will it install the driver or will I have to manually install the driver
Just to be clear, FOS (engine that images the computer) is linux based. It can not step into Windows to do things. What it can do is leave behind bits that windows can use during oobe/winsetup. So what the post install script will do is copy the hardware specific drivers from the FOG server to the target computer into the C:\Drivers folder.
Now when windows is running then you run the command to load all of the drivers in a specific directory into windows.
In that post install script tutorial you will see this command that you need to insert into the setupcomplete.cmd batch file.
pnputil.exe /add-driver "C:\Drivers\*.inf" /subdirs /install
The pnputil.exe program will search c:\drivers (or whatever path you define) and any subfolders for windows drivers and inject them into windows.
-
@george1421 So make a batch file when I’m in the windows desktop after the oobe generalise stage, call it
setupcomplete.cmd
And put
pnputil.exe /add-driver “C:\Drivers*.inf” /subdirs /install
Or I could just run that command instead