Thursday, February 23, 2012

PXE Boot files in RemoteInstall folder explained

When installing WDS for PXE Boot functionality a RemoteInstall folder will be created. Most of times I install this role on the SCCM/ConfigMgr server with MDT integration. It's also possible to use a different server for that, as long the ConfigMgr PXE service point is installed on that server also. In this post I will explain the PXE Boot files which are installed.

After installation, the following files and folders are available in the RemoteInstall folder:

SMSBoot
- abortpxe.com > Used when no advertisement is available
- bootmgfw.efi > (available in x64 folder only)
- bootmgr.exe > In Boot order this is file 3 needed
- pxeboot.com > In Boot order this is file 2 needed
- pxeboot.n12 > Can be used to skip the second F12 requirement (!)
- wdsnbp.com > In Boot order this is file 1 needed (!)
SMSIMAGES
- Boot.xxx00001.wim (WDS x86 boot image)
- Boot.xxx00002.wim (WDS x64 boot image)
SMSTemp
- A temporary folder for updating boot images
Stores
- This is the Drivers (Metadate) store

The following outlines the download process.

1. A client is directed (by using DHCP Options or the PXE Server response) to download Wdsnbp.com
2. Wdsnbp.com validates the DHCP/PXE response packet and proceeds to download PXEBoot.com.
Note: PXEBoot.com requires the client to press the F12 key to initiate PXE boot. One can rename one of the other PXE boot files (such as pxeboot.n12) to download Wdsnbp.com to a different file. 
3. PXEBoot.com downloads Bootmgr.exe and the BCD store. The BCD store must reside in a \Boot directory in the TFTP root folder. Additionally, the BCD store must be called BCD.
4. Bootmgr.exe reads the BCD operating system entries and downloads Boot.sdi and the Windows PE image (Winpe.wim).
5. Bootmgr.exe begins booting Windows PE by calling into Winload.exe within the Windows PE image.

And some additional information also:

When using DHCP Options for PXE Boot, Option 66 and 67 are needed. Option 66 must be the IP-address of your WDS server, Option 67 must be SMSBoot\x86\wdsnbp.com (which is the first file needed during the PXE Boot process).

The default pxeboot.com triggers an F12 requirement. The first F12 requirement is needed when Network Service boot is not on top of list in the BIOS boot order. The second F12 requirement is needed because of pxeboot.com, which is only needed when using Lite Touch Installation (LTI).

The second F12 requirement can be skipped however when renaming the default pxeboot.com to pxeboot.f12 and pxeboot.n12 (which means no F12) to pxeboot.com. After that the second F12 requirement is not needed anymore, also not for Lite Touch Installation (LTI). This must be done in both the x86 and x64 folder to make it functional.

More information about "Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007" can be found HERE

13 comments:

  1. Great blog postings. i just found it but its bookmarked and will quickly become my go to.

    ReplyDelete
  2. Thanks for this. its been of great help :)

    ReplyDelete
  3. It was that good it make me do a little wee

    ReplyDelete
  4. I tried TPTPD64 (http://www.jounin.net/tftpd32_download.html)

    I got hold of the two files: "pxeboot.com" and "pxeboot.n12" from somewhere I can´t remember.

    It worked pefectly, just as simple as intended. Without using "prestaging, Active Directory",etc, with a simple workstation running Windows 7 as "server" for installation of Windows 7 over the network, using PXE boot.

    My questions are:

    1) Am I allowed to use theese two files "pxeboot.com" and "pxeboot.n12" in any way I choose?
    Either for private use, or for use at a company?

    2) Where does theese two files originally come from?

    From Windows AIK? (This seems to be a free of charge download from Microsoft?).

    From WDS Configuration Manager 20007? (Is this free of charge? Does it require that Windows server 2003 is installed, or can theese two files simply be extracted from the installation file?).

    ReplyDelete
  5. Configuring WDS
    • From inside the downloaded SYSLINUX archive, copy the following files:
    o pxelinux.0 from the (syslinux\core) directory to your (RemoteInstall\Boot\x86\) directory on the WDS server.
    o menu.c32 and vesamenu.c32 from the (syslinux\com32\menu) directory to your (RemoteInstall\Boot\x86\) directory on the WDS server.
    • Inside the (RemoteInstall\Boot\x86\) directory, create copies of the following files, rename them accordingly (you can copy paste then rename):
    o Make a copy of pxeboot.n12, save it as pxeboot.0
    o Make a copy of abortpxe.com, save it as abortpxe.0
    • Inside (RemoteInstall\Boot\x86\pxelinux.cfg\), create a file called default. This will be the initial menu you see during PXE boot, edit the file and give it the following contents:
    ==========================================
    where i get o Make a copy of pxeboot.n12, save it as pxeboot.0
    o Make a copy of abortpxe.com, save it as abortpxe.0
    files

    ReplyDelete
  6. soo useful this blog!!!!!!!!!!!!!

    ReplyDelete
  7. Hi, I have a single computer which is throwing up BCD boot errors when booting from the PXE boot.

    it seems it doesn't likc the bcd boot file located on my DP here "\REMINST\Tmp"

    Does anyone know how these files work as I thought I might be able to just delete the file and copy if from another DP, but they all have unique file names on each server?

    ReplyDelete
  8. Great post Henk.. it has everything what I need.
    -Saurabh

    ReplyDelete
  9. Why need 2 boot image in remote install folder?

    ReplyDelete
  10. how to put security password prior boot selections?

    ReplyDelete
  11. How to put security password to pxebooting?

    ReplyDelete