PXE Boot with UEFI. WDS not sending WinPE wim


  • I am trying to test PXE booting on devices that only have UEFI and no CSM support.
    We are running Windows Server 2008 R2 in our environment.

    On the DHCP server, we have option 66 and 67 set. If I change option 67 to SMSBoot\x86\ and boot a traditional BIOS system (non UEFI) the SCCM server responds and gives me the option to hit F12 and PXE boot. This works without issue and can deploy images.

    I then change option 67 to SMSBoot\x64\wdsmgfw.efi and use a machine that is pure UEFI (meaning UEFI without any legacy support / CSM). The system appears to successfully download the wdsmgfw.efi and font file via TFTP as shown in the WDS logs. However, it then goes to the next sreen where it is trying to contact the WDS server. AFter retrying for a while it will error out with error 0x102 which I believe translates to ERROR_TIMEOUT

    The SMSPXE.log repeats the following:
    Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="2046820352" ServerName="" ServerRemoteName=""><Machine><ClientID>8908f9c4-c345-49ba-b137-af7b0b983584</ClientID><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="GAS20043" OfferIDTime="7/24/2013 3:12:00 PM" PkgID="GAS00037" PackageVersion="" PackagePath="<a href="http:///SMS_DP_SMSPKG$/GAS00038">http://<IVE REMOVED  THIS>/SMS_DP_SMSPKG$/GAS00038" BootImageID="GAS00038" Mandatory="0"/></ClientIDReply>
     SMSPXE 7/24/2013 7:14:58 PM 7724 (0x1E2C)
    00:50:56:01:00:82, DF6A0C42-F909-B518-7B44-3150B662200B: found optional advertisement GAS20043 SMSPXE 7/24/2013 7:14:58 PM 7724 (0x1E2C)
    Looking for bootImage GAS00038 SMSPXE 7/24/2013 7:14:58 PM 7724 (0x1E2C)

    Any idea what may be going on?

    Thursday, July 25, 2013 1:31 PM

