Windows Pxe Boot Image

-->

It initially connected via PXE with SCCM downloaded the boot image file, but then when it attempts to Initialize Windows PE, it will sit there and then time out. Once this happens, I am unable to PXE boot the system to SCCM. It will just time out with failure code: PXE-E51: No. If you have a VM environment, does that iso image boot correctly on a VM configured for BIOS mode? I could potentially see if the iso failed to boot, fog may select a default boot loader to try to continue to boot. But lets first start with the understanding if the iso image is good or bad.

Applies to

Right-click the boot image and select Properties Data Source, and then select Deploy this boot image from the PXE-enabled distribution point. The PXE Boot Process The example boot process described here involves three machines: The DHCP server, the PXE-enabled DP and the client (an x64 BIOS.

  • Windows 10

Summary

This walkthrough describes how to configure a PXE server to load Windows PE by booting a client computer from the network. Using the Windows PE tools and a Windows 10 image file, you can install Windows 10 from the network.

Windows Pxe Boot Image Download

Prerequisites

  • A deployment computer: A computer with the Windows Assessment and Deployment Kit (Windows ADK) installed.
  • A DHCP server: A DHCP server or DHCP proxy configured to respond to PXE client requests is required.
  • A PXE server: A server running the TFTP service that can host Windows PE boot files that the client will download.
  • A file server: A server hosting a network file share.

All four of the roles specified above can be hosted on the same computer or each can be on a separate computer.

Step 1: Copy Windows PE source files

  1. On the deployment computer, click Start, and type deployment.

  2. Right-click Deployment and Imaging Tools Environment and then click Run as administrator. The Deployment and Imaging Tools Environment shortcut opens a Command Prompt window and automatically sets environment variables to point to all the necessary tools.

  3. Run the following command to copy the base Windows PE files into a new folder. The script requires two arguments: hardware architecture and destination location. The value of <architecture> can be x86, amd64, or arm and <destination> is a path to a local directory. If the directory does not already exist, it will be created.

    For example, the following command copies amd64 architecture files to the C:winpe_amd64 directory:

    The script creates the destination directory structure and copies all the necessary files for that architecture. In the previous example, the following directories are created:

  4. Mount the base Windows PE image (winpe.wim) to the mount directory using the DISM tool. Mounting an image file unpacks the file contents into a folder so that you can make changes directly or by using tools such as DISM. See the following example.

    Verify that 'The operation completed successfully' is displayed. Note: To view currently mounted images, type dism /get-MountedWiminfo.

  5. Map a network share to the root TFTP directory on the PXE/TFTP server and create a Boot folder. Consult your TFTP server documentation to determine the root TFTP server directory, then enable sharing for this directory, and verify it can be accessed on the network. In the following example, the PXE server name is PXE-1 and the TFTP root directory is shared using a network path of PXE-1TFTPRoot:

  6. Copy the PXE boot files from the mounted directory to the boot folder. For example:

  7. Copy the boot.sdi file to the PXE/TFTP server.

  8. Copy the bootable Windows PE image (boot.wim) to the boot folder.

  9. (Optional) Copy true type fonts to the boot folder

Step 2: Configure boot settings and copy the BCD file

  1. Create a BCD store using bcdedit.exe:

  2. Configure RAMDISK settings:

    The last command will return a GUID, for example:

    Copy this GUID for use in the next set of commands. In each command shown, replace 'GUID1' with your GUID.

  3. Create a new boot application entry for the Windows PE image:

  4. Configure BOOTMGR settings (remember to replace GUID1 in the third command with your GUID):

  5. Copy the BCD file to your TFTP server:

Your PXE/TFTP server is now configured. You can view the BCD settings that have been configured using the command bcdedit /store <BCD file location> /enum all. See the following example. Note: Your GUID will be different than the one shown below.

Tip

If you start the PXE boot process, but receive the error that 'The boot configuration data for your PC is missing or contains errors' then verify that boot directory is installed under the correct TFTP server root directory. In the example used here the name of this directory is TFTPRoot, but your TFTP server might be different.

PXE boot process summary

Create Windows Pxe Boot Image

The following summarizes the PXE client boot process.

The following assumes that you have configured DHCP option 67 (Bootfile Name) to 'bootPXEboot.n12' which enables direct boot to PXE with no user interaction. For more information about DHCP options for network boot, see Managing Network Boot Programs.

  1. A client is directed by DHCP options 066 and 067 to download bootPXEboot.n12 from the TFTP server.
  2. PXEboot.n12 immediately begins a network boot.
  3. The client downloads bootbootmgr.exe and the bootBCD file from the TFTP server. Note: The BCD store must reside in the boot directory on the TFTP server and must be named BCD.
  4. Bootmgr.exe reads the BCD operating system entries and downloads bootboot.sdi and the Windows PE image (bootboot.wim). Optional files that can also be downloaded include true type fonts (bootFontswgl4_boot.ttf) and the hibernation state file (hiberfil.sys) if these files are present.
  5. Bootmgr.exe starts Windows PE by calling winload.exe within the Windows PE image.
  6. Windows PE loads, a command prompt opens and wpeinit.exe is run to initialize Windows PE.
  7. The Windows PE client provides access to tools like imagex, diskpart, and bcdboot using the Windows PE command prompt. Using these tools together with a Windows 10 image file, the destination computer can be formatted properly to load a full Windows 10 operating system.

See Also

Concepts

-->

Applies to: System Center Configuration Manager (Current Branch)

A boot image in Configuration Manager is a Windows PE (WinPE) image that's used during an OS deployment. Boot images are used to start a computer in WinPE. This minimal OS contains limited components and services. Configuration Manager uses WinPE to prepare the destination computer for Windows installation.

Default boot images

Configuration Manager provides two default boot images: One to support x86 platforms and one to support x64 platforms. These images are stored in the x64 or i386 folders in the following share on the site server: <SiteServerName>SMS_<sitecode>osdboot. The default boot images are updated or regenerated depending on the action that you take.

Consider the following behaviors for any of the actions described for default boot images:

  • The source driver objects must be valid. These objects include the driver source files. If the objects aren't valid, the site doesn't add the drivers to the boot images.

  • Boot images that aren’t based on the default boot images, even if they use the same Windows PE version, aren't modified.

  • Redistribute the modified boot images to distribution points.

  • Recreate any media that uses the modified boot images.

  • If you don't want your customized/default boot images automatically updated, don't store them in the default location.

Note

The Configuration Manager log tool (CMTrace) is added to all boot images in the Software Library. When you're in Windows PE, start the tool by typing cmtrace from the command prompt.

Starting in version 1802, when launching CMTrace in Windows PE, you're no longer prompted to choose whether to make this program the default viewer for log files.

Use updates and servicing to install the latest version of Configuration Manager

When you upgrade the Windows Assessment and Deployment Kit (ADK) version, and then use updates and servicing to install the latest version of Configuration Manager, the site regenerates the default boot images. This update includes the new WinPE version from the updated Windows ADK, the new version of the Configuration Manager client, drivers, and customizations. The site doesn't modify custom boot images.

Upgrade from Configuration Manager 2012 to current branch

When you upgrade Configuration Manager 2012 to current branch, the site regenerates the default boot images. This update includes the new WinPE version from the updated Windows ADK and the new version of the Configuration Manager client. All boot image customizations remain unchanged. The site doesn't modify custom boot images.

Update distribution points with the boot image

When you use the Update Distribution Points action from the Boot Images node in the console, the site updates the target boot image with the client components, drivers, and customizations.

You can reload the boot image with the latest version of WinPE from the Windows ADK installation directory. The General page of the Update Distribution Points wizard provides the following information:

  • The current Windows ADK version installed on the site server
  • The current production client version
  • The Windows ADK version of WinPE in the boot image
  • The version of the Configuration Manager client in the boot image

If the versions in the boot image are out of date, use the option to Reload this boot image with the current Windows PE version from the Windows ADK.

Important

This action is available for both default and custom boot images. During this process to reload the boot image, the site doesn't retain any manual customizations made outside of Configuration Manager. These customizations include third-party extensions. This option rebuilds the boot image using the latest version of WinPE and the latest client version. Only the configurations that you specify on the properties of the boot image are reapplied.

The Boot Images node also includes a new column for (Client Version). Use this column to quickly view the Configuration Manager client version in each boot image.

Customize a boot image

Windows Pxe Boot Image

When a boot image is based on the WinPE version from the supported version of the Windows ADK, you can customize or modify a boot image from the console. When you upgrade a site and install a new version of the Windows ADK, custom boot images aren't updated with the new version of Windows ADK. When that happens, you can't customize the boot images in the Configuration Manager console. However, they continue to work as they did before the upgrade.

When a boot image is based on a different version of the Windows ADK installed on a site, you must customize the boot images. Use another method to customize these boot images, such as using the Deployment Image Servicing and Management (DISM) command-line tool. DISM is part of the Windows ADK. For more information, see Customize boot images.

Add a boot image

During site installation, Configuration Manager automatically adds boot images that are based on a WinPE version from the supported version of the Windows ADK. Depending on the version of Configuration Manager, you can add boot images based on a different WinPE version from the supported version the Windows ADK. An error occurs when you try to add a boot image that contains an unsupported version of WinPE. The following list is the currently supported Windows ADK and WinPE versions:

Windows ADK versionWindows ADK for Windows 10
Windows PE versions for boot images customizable from the Configuration Manager consoleWindows PE 10
Supported Windows PE versions for boot images not customizable from the Configuration Manager console- Windows PE 3.1Note 1
- Windows PE 5

For example, use the Configuration Manager console to customize boot images based on Windows PE 10 from the Windows ADK for Windows 10. For a boot image based on Windows PE 5, customize it from a different computer using the version of DISM from the Windows ADK for Windows 8. Then add the custom boot image to the Configuration Manager console. For more information, see the following articles:

Note 1: Support for Windows PE 3.1

Only add a boot image to Configuration Manager based on Windows PE version 3.1. Upgrade the Windows AIK for Windows 7 (based on Windows PE 3.0) with the Windows AIK Supplement for Windows 7 SP1 (based on Windows PE 3.1). Download the Windows AIK Supplement for Windows 7 SP1 from the Microsoft Download Center.

Process to add a boot image

  1. In the Configuration Manager console, go to the Software Library workspace, expand Operating Systems, and then select the Boot Images node.

  2. On the Home tab of the ribbon, in the Create group, select Add Boot Image. This action starts the Add Boot Image Wizard.

  3. On the Data Source page, specify the following options:

    • In the Path box, specify the path to the boot image WIM file. The specified path must be a valid network path in the UNC format. For example: ServerNameShareNameBootImageName.wim

    • Select the boot image from the Boot Image drop-down list. If the WIM file contains multiple boot images, select the appropriate image.

  4. On the General page, specify the following options:

    • In the Name box, specify a unique name for the boot image.

    • In the Version box, specify a version number for the boot image.

    • In the Comment box, specify a brief description of how you use the boot image.

  5. Complete the wizard.

The boot image is now listed in the Boot Image node. Before using the boot image to deploy an OS, distribute the boot image to distribution points.

Tip

In the Boot Image node of the console, the Size (KB) column displays the decompressed size for each boot image. When the site sends a boot image over the network, it sends a compressed copy. This copy is typically smaller than the size listed in the Size (KB) column.

Distribute boot images

Boot images are distributed to distribution points in the same way as you distribute other content. Before you deploy an OS or create media, distribute the boot image to at least one distribution point.

For more information on how to distribute a boot image, see Distribute content.

To use PXE to deploy an OS, consider the following points before you distribute the boot image:

  • Configure the distribution point to accept PXE requests.
  • Distribute both an x86 and an x64 PXE-enabled boot image to at least one PXE-enabled distribution point.
  • Configuration Manager distributes the boot images to the RemoteInstall folder on the PXE-enabled distribution point.

For more information about using PXE to deploy operating systems, see Use PXE to deploy Windows over the network.

Windows

Modify a boot image

Add or remove device drivers to the image, or edit the properties of the boot image. The drivers that you add or remove can include network or storage drivers. Consider the following factors when you modify boot images:

  • Before adding drivers to the boot image, import and enable them in the device driver catalog.

  • When you modify a boot image, the boot image doesn't change any of the associated packages that the boot image references.

  • After you make changes to a boot image, update the boot image on the distribution points that already have it. This process makes the most current version of the boot image available to clients. For more information, see Manage content you've distributed.

Process to modify the properties of a boot image

  1. In the Configuration Manager console, go to the Software Library workspace, expand Operating Systems, and then select the Boot Images node.

  2. Select the boot image that you want to modify.

  3. On the Home tab of the ribbon, in the Properties group, select Properties.

  4. Set any of the following settings to change the behavior of the boot image:

Images

On the Images tab, if you change the properties of the boot image by using an external tool, click Reload.

Drivers

On the Drivers tab, add the Windows device drivers that are required to boot WinPE. Consider the following points when you add device drivers:

  • Make sure that the drivers that you add to the boot image match the architecture of the boot image.

  • To only display drivers for the architecture of the boot image, select Hide drivers that do not match the architecture of the boot image. The architecture of the driver is based on the architecture reported in the INF from the manufacturer.

  • WinPE already comes with many drivers built-in. Add only network and storage drivers that aren't included in WinPE.

  • Add only network and storage drivers to the boot image, unless there are requirements for other drivers in WinPE.

  • To only display storage and network drivers, select Hide drivers that are not in a storage or network class (for boot images). This option also hides other drivers that aren't typically needed for boot images, such as video or modem drivers.

  • To hide drivers that don't have a valid digital signature, select Hide drivers that are not digitally signed.

Note

Import device drivers into the drivers catalog before you add them to a boot image. For information about how to import device drivers, see Manage drivers.

Customization

On the Customization tab, select any of the following settings:

  • Select the Enable Prestart Commands option to specify a command to run before the task sequence runs. When you enable this option, also specify the command line to run and any support files required by the command.

    Warning

    Add cmd /c to the start of the command line. If you don't specify cmd /c, the command won't close after it runs. The deployment continues to wait for the command to finish and won't start any other configured commands or actions.

    Tip

    During task sequence media creation, the wizard writes the package ID and prestart command line to the CreateTSMedia.log log file. This information includes the value for any task sequence variables. This log is on the computer that runs the Configuration Manager console. Review this log file to verify the values for the task sequence variables.

  • Set the Windows PE Background settings to specify whether you want to use the default WinPE background or a custom background.

  • Select Enable command support (testing only) to open a command prompt by using the F8 key while the boot image is deployed. This option is useful for troubleshooting while you're testing your deployment. Using this setting in a production deployment isn't advised because of security concerns.

  • Configure the Windows PE scratch space, which is temporary storage (RAM drive) used by WinPE. For example, when an application is run within WinPE and needs to write temporary files, WinPE redirects the files to the scratch space in memory to simulate the presence of a hard disk. By default, this amount is 512 MB for devices with more than 1 GB of RAM, otherwise the default is 32 MB.

Optional Components

On the Optional Components tab, specify the components that are added to Windows PE for use with Configuration Manager. For more information about available optional components, see WinPE: Add packages (Optional Components Reference).

The following components are required by Configuration Manager and always added to boot images:

  • Scripting (WinPE-Scripting)
  • Startup (WinPE-SecureStartup)
  • Network (WinPE-WDS-Tools)
  • Scripting (WinPE-WMI)

The Components list shows additional items that are added to this boot image. To add more components, select the gold asterisk. To remove a component, select it from the list, and then select the red X.

The following components are commonly used by customers:

  • Microsoft .NET (WinPE-NetFX): This component is a prerequisite for PowerShell. It's one of the larger optional components.
  • Windows PowerShell (WinPE-PowerShell): This component requires .NET, and adds limited PowerShell support. If you run custom PowerShell scripts during the WinPE phase of your task sequence, add this component. There are other components that may be required for other PowerShell cmdlets.
  • HTML (WinPE-HTA): If you run custom HTML applications during the WinPE phase of your task sequence, add this component.

For more information about adding languages, see Configure multiple languages.

Data Source

On the Data Source tab, update any of the following settings:

  • To change the source file of the boot image, set Image path and Image index.

  • To create a schedule for when the site updates the boot image, select Update distribution points on a schedule.

  • If you don't want the content of this package to age out of the client cache to make room for other content, select Persist content in client cache.

  • To specify that the site only distributes changed files when it updates the boot image package on the distribution point, select Enable binary differential replication (BDR). This setting minimizes the network traffic between sites. BDR is especially useful when the boot image package is large and the changes are relatively small.

  • If you use the boot image in a PXE-enabled deployment, select Deploy this boot image from the PXE-enabled distribution point. For more information, see Use PXE to deploy Windows over the network.

Data Access

On the Data Access tab, you can configure package share settings. If needed in your environment, set the option to Copy the content in this package to a package share on distribution points. You then have the additional option to Use a custom name for the package share and specify the custom Share name. Additional disk space is required on distribution points when you enable this option. It applies to all distribution points that receive this boot image.

Distribution Settings

On the Distribution Settings tab, select any of the following settings:

  • In the Distribution priority list, specify the priority level. Configuration Manager uses this priority list when the site distributes multiple packages to the same distribution point.

  • If you want to enable on-demand content distribution to preferred distribution points, select Enable for on-demand distribution. When you enable this setting, if a client requests the content for the package and the content isn't available on any distribution points, then the management point distributes the content. For more information, see On-demand content distribution.

  • To specify how you want the site to distribute the boot image to distribution points that are enabled for prestaged content, set the Prestaged distribution point settings. For more information about prestaged content, see Prestage content.

Content Locations

On the Content Locations tab, select the distribution point or distribution point group, and use the following actions:

  • Validate: Check the integrity of the boot image package on the selected distribution point or distribution point group.

  • Redistribute: Distribute the boot image to the selected distribution point or distribution point group again.

  • Remove: Delete the boot image from the selected distribution point or distribution point group.

Security

On the Security tab, view the administrative users that have permissions to this object.

Configure a boot image for PXE

Before you can use a boot image for a PXE-based deployment, configure the boot image to deploy from a PXE-enabled distribution point.

  1. In the Configuration Manager console, go to the Software Library workspace, expand Operating Systems, and then select the Boot Images node.

  2. Select the boot image that you want to modify.

  3. On the Home tab of the ribbon, in the Properties group, select Properties.

  4. On the Data Source tab, select Deploy this boot image from the PXE-enabled distribution point. For more information, see Use PXE to deploy Windows over the network.

Configure multiple languages

Boot images are language neutral. This functionality allows you to use one boot image to display the task sequence text in multiple languages while in WinPE. Include the appropriate language support from the boot image Optional Components tab. Then set the appropriate task sequence variable to indicate which language to display. The language of the deployed OS is independent from the language in WinPE. The language that WinPE displays to the user is determined as follows:

  • When a user runs the task sequence from an existing OS, Configuration Manager automatically uses the language configured for the user. When the task sequence automatically runs as the result of a mandatory deployment deadline, Configuration Manager uses the language of the OS.

  • For OS deployments that use PXE or media, set the language ID value in the SMSTSLanguageFolder variable as part of a prestart command. When the computer boots to WinPE, messages are displayed in the language that you specified in the variable. If there's an error accessing the language resource file in the specified folder, or you don't set the variable, WinPE displays messages in the default language.

    Note

    When you protect media with a password, the text that prompts the user for the password is always displayed in the WinPE language.

Windows Pxe Boot Image

Use the following procedure to set the WinPE language for PXE or media-initiated OS deployments.

Process to set the Windows PE language for a PXE or media-initiated OS deployment

  1. Before you update the boot image, verify that the appropriate task sequence resource file (tsres.dll) is in the corresponding language folder on the site server. For example, the English resource file is in the following location: <ConfigMgrInstallationFolder>OSDbinx6400000409tsres.dll

  2. As part of your prestart command, set the SMSTSLanguageFolder environment variable to the appropriate language ID. The language ID must be specified by using decimal and not hexadecimal format. For example, to set the language ID to English, specify the decimal value 1033, not the hexadecimal value 00000409 of the folder name.