Which WinPE will you get from a PXE boot?

What I like about Configuration Manager is that there is always new things to learn.  I had one of those learning points recently.  I was with a customer and after explaining that during a PXE boot WDS would detect the architecture of the client machine and send the x86 or x64 WinPE that matched, we did a demo.  We booted a x64 machine and after seeing the x64 detection we saw it download the x86 WinPE, proving me wrong.  As I swallowed my pride and they agreed to do some quick testing for me we found out how it really works.  I took that back and confirmed with some other smart folks in Microsoft.

As it turns out, if you watch the SMSPXE.log you will see that there is a look-up that occurs when the PXE client connects.  It finds the newest OSD task sequence advertisement targeted to that machine, looks up the boot WIM architecture, then sends that.  This would seem like a reasonable thing to do, as it is most likely the same WinPE architecture about to be needed by the task sequence.  If, however, you are setup with several task sequences to, say, the Unknown Computers collection then you may or may not get the expected architecture.  PXE doesn’t know which task sequence you are going to run so this “best guess” gets you something to work from when picking your actual task sequence.

So, if you have a x64 capable client you will get an initial WinPE that is x86 or x64, depending on what the boot WIM is for the newest task sequence for that machine.  I didn’t test, but for an x86 machine you should only get an x86 boot WIM.  I have never seen otherwise for that architecture.

I learned something new, and hopefully you have as well.

Comments (12)

  1. cron22 says:

    Do People actually use WDS in deployment scenarios in production?  I always thought that those were for lab scenarios.  

  2. PXE comes into play as part of the OS deployment feature of Configuration Manager.

  3. cron22 says:

    I've never been exposed to that before yet, but I'm sure my time will come.  I love learning about new things.  But what does PXE have to do with configuring ConfigMGR systems though?  Unless it also has deployment in it's feature set?  

  4. WDS is the underlying technology used to allow PXE booting for ConfigMgr.  technet.microsoft.com/…/bb680753.aspx.  It is very much used in production by many folks.

  5. Bryce – The best way to follow an issue with the product group is to file it (or see if it was already filed) on http://connect.microsoft.com. You can then watch the issue and see what their response to it is.

  6. IslandBoy574 – No way to control it that I know of. Several requests are into the product group so hopefully we see some better control in the future.

  7. Islandboy574 says:

    Is there a way to change this without having to rebuild the x64 version of the task sequence?

  8. Bryce says:

    How can we keep up with the latest from the product group?
    I would love to know ASAP when this is fixed.

  9. Piit says:

    You can split All Unknown Computer collection to x64 and x86 Unknown Computer collection. This helps in some cases.

    1. Create new collection
    2. Limiting collection, All Unknown Computers
    3. Add Direct Rule (Unknown Computer, CPU Type, x64 or x86)
    4. Select x64 or x86 Unknown Computer resource

  10. Surjeet says:

    I ran into the same scenario today with a customer and your blog just saved me, thanks 🙂

  11. Mike Compton says:

    Hi Mike, this is a useful post for other SCCM users.

    You might want to include a link to Jason Sandys's excellent deep dive into this 'process' (or 'bug' if you ask me!), not only does it explain in detail the reasons why and the exact process the selection takes, but also because I can never find his post when
    I search for it, but always find this one! 🙂


Skip to main content