Written by 4:49 pm Hardware, Microsoft, Microsoft Azure, PowerShell, System Center, Virtualization, Windows, Windows Server • 3 Comments

Add drivers to SCVMM Bare-Metal WinPE Image

SCVMM Bare-Metal Fails

A long time ago, I wrote a blog post on how you can use System Center Virtual Machine Manager Bare-Metal Deployment to deploy new Hyper-V hosts. Usually, this works fine, but if you have more modern hardware, your Windows Server Image may not include the network adapter drivers. Now, this isn’t a huge problem since you can mount and insert the drivers in the VHD or VHDX file for the Windows Server Hyper-V image. But if you forget to update the WinPE file from Virtual Machine Manager your deployment will fail, since the WinPE image has not network drivers included it won’t be able to connect to the VMM Library or any other server.

You will end up in the following error and your deployment will timeout on the following screen:

“Synchronizing Time with Server”

SCVMM Bare-Metal Fails

If you check the IP configuration with ipconfig, you will see that there are no network adapters available. This means you have to update your SCVMM WinPE image.

First of all, you have to copy the SCVMM WinPE image. You can find this wim file on your WDS (Windows Deployment) PXE Server in the following location E:\RemoteInstall\DCMgr\Boot\WIndows\Images (Probably your setup has another drive letter.


I copied this file to the C:\temp folder on my System Center Virtual Machine Manager server. I also copied the extracted drivers to the C:\Drivers folder.

After you have done this, you can use Greg Casanza’s (Microsoft) SCVMM Windows PE driver injection script, which will add the drivers to the WinPE Image (Boot.wim) and will publish this new boot.wim to all your WDS servers. I also rewrote the script I got from using drivers in the VMM Library to use drivers from a folder.

$mountdir = "c:\mount"
$winpeimage = "c:\temp\boot.wim"
$winpeimagetemp = $winpeimage + ".tmp"
$path = "C:\Drivers"
mkdir "c:\mount"
copy $winpeimage $winpeimagetemp
dism /mount-wim /wimfile:$winpeimagetemp /index:1 /mountdir:$mountdir
dism /image:$mountdir /add-driver /driver:$path
Dism /Unmount-Wim /MountDir:$mountdir /Commit
publish-scwindowspe -path $winpeimagetemp
del $winpeimagetemp

Update SCVMM WinPE

This will add the drivers to the Boot.wim file and publish it to the WDS servers.

Update WDS Server

After this is done, the Boot.wim will work with your new drivers.

Tags: , , , , , , , , , , , , , , , , , , , , Last modified: August 24, 2019