WDS Architecture Detection

Each network booting computer should set DHCP option 93 to indicate the client’s architecture. This enables a PXE server to know at boot time the exact architecture of the client from the first network boot packet. On many x64-based computers, the architecture value is either not set (missing) or is not set to the expected value. (Generally, this means that the architecture is specified as x86-based when the computer is x64-based).

The client system architecture values are:

0 = IA x86 PC

1 = NEC/PC98

2 = IA64 PC

3 = DEC Alpha

4 = ArcX86

5 = Intel Lean Client

6 = X64

To work around client architecture reporting problems, you can enable an architecture detection feature on your Windows Deployment Services server. When enabled, the client is sent a NBP (wdsnbp.com) before downloading the normal boot program for the client’s architecture (for example, PXEboot.com or PXEboot.n12).

Wdsnbp.com performs an architecture detection test on the client processor and then reports the value back to the server using unused options in a specially formulated DHCP packet. Upon receiving the value sent by wdsnbp.com, the server knows the client’s true architecture and can send it the correct NBP, based on the policy priorities.

For architecture detection to work reliably, it must handle both of the previous cases. Unfortunately, handling the second case means that the architecture detection process will happen on every x86-based computer in the environment (presumably, x86-based computers are reporting themselves as x86-based computers in the network boot packets).

The architecture detection process is off by default because it:

  • Adds time to boot.
  • Increases network traffic.
  • Increases load on the server.

You can enable architecture detection by running WDSUTIL /Set-Server /ArchitectureDiscovery:Yes.

This command controls the following registry key value:

HKLM\System\CurrentControlSet\Services\WDSServer\Providers\WDSPXE\Providers\BINLSVC

  • Name: DisableArchDisc
  • Type: REG_DWORD
  • Value: 0 or not present means the architecture discovery is enabled

    1 means architecture discovery is disabled (default)

Note that if a client is detected as being x64-based capable (by reporting itself as such in the initial PXE request packet or through the architecture detection process) and a valid x64-based boot image does not exist on the server, the client will fail to boot. Generally, the error message will be Failed to restart TFTP. TFTP download failed. This issue occurs because the NBPs for x64-based clients must be extracted from a Windows PE 2.0 x64-based boot image. If such an image has not been added to the server, the client will not have a valid NBP to download and will fail to network boot. To resolve this issue, you can do one of the following:

  • adjust the default NBP for x64-based clients using the Boot properties page of the Windows Deployment Server in the MMC to point to an x86-based boot program (for example, boot\x86\pxeboot.com)
  • upload a valid Windows PE x64-based boot image (assuming you wish to deploy x64-based operating system images to the client).