Failing to boot a UEFI machine to PXE - PXE-E99 error
search cancel

Failing to boot a UEFI machine to PXE - PXE-E99 error

book

Article ID: 163295

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

The bootmgr.efi file does not work when you try to boot via PXE with UEFI machines, and causes a failure PXE-E99.

PXE-E99

Environment

UEFI computers booting via PXE.

Deployment Solution 8.0 Hotfix2 and lower.

Cause

A number of EFI files are extracted from the Windows Automated Installation Kit (WAIK) however not all of them can be used for PXE booting computers into EFI.

  • Bootmgr.efi is required for ISO images
  • Bootmgfw.efi can be used for PXE boot
  • Bootx64.efi should be used for 64-bit PXE boot of UEFI devices
  • BootIA32.efi should be used for 32-bit PXE boot of UEFI device

All the relevant EFI files are present in the BDC package [1] that is replicated  to the PXE Servers in the environment however only the bootmgr.efi and bootmgw.efi are used in the SBS image directories [2].

When the PXE Service is started it creates a list of EFI files and stores a reference into memory, however it only stores a reference to the latest EFI file found. Because the file loading is done in alphabetical order, it means bootmgfw.efi is referenced before bootmgr.efi. Thus bootmgr.efi will always be used.

[1] PackageId = '374E1C49-4F58-4F5C-8D51-07A30F0D44AD', Package Location = '\\%ComputerName%\NSCap\bin\Deployment\BDC'on the SMP

[2] '%ProgramFiles%\Altiris\Altiris Agent\Agents\Deployment\SBS\Images\<Name of your PXE environment>\<Architecture>' where <Name of your PXE environment> is the name you have specified when creating the pre-boot environment and <Architecture> is x64 or x86.

Resolution

Option 1:

Upgrade to 8.0 HF3 or later

Option 2:

To work around this issue you will need to edit each of your PXE automation environments by going to "%ProgramFiles%\Altiris\Altiris Agent\Agents\Deployment\SBS\Images\<Name of your PXE environment>\<Architecture>":

  • Delete bootmgr.efi

  • or add the bootx64.efi (for 64-bit PXE boot images) from the local BDC package local copy [1]

  • or bootia32.efi (for 32-bit PXE boot images) from the local BDC package local copy [1]

  • Restart the PXE Service

Note! This change will have to be made every time you rebuild the PXE server, because the rebuild will return all files back to the original default versions.

For the changes to remain after recreating the SBS boot images you should rename bootmgfw.efi to bootmgr.efi from the BDC package [2].

[1] "%ProgramFiles%\Altiris\Altiris Agent\Agents\Deployment\SBS\Bootwiz\{374E1C49-4F58-4F5C-8D51-07A30F0D44AD}"

[2] "\\%ComputerName%\NSCap\bin\Deployment\BDC" on the SMP