Automating the Network Boot

Updated: May 8, 2008

Applies To: Windows Server 2008, Windows Server 2008 R2

To configure a client computer to perform network boots automatically (when the computer is turned on manually), you can modify the boot order in the computer’s firmware (BIOS or Extensible Firmware Interface (EFI)) or by disabling any active partitions before booting.

  • If there are active partitions, the option to boot from the network must be higher in the boot order than the hard disk drive. It is important to note that this configuration is susceptible to a boot loop, a condition that causes a computer to always boot from the network, and never from the hard disk drive. For more details, see Avoiding a Boot Loop.

  • If there are no active partitions, the computer will be unable to boot from the hard disk drive, and it will proceed to the next boot item in the boot order. As such, we recommend that you include the option to boot from the hard disk drive before the option to boot from the network (to avoid a boot loop).

Second, the computer must be configured to continue the boot process without user interaction (for example, by pressing F12). You can configure this by doing one of the following:

  • Set the default for the entire server (per architecture) so that all clients will network boot without user interaction when a computer is started. To do this, right-click the server in the Windows Deployment Services MMC snap-in, click Properties, and on the Boot tab. For Windows Server 2008 R2, specify the PXE Boot Policy. For the initial release of Windows Server 2008, specify the path to the network boot program you want to use (either PXEboot.n12, Hdlscom1.n12, or Hdlscom2.n12). For Windows Server 2008, see Managing Network Boot Programs ( for more information.

  • Configure a particular client so that only that client does not require user interaction to network boot. To do this, run WDSUTIL /Set-Device /Device:<name> /BootProgram:<path>, where <path> is the relative path to the network boot program (either PXEboot.n12, Hdlscom1.n12, or Hdlscom2.n12) you want from the RemoteInstall folder.

  • Configure unknown clients (that is, those that are not prestaged) to perform network boots without requiring F12 and then boot a computer that is not prestaged.

    • Windows Server 2008: WDSUTIL /Set-Server /AllowN12ForNewClients:Yes

    • Windows Server 2008 R2: WDSUTIL /Set-Server /PxePromptPolicy /New:NoPrompt

For EFI computers, you must configure this setting within the EFI shell because there is only one network boot program (Bootmgfw.efi).

When implementing a fully automated experience of booting from the network, it is often necessary to set the network as the first item in the client’s BIOS boot order and configure clients to network boot without requiring F12. If you combine these two configurations, the client will automatically boot from the network without requiring user intervention, and the computer will end up in a circular loop (always booting from the network and never booting from the hard disk drive). The following are best practices that you can use to avoid a boot loop:

  • Always configure the hard disk drive as a higher priority than the network. To enable a computer that already has an operating system installed to boot automatically from the network (for example, when reprovisioning a computer), disable any active partitions before rebooting the computer to initiate the network boot.

  • Configure clients who have booted to perform an install without F12 to require a key press on subsequent boots. To do this, run wdsutil /set-server /resetbootprogram:yes.

  • (Windows Server 2008 only) For unknown computers that are configured to boot from the network before booting from the hard disk drive, set a *.com network boot program for the server default and run WDSUTIL /Set-Server /AllowN12ForNewClients:Yes. This will prevent a boot loop if the booting client performs an operating system installation by using Windows Deployment Services, and the client computer is configured to join a domain (which is the default). To set the default for the network boot program, right-click the server in the Windows Deployment Services MMC snap-in, click Properties, and on the Boot tab, insert the path to the network boot program you want to use for each architecture.

Windows Deployment Services displays a menu that enables users to select a boot image. This menu is always automated, and when there are multiple boot images, one will be selected by default when the time-out value expires (which is configurable by using the Bcdedit tool). However, if there is only one boot image available to the client computer, it will be selected immediately. Because the boot menu selection does not require user action, the only configuration task that you need to complete is to ensure that clients are directed to the correct boot image. There are two methods for doing this:

  • Configure the default boot image on the server (on the Boot tab of the server’s properties). This setting applies to all clients of a particular architecture (both prestaged and unknown computers) that connect to the server.

  • Configure the default boot image for a prestaged computer by running the command WDSUTIL /Set-Device /Device:<name> /BootImagePath:<Relative path>, where <path> is the relative path to the RemoteInstall folder.

Community Additions