Customize Windows RE

You can customize Windows Recovery Environment (Windows RE) by adding languages, packages drivers, and custom diagnostic or troubleshooting tools.

The WinRE image is included inside the Windows 10 and Windows Server 2016 images, and is eventually copied to the Windows RE tools partition on the destination PC or device. To modify it, you'll mount the Windows image, then mount the WinRE image inside it. Make your changes, unmount the WinRE image, then unmount the Windows image.

image: Mount the Windows image, then mount the recovery image inside it. Make changes, then unmount the recovery image, and finally the Windows image

We recommend that when you update your Windows images with languages and boot-critical drivers, update the Windows RE image at the same time.

This topic also gives optional steps to optimize the Windows RE image after updating it.

Prerequisites

To complete this walkthrough, you need the following:

  • A technician computer with the Windows Assessment and Deployment Kit (ADK) installed.
  • The Windows image (install.wim). This can be from the Windows installation media or from a reference image.

Step 1: Mount the Windows and Windows RE image

Mount the images

  1. Open the Deployment and Imaging Tools Environment command prompt as an administrator:

    Click Start, and type deployment. Right-click Deployment and Imaging Tools Environment and then select Run as administrator > Yes.

  2. Mount the Windows base image for editing.

    md C:\mount\windows
    
    Dism /Mount-Image /ImageFile:C:\mount\install.wim /Index:1 /MountDir:C:\mount\windows
    
  3. Mount the Windows RE image for editing.

    md C:\mount\winre 
    
    Dism /Mount-Image /ImageFile:c:\mount\windows\windows\system32\recovery\winre.wim /Index:1 /MountDir:C:\mount\winre
    

    Note The Windows RE image should always be index number 1.

Step 2: Adding languages

When you add languages to Windows RE, you need to add the base language pack and the corresponding language packs for each of the Windows PE optional components in the Windows RE tools image.

Starting with Windows 10, Version 1607 and Windows Server 2016, the base language pack and optional component language packs required to customize Windows RE are included in the Language Pack DVDs for Windows 10 and Windows Server 2016. The Windows PE language packs in the Windows 10 ADK should not be used to customize Windows RE.

Note
To ensure a consistent language experience in recovery scenarios, add the same set of languages to the Windows RE image that you add to the Windows image.

We recommend adding no more than ten language packs to a Windows or Windows RE image. Multiple language packs increase the size of the Windows image and also affect the overall performance of a system during deployment and servicing.

To add language packs

  1. List the Windows PE optional components in the Windows RE tools image:

    Dism /Get-Packages /Image:C:\mount\winre
    
  2. Review the resulting list of packages, and then add the corresponding language packs for each package in the image, including the base Windows PE language pack, but not including WinPE-WiFi-Package.

    The following code shows how to add the French (fr-fr) language pack to the base Windows PE image, and then to each of the optional components that are present in the default Windows RE image:

    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\lp.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-Rejuv_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-EnhancedStorage_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-Scripting_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-SecureStartup_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-SRT_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-WDS-Tools_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-WMI_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-StorageWMI_fr-fr.cab"
    
    Dism /Add-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-HTA_fr-fr.cab"
    

    The WinPE-WiFi-Package is not language-specific and does not need to be added when adding other languages.

  3. If you're adding language packs for Japan, Korea, or China, add the font packages for these languages. Here's an example for Japan:

    Dism /image:C:\mount\winre /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Font Support-JA-JP.cab"
    

    To learn more, see WinPE: Add packages (Optional Components Reference).

  4. To save space and speed up the recovery process, remove unneeded languages. Reverse the order to avoid problems with dependencies.

    Note, the WinPE-WiFi-Package is not language specific and should not be removed.

    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-HTA_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-StorageWMI_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WDS-Tools_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-SRT_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-SecureStartup_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-EnhancedStorage_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Rejuv_en-us.cab"
    
    Dism /Remove-Package /Image:C:\mount\winre /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\lp.cab"
    

Step 3: Adding boot-critical drivers

Make sure that you add any third-party drivers that your reference device requires to boot, such as storage or video drivers. If you add boot-critical drivers to a Windows image using Windows Imaging and Configuration Designer (ICD), they'll be added to the Windows RE image inside that Windows image.

Add a boot-critical driver

  1. If necessary, unzip or unpack the driver file from your device manufacturer.
  2. Identify the driver setup (.inf) file, and add it.

    Dism /Image:C:\mount\winre /Add-Driver /Driver:"C:\SampleDriver\driver.inf" 
    

    where C:\SampleDriver\driver.inf is the location of the .inf file.

Step 4: Adding a custom tool

You can add a custom troubleshooting or diagnostic tool to your Windows RE image. To learn more, see Add a Custom Tool to the Windows RE Boot Options Menu.

Step 5: Adding Windows updates

Occasionally, a Windows update may require you to update the Windows RE image.

  • Add the Windows update package, for example, C:\MSU\Windows8.1-KB123456-x64.msu.

    Dism /Add-Package /PackagePath:C:\MSU\Windows8.1-KB123456-x64.msu /Image:C:\mount\winre /LogPath:AddPackage.log
    

Step 6: Optimizing the image, part 1 (optional)

After adding a language or Windows update package, you can reduce the size of the final Windows RE package by checking for duplicate files and marking the older versions as superseded.

  1. Optimize the image:

    Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup /ResetBase
    
  2. Later, you'll export the image to remove the superseded files.

Step 7: Unmount the WinRE image

  • Unmount and save the image:

    Dism /Unmount-Image /MountDir:C:\mount\winre /Commit
    

Step 8: Optimizing the image, part 2 (optional)

If you've optimized the image, you'll need to export the image in order to see a change in the file size. During the export process, DISM removes files that were superseded.

  1. Export the Windows RE image into a new Windows image file.

    Dism /Export-Image /SourceImageFile:c:\mount\windows\windows\system32\recovery\winre.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim
    
  2. Replace the old Windows RE image with the newly-optimized image.

    del c:\mount\windows\windows\system32\recovery\winre.wim
    
    copy c:\mount\winre-optimized.wim c:\mount\windows\windows\system32\recovery\winre.wim
    

Step 9: Unmount the Windows image

Save your changes back into the Windows base image.

  • Unmount the base Windows image:

    Dism /Unmount-Image /MountDir:C:\mount\windows /Commit
    

Next Steps

If you’re deploying Windows using Windows Setup, update the other Windows images inside the base Windows file (Install.wim).

If you’re deploying your reference image by using Windows PE, Diskpart, and DISM, then continue to Deploy Windows RE.

Related topics

Add a Custom Tool to the Windows RE Boot Options Menu

Deploy Windows RE

Deploy Push-Button Reset Features

REAgentC Command-Line Options