WDS Server - How does DHCP scope option 67 work?

14,974

Solution 1

PXE and options 66,67 is not a Microsoft only technology, those same options can be used to boot a Linux machine.

That 67 option tells the client a path to a file from a tftp server (option 66) that will be retrieved and used to boot. That file needs to be a basic boot loader that will do any other required work.

Solution 2

Option 66 holds the TFTP address, while option 67 holds the path and name of a NBP (Network Boot Program) to be retrieved from the TFTP server, loaded in memory and run.

The clients inform its pre-os runtime on their DHCP transaction using DHCP option 93

DHCP Option 93      Client's pre-OS runtime
      0                      BIOS
      6                      EFI32
      7                      EFI64
      9                      EFI64

This way the DHCP server can provide specific NBPs depending on the client's pre-OS runtime.

Once the NBP is running there's is a sequence of chainloading (retrieving by TFTP and running) of other components like i.e. pxeboot.n12 and then bootmgr.exe (for BIOS clients) or just bootmgfw.efi (for UEFI clients).

bootmgr.exe/bootmgfw.efi will retrieve a bcd that contains (among other things) a "menu" with all the WIM images available for booting, when the user selects an entry the bootmgr.exe/bootmgfw.efi will TFTP transfer, load in memory, and pass control to the corresponding WIM image. This is how PXE (WDS/MDT/SCCM) works on MS platforms.

Share:
14,974

Related videos on Youtube

user1330287
Author by

user1330287

Updated on September 18, 2022

Comments

  • user1330287
    user1330287 over 1 year

    What is the purpose of DHCP option 67? I thought the PXE client will look for a boot.wim file. Does the boot file located in 67 (like boot\x64\wdsnbp.com) go out and search for the boot.wim?

    What does DHCP scope option 67 actually do and why do we need it? Thanks.

  • user1330287
    user1330287 over 7 years
    Okay, it's starting to make sense now. So in general, the C:\RemoteInstall\Boot folder just contains a bunch of different bootloaders that will look for different actual boot images (in the case above, boot.wim) for the appropriate architecture. Am I on the right track? And how we do support multiple boot loaders to support mulitple boot images? Right now I'm working with just one, "boot\x64\wdsnbp.com", to load up a 64bit boot.wim, but what if I need to load up more than one bootloader boot image combos? Thank you.