All replies

  • Have you tried upgrading the UEFI on the system? UEFI at best has been flaky until very recently for many things including PXE booting.

    Jason |

    Thursday, July 25, 2013 1:57 PM
  • Thursday, July 25, 2013 1:59 PM
  • Jason,

    Currently I am testing with a 64-bit VMWare system. WE are runnign ESX 5.1 and VM hardware version 9. I'm not sure if that is causing an issue, but I cannot upgrade the VM hardware as it is the latest out for production.

    Thursday, July 25, 2013 2:05 PM
  • Torsten,

    Yes actually, I have seen that site. WE are running CM 2012 SP1 CU2. When I check the RemoteInstall folder and go under SMSBoot there are the x86, x64 and fonts folders. Both the x86 and x64 folders have the bootmgfw.efi and wdsmgfw.efi files.

    Option 67 current points to SMSBoot\x64\wdsmgfw.efi

    The way I read the article you referenced was that you could do 64-bit (I assume this is x86-64/amd64 and not IA-64) with Server 2008 R2. If I wanted to do 32-bit I would need Server 2012 (even though it appears that the files are in place which is different than what the article shows).

    Thursday, July 25, 2013 2:09 PM
  • Is the boot image GAS00038 deployed to the PXE enabled DP?

    Torsten Meringer |

    Thursday, July 25, 2013 2:22 PM
  • @Torsten YEs, I have PXE enabled on the WinPE image. Here is a screencap:

    • Edited by James Ihde Thursday, July 25, 2013 2:26 PM Added Image
    Thursday, July 25, 2013 2:25 PM
  • Here is what I am seeing after the VM downloads the .efi and font file:

    Thursday, July 25, 2013 2:28 PM
  • Here is UEFI PXE Booting on a Dell Latitude E6430 laptop. It is in pure UEFI mode with Legacy Option ROM disabled.

    It behaves the same way as the VM. I just wanted to get another data point to make sure I'm seeing the same behavior on more than one platform.

    Thursday, July 25, 2013 3:26 PM
  • I'm still working on this issue. If anyone has any input I'm happy to hear it.

    I currently have a case open with Premier Support on this issue. Latest update is I've sent a network trace capture to Microsoft for them to analyze.

    I cannot be the only one out there trying to do UEFI PXE booting for a 64-bit system against SCCM 2012 SP1 CU2 on Windows Server 2008 R2 SP1. Anyone else out there with a similar configuration?

    Tuesday, August 6, 2013 9:41 PM
  • Hi,

    I am having exactly the same issue here.
    Using Microsoft Surface Pro with Microsoft Surface Pro Network Adapter.
    Setting DHCP Option 66 to my distribution Point (I tested already with 2008 R2 SP1 and  2012 Server - exactly the same problem) and option 67 to SMSBoot\x64\wdsmgfw.efi.

    Surface gets the wdsmgfw.efi file and tries to contact the WDS Server after some time i get error 0x102.

    I already searched he internet for this issue but only thing i found was this thread.

    Are there some more suggestions?

    Based on the hex error code 0x102 ^= 258 i found the following article.
    At the moment I am testing if this can bring us forward...

    • Edited by MK-Maddin Thursday, August 8, 2013 6:57 AM
    Wednesday, August 7, 2013 6:14 AM
  • okay...
    playing around with the settings above was not successfull, too.

    Just getting failure

    Windows Deployment services encountered an error:
    Error Code: 0X102

    Now I am waiting for an answer of Microsoft....

    Wednesday, August 7, 2013 9:13 AM
  • I've still got my case open. Nothing so far.

    I may have made a little progress in trying to figure this out though. I did the following:

    1. Created a Server 2012 VM, installed WDS and added an x86 and x64 WinPE media.
    2. Left option 67 as indicated and PXE booted a machine against it from another network. I got the 0x102.
    3. I then spun up another VM on the same network as the Server 2012 system and did the PXE boot and it worked. I actually got a little bit different screen as well before the normal WDS screen.
    4. I removed option 67 all together and it still booted up properly for the VM on the same network.
    5. Checking the VM on a different network it either got to the 0x102 error with option 67 set or a PXE-E18 error when I left option 67 off.

    not sure where to go from here. BIOS PXE booting works fine to this server regardless of whether the VM is on the same network or not. Possible limitation of UEFI PXE booting? I cannot find anything out there on this.

    Saturday, August 10, 2013 4:41 AM
  • Alright, I believe I've cracked this finally.

    I went into my DHCP options for the network that was on a different network than WDS server and set option 60 to PXEClient. After I did this, it was like magic started...

    Networks that were not the same as the WDS started showing a message similar to the one above.

    I went ahead and changed option 66 to point to my SCCM 2012 SP1 server running Windows Server 2008 R2 SP1 and the results were the same. The VM downloaded the WinPE file and booted into WinPE.

    What I don't understand is why all the regular BIOS PXE booting worked without having to specify option 60? Maybe something to do with UEFI systems specifically?

    In any case, I hope this thread helps others out there that are struggling with this issue.

    • Proposed as answer by Felipe Piton Friday, October 24, 2014 2:10 AM
    Saturday, August 10, 2013 5:56 AM
  • This does sound like something specific to your UEFI implementation.

    Do you have iphelpers in place to direct the PXE broadcasts?

    Jason |

    Saturday, August 10, 2013 3:51 PM
  • Perfect...

    setting Option 60 worked for me, too.
    But while this is set all BIOS devices can't boot from WDS.

    Options set are:
    Option 60: PXEClient
    Option 66: IP of 2008R2SP1 WDS Server
    Option 67: SMSBoot\x86\

    Should i change option 67 to something else?

    Thank you for help

    Monday, August 12, 2013 9:31 AM
  • Same question, do you have iphelpers in place or were you relying on DHCP scope options? If DHCP scope options, why? Have you tired with just iphelpers?

    Jason |

    Monday, August 12, 2013 12:58 PM
  • Jason,

    As far as I know we have IP Helpers in place. I say this because without them setting up the DHCP scope and options did nothing. I created the DHCP scope and then had the network team create the IP Helper for that network.

    So, let us say the DHCP server is on network (VLAN10) and the PXE server is on (VLAN 20) and my client is on (VLAN 30).

    Let's say the DHCP server IP is and PXE server is

    Then shouldn't the configuration be something like below for the IP Helper?

    interface Vlan30
       ip address
       ip helper-address          <-- DHCP Server

    On the DHCP server for the network, the options would be:
    Option 003 Router:
    Option 006 DNS Servers: <IPs of DNS servers>
    Option 043 Vendor: <Vendor specific string>
    Option 066 Boot Server: <FQDN of your PXE server>
    Option 067 Bootfile Name: (BIOS) SMSBoot\x86\ (UEFI x64) SMSBoot\x64\wdsmgfw.efi     (Obviously pick the correct one)

    That is more or less what we had and was not working. It was not till adding the Option 060 ClassID of PXEClient that UEFI started working. Do we need to add the IP Address of the PXE server to the ip helper list? Something like this?

    interface Vlan30
       ip address
       ip helper-address          <-- DHCP Server
       ip helper-address          <-- PXE/WDS/SCCM DP Server

    Monday, August 12, 2013 1:30 PM
  • DHCP scope options and iphelpers for PXE are mutually exclusive for PXE booting: you use one or the other for PXE boot. DHCP scope options will trump iphelpers though.

    So, that comes back to why you are using DHCP scope options at all? iphelpers are the Microsoft supported method since they do not rely on the NIC to do the correct thing.

    Note that I don't know the perfect/correct answer here, just trying to gather and provide more info to help you walk through the possibilities.

    Jason |

    Monday, August 12, 2013 1:35 PM
  • Jason,

    I'm working with what has been in place for years and has been working. However, if there is a correct or better way to accomplish this then I am all ears. Is this the configuration you are suggesting?

    On Windows DHCP Server, configuration options 66 and 67 as appropriate.

    On network switch/router set the ip helper-address like I've listed above.

    Or are you saying that we should not need to even set options 66 and 67??? or getting ride of ALL the options that are set? When you say overwrite, does it overwrite only the ones that you are setting?

    • Edited by James Ihde Monday, August 12, 2013 1:47 PM Expanded Questions.
    Monday, August 12, 2013 1:44 PM
  • If you use DHCP scope options, your iphelpers are never used (at least not on the systems that receive those options). There's no reason for them to as the DHCP scope options tell the NIC where to find the PXE server.

    This is problematic for multiple reason though and is why strictly iphelpers are recommended; i.e., no PXE DHCP scope options configuraded at all.

    Jason |

    • Proposed as answer by Tweedledee17 Friday, November 18, 2016 4:57 PM
    Monday, August 12, 2013 1:49 PM
  • I'm doing some more digging, but it appears that we are leveraging a Nexus device now. The options and configuration before differently as well.

    Here is an article explaining the differences for DHCP:

    This is a thread in regards to PXE Boot issues on Nexus:

    It sounds like you need to add the PXE server as another DHCP relay:   ip dhcp relay address <ip address>

    I'm going to get with our network team to see if they can add the PXE server to the list.

    • Proposed as answer by bdavid01 Thursday, October 22, 2015 7:33 PM
    Monday, August 12, 2013 2:42 PM
  • Hey,

    I am having the following situation:
    DP1 = Windows Server 2008 R2 SP1 (Standalone Primary Site Server SCCM 2012 SP1 CU2)
    DP2 = Windows Server 2012

    UEFI Client: Microsoft Surface Pro (with Microsoft Surface Network Adapter)
    BIOS Client: HyperV Virtual machine with Legacy network adapert

    DP1; DP2 and DHCPServer all in Subnet1.
    (IP Helper is set for DHCPServer for DHCP and for DP1 & DP2 for DHCP and BootP - I checked serveral times if everything is right here)
    UEFI Client and BIOS Client in Subnet2.

    Situation1 -- Using no DHCP Options and both DPs(DP1 and DP2) WDS running:
    UEFI Client - Boots perfectly (contacting Server DP2)
    BIOS Client - Boots perfectly (contacting Server DP2)

    Situaion2 -- Using no DHCP Options and WDS just running on DP1:
    UEFI Client - Does not boot (no error information is provided)
    BIOS Client - Does not boot (no Bootfilename recieved)

    Situation3 -- Using DHCP Options(Option 66="IP of DP1" Option 67="SMSBoot\x86\") and WDS just running on DP1:
    UEFI Client - Does not boot (no error information is provided)
    BIOS Client - Boots perfectly (contacting Server DP1)

    Situation4 -- Using DHCP Options(Option 60="PXEClient" Option 66="IP of DP1" Option 67="SMSBoot\x86\") and WDS just running on DP1:
    UEFI Client - Boots perfectly (contacting Server DP1)
    BIOS Client - Does not boot (taking hours to recieve dhcp options..)

    My problem is i am having a lot of location with 2008 R2 SP1 server only (this is why situation 1 is not enough for me :-( ).
    Based on this article:
    x64 UEFI Devices should work with Server 2008 R2 SP1 (not only Server 2012).
    Interesting is I am having ALL files on Server 2008 R2 SP1 like they are on Server 2012 (in SMSBoot\x86 folder, too!)??

    Some more ideas?

    Thank you for help

    • Edited by MK-Maddin Tuesday, August 13, 2013 2:20 PM
    Tuesday, August 13, 2013 2:20 PM
  • Okay I found a solution to my problem with the Server 2008 R2 SP1 WDS.
    It is working for X64 UEFI devices, too.
    I had to remove PXE Role in SCCM and add it again after some time.
    Seems there was a missconfiguration with WDS at the DP1.

    As solution to be able to use UEFI and BIOS(legacy boot) based devices I would say:
    If your DHCP and WDS server are in the same subnet and your client in another one, you need to enable bootP forward to WDS and DHCP forward to DHCP server with IPhelper. Do NOT use any DHCP options (60, 66 & 67)  in DHCP. This makes the Client decide on their own which bootfile they need.

    Kind regards


    Due to further experiences I have to restrain my previous statement "Do NOT use any DHCP options" - in some caeses it is required to set ONLY option 60=PXEClient with no other, to get the client to know there is a PXE server available.

    • Proposed as answer by MK-Maddin Tuesday, November 19, 2013 6:40 PM
    • Edited by MK-Maddin Thursday, December 22, 2016 5:00 PM
    Friday, August 30, 2013 5:32 AM
  • Hi,

    I've a problem with Uefi PXE Boot.

    I've configured ip helper to point to DHCP and PXE (Sccm2012r2 dp).

    But the client don't get any ip address.

    Monday, November 17, 2014 3:07 PM
  • Hi,

    I've a problem with Uefi PXE Boot.

    I've configured ip helper to point to DHCP and PXE (Sccm2012r2 dp).

    But the client don't get any ip address.

    Please avoid double postings. You already asked the same here Thanks

    Torsten Meringer |

    Monday, November 17, 2014 3:08 PM
  • Same issue.  I have 2 2012r2 SCCM servers, and separate 2012r2 DHCP box. SCCM #2 is the DP and WDS server.  I continued to get error 0x102 when booting EFI pxe but after reading this thread I removed the  DHCP options 66 and 67 and added ip helper to the DP server to the nexus 6k switch and I was able to EFI boot the servers.

    Thanks so much

    Brian D

    Thursday, October 22, 2015 7:37 PM
  • I used DHCP options, because I use RRAS to route traffic. Then my callegue gave me a hint, that in RRAS, DHCP relay agent does the same thing as ip-helper in routers. So, after deleting DHCP options and setting DHCP relay Agent point to my SCCM pxe point, all of the sudden, my UEFI problems with PXE disappeared! 
    Monday, October 26, 2015 4:51 PM
  • Is x86 10240 boot image UEFI compatible? Or is x64 mandatory?
    Wednesday, May 18, 2016 8:46 AM
  • If the system is x64 and has UEFI enabled, then it will only boot an x64 OS. 

    If the system is x86 and has UEFI enabled, then it will only boot an x86 OS.

    These are restrictions of the UEFI and really have nothing to do with the boot image or OS.

    Jason | | @jasonsandys

    Wednesday, May 18, 2016 10:11 PM
  • I removed DHCP scope options and went with ip helpers only and now Legacy + UEFI each work perfectly.
    Friday, November 18, 2016 4:59 PM
  • Option 60 helped me since I could not change the boot file to wdsmgfw.efi which works with uefi boot but not legacy boot.


    Hans Petter

    Wednesday, December 7, 2016 12:23 PM
  • Hi James,

    did you use the following options:

    option 60  PXEClient

    66 ip address of the WDS 

    67  smsboot\x64\wdsmgfw.efi

    without IPHELPER


    Thursday, May 11, 2017 6:50 PM
  • Hi There,

    This EFI thing is driving me crazy withou changing any options on DHCP or WDS I am able to boot  virtuals on EFI and legacy however on a physical PC Only Legacy.

    I've added all the options here mentioned but no luck always get E16 no offer received

    any Ideas?



    • Edited by ppppppppp2 Thursday, June 15, 2017 11:01 PM
    Thursday, June 15, 2017 10:56 PM
  • I have WDS and the DHCP server both on the same server . the clients are also on the same network.

    WDS is adding option 060 to server option in DHCP when bottom check box is checked in the picture ( it is how it should be ) . I dont have option 67 or 66 setup in dhcp .

    the legacy bios client Pxe boots ok, but UEFI client does not boot at all.

    I have also attached my DHCP options

    any Ides why this is not working?


    Wednesday, June 13, 2018 8:15 PM