Using the Hyper-V Integration Components in WinPE – Mike Sterling

I stumbled on this great article from Mike Sterling awesome stuff.  In addition to his blog which itself is a great read 🙂 enjoy.

The new architecture of synthetic devices with Hyper-V poses some unique challenges for system administrators. Specifically, how can a system administrator perform maintenance on a Hyper-V host from WinPE? Without the integration components, users are required to move their VHD’s around to the IDE controller, which limits the amount of VHD’s that can be used at any given point in time. Additionally, legacy network adapters might need to be added to the VM to provide network access.

However, by adding the integration components to a WinPE image, those are no longer concerns.

For those of you not familiar with WinPE, here’s a brief overview:

Windows Preinstallation Environment (Windows PE) is a minimal operating system designed to prepare a computer for Windows installation. It can be used to start a computer with no operating system (a bare-metal system), to partition and to format hard drives, and to copy disk images or to initiate Windows Setup from a network share. Windows PE is available as a stand-alone product to customers with the proper licensing agreement. It is an integrated component of many Windows Setup and recovery technologies, including Setup for Windows Vista and Windows Deployment Services (WDS).

Windows PE 2.1 is the latest release based on the Microsoft® Windows Vista® operating system.

Now, on to the steps:

1.     Download and install the Windows Automated Installation Kit (AIK). This allows you to create a custom WinPE image. The AIK can be downloaded here:

2.     We need to extract two files from the c:\windows\system32\vmguest.iso file, which is part of Hyper-V RC1 (available at There are a couple of tools that allow the mounting of an ISO image:

a. WinImage (

b. WinISO (

c. UltraISO (

You can also mount the ISO image in a VM and extract the files as well.

We’re looking for two files. Copy the file that is appropriate for your architecture:

·         32 Bit: \support\x86\Windows6.0-KB951633-x86.msu

·         64 Bit: \support\amd64\Windows6.0-KB951633-x64.msu

3.     Create a directory on the same system you installed the AIK, and store the file(s) above there.

4.     Open up the Windows PE User’s Guide. This was installed as part of the Windows AIK, and can be found (by default) by browsing to Start -> All Programs -> Windows OPK -> Documentation -> Windows PE User’s Guide.

5.     Follow steps 1-4 under Customizing WinPE -> Windows PE Walkthroughs -> Walkthrough: Create a Custom WinPE Image.

6.     After step 4 (Optional: Add Additional Customizations), run the following script from your Windows PE Tools Command Prompt. Create a new batch file with the script below. Make sure that the MSUSOURCE is set to the directory where the files you copied in step 2 and 3 are, and that PESOURCE is set to the directory you created in Step 5. 

   1: %echo off
   2: set MSUSOURCE=D:\synth\rc1\amd64
   3: set PESOURCE=D:\winpe_x64_synthetic
   4: mkdir %temp%\IC
   5: c:\windows\system32\expand.exe -F:* %MSUSOURCE%\Windows6.0-KB951633-x64.msu %temp%\ic
   6: mkdir %temp%\IC\binaries
   7: c:\windows\system32\expand.exe -F:* %temp%\ic\Windows6.0-KB951633-x64.CAB %temp%\ic\binaries
   8: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wnetvsc.inf_31bf3856ad364e35_6.0.6001.18010_none_b331f76187e159c6\wnetvsc.inf %PESOURCE%\mount\Windows
   9: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_ws3cap.inf_31bf3856ad364e35_6.0.6001.18010_none_f2dbb8abfcb9f757\ws3cap.inf %PESOURCE%\mount\Windows
  10: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wstorflt.inf_31bf3856ad364e35_6.0.6001.18010_none_1ca7ba32d0b2bd99\wstorflt.inf %PESOURCE%\mount\Windows
  11: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wstorvsc.inf_31bf3856ad364e35_6.0.6001.18010_none_835d97e82051b059\wstorvsc.inf %PESOURCE%\mount\Windows
  12: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wvmbus.inf_31bf3856ad364e35_6.0.6001.18010_none_95947137626ceb80\wvmbus.inf %PESOURCE%\mount\Windows
  13: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wvmbushid.inf_31bf3856ad364e35_6.0.6001.18010_none_4cc9f65464cd2f85\wvmbushid.inf %PESOURCE%\mount\Windows
  14: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wvmbusvideo.inf_31bf3856ad364e35_6.0.6001.18010_none_af4c3664979a87cd\wvmbusvideo.inf %PESOURCE%\mount\Windows
  15: "C:\Program Files\Windows OPK\Tools\PETools\peimg.exe" /inf=%temp%\IC\binaries\amd64_wvmic.inf_31bf3856ad364e35_6.0.6001.18010_none_5df58a6c04d20690\wvmic.inf %PESOURCE%\mount\Windows

Once the batch file completes, refer back to the Windows PE Users Guide, and finish following the steps from Step 5 onward.

After you create the ISO, attach it to a VM and power it on. You should have full access to all synthetic devices.

Comments (2)

  1. FatherMegahertz says:

    I rewrote the script for use with WAIK and the x86

    Just run in CMD with "Run As Administrator"


    set PESOURCE=C:winpe_x86

    cd %MSUSOURCE%

    MD MSU

    expand  Windows6.0-KB951634-x86.msu -F:*.CAB MSU

    MD Files

    expand -F:* Files

    MD OutOfBoxDrivers

    for /d %%I in (files*_none_*) do xcopy %%I OutOfBoxDrivers%%~nI /e

    rd /s /q MSU

    rd /s /q Files

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wnetvsc.inf_31bf3856ad364e35_6.0.6001wnetvsc.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_ws3cap.inf_31bf3856ad364e35_6.0.6001ws3cap.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wstorflt.inf_31bf3856ad364e35_6.0.6001wstorflt.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wstorvsc.inf_31bf3856ad364e35_6.0.6001wstorvsc.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wvmbus.inf_31bf3856ad364e35_6.0.6001wvmbus.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wvmbushid.inf_31bf3856ad364e35_6.0.6001wvmbushid.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wvmbusvideo.inf_31bf3856ad364e35_6.0.6001wvmbusvideo.inf %PESOURCE%mountWindows

    "C:Program FilesWindows AIKToolsPEToolspeimg.exe" /inf=%MSUSOURCE%OutOfBoxDriversx86_wvmic.inf_31bf3856ad364e35_6.0.6001wvmic.inf %PESOURCE%mountWindows