Offline Serving a WIM without SCCM

Recently, I came across a problem while setting up OSD at one of my clients: I was unable to use install Windows 7 on a variety of their systems using the drivers from the manufacturer.  Specifically, with the Lenovo T440s, it would fail when booting up the first time, after successfully applying the driver pack.

The error read: Windows could not configure one or more system components.  To install Windows, restart the computer and then restart the installation.

This problem is caused by the drivers some of these newer systems are using, and their reliance on an updated version of the Kernel Mode Driver Framework.  The best approach, in my opinion, is to add the latest hotfix to the WIM so that Windows is ready when the drivers come down.  Normally this could be accomplished through the ConfigMan console with offline servicing.  However, my current client isn’t using SCCM for patching, so our site doesn’t have a SUP.  Furthermore, all I’m doing here is an OSD build out, so I’m not going to go setting one up.  Instead, I’m going to inject the hotfix the same way SCCM does, just manually.  This is also useful if you’ve ever just wondered what goes on under the hood.

To start, we’ll need the latest KMDF from Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=38423

Once you’ve downloaded it to your SCCM server, you’ll need to extract it using a tool such as 7zip:

.\7za.exe x kmdf-1.11-Win-6.1-x64.msu

Image

Also, we’ll need to find our WIM.  If you don’t know which image index you’re after, you can retrieve it using dism /get-wiminfo /wimfile:F:\source$\OSD\WIMs\MYWIM.wim like I did here.

Image

Mount it using DISM:

dism /mount-wim /wimfile:F:\source$\OSD\WIMs\MYWIM.wim /mountdir:E:\Scratch /index:1

Image

Inject the hotfix you extracted earlier:

dism /image:E:\Scratch /add-package /Packagepath:F:\source$\Hotfix\KMDF1.11

Image

Since I still had the .MSU file in my directory, I got an error, but the hotfix (KB2685811) did install properly.  I can verify this with DISM:

dism /get-packages /image e:\scratch

Image

Now all that’s left to do is unmount and commit:

dism /unmount-wim /mountdir:E:\Scratch /commit

Image

That’s it!  Once it unmounts, just update your distribution points and we’re ready to support newer drivers for newer models.

-easy

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s