Windows 7 / Getting Started

Customizing Windows PE

Most Windows PE customization tasks will involve the processes described in the previous section. First, you will mount the image by using DISM. Then, you will add packages, applications, and updates. Last, you will dismount the image and commit your changes.

Other tasks you might see when customizing your Windows PE implementation include adding hardware-specific device drivers and customizing the actual settings used by Windows PE when it runs. This section covers the installation of device drivers and details changes that you can make to base Windows PE configuration settings. Additional information on automating Windows PE is covered in the section titled "Automating Windows PE" later in this tutorial.

Windows PE supports four configuration files to control startup and operation. These files can be configured to launch custom shell environments or execute specified actions:

  • BCD The BCD file stores the boot settings for Windows PE. This file is edited with the Windows 7 command-line tool, BCDEdit.
  • Winpeshl.ini During startup, you can start custom shell environments using the Winpeshl.ini file. This file is located in the %SystemRoot%\System32 folder of the Windows PE image. You can configure this file with the path and the executable name of the custom shell application.
  • Startnet.cmd Windows PE uses the Startnet.cmd file to configure network startup activities. By default, the Wpeinit command is called to initialize Plug and Play devices and start the network connection. You can also add other commands to this script to customize activities during startup.
  • Unattend.xml Windows PE operates in the windowsPE setup configuration pass of a Windows 7 installation. In this pass, Windows PE uses the appropriate sections of the Unattend.xml file to control its actions. Windows PE looks in the root of the boot device for this file. You can also specify its location by using the Startnet.cmd script or by using Wpeutil.exe with the appropriate command-line options.

Your final environment can run custom application shells.

[Previous] [Contents] [Next]