How to change the the display order while doing PXE boot from WDS.


When you do a PXE boot from WDS with multiple boot.wims under boot images, it, in general put the last boot.wim as the default one by placing this GUID of this boot.wim at the top of the display order; If however you want to make some changes to it; like making a specific boot.wim the default one- i.e. when user does not make any choices; it will default to the specific boot.wim- below is the method how you can do that. 

In the example below; when I do the PXE boot, the entry for lite touch windows PE (x64) is one at the top and Microsoft windows setup (x64) is at bottom. 

1. In the WDS server, in remote install folder- there is a folder called as Tmp. If you see something like this, x86x64{B5821D0F-3D3E-4630-9137-5EBDCEAC827D}.bcd; if there are multiple entries starting x86x64 pick the one with the latest time stamp. it is regenerated each time you add a new boot image in WDS. 

 

2. Now open an elevated command prompt and run the following commands:

3. C:\Users\administrator.DOMAIN>bcdedit /store E:\RemoteInstall\Tmp\x86x64{B5821D0F-3D3E-4630-9137-5EBDCEAC827D}.bcd replace the GUID with the one you see in your case. 

Output of the command will be like this:

 

Windows Boot Manager

--------------------

identifier              {bootmgr}

fontpath                \boot\fonts

inherit                 {dbgsettings}

displayorder            {6e2c599c-098a-4146-9ba9-74e5a8ed991a} – First entry in display order.

                        {50d71582-86c8-45d4-83f0-26fbb10c1edb} – Second entry in boot order.

timeout                 30

 

Windows Boot Loader

-------------------

identifier              {6e2c599c-098a-4146-9ba9-74e5a8ed991a}

device                  ramdisk=[boot]\Boot\x64\Images\boot.wim,{5ed7e94a-77d6-4

eb4-8b9d-183b8204fa69}

description             Microsoft Windows Setup (x64) à this is the reason why Microsoft Windows Setup (x64) is first in the list, as it’s GUID is first in the list.

osdevice                ramdisk=[boot]\Boot\x64\Images\boot.wim,{68d9e51c-a129-4

ee1-9725-2ab00a957daf}

systemroot              \WINDOWS

detecthal               Yes

winpe                   Yes

 

Windows Boot Loader

-------------------

identifier              {50d71582-86c8-45d4-83f0-26fbb10c1edb}

device                  ramdisk=[boot]\Boot\x64\Images\LiteTouchPE_x64.wim,{4774

2e6e-620d-4028-a10d-2b31f116681d}

description             Lite Touch Windows PE (x64) à this is second in the list as GUID and thus lite touch is second.

osdevice                ramdisk=[boot]\Boot\x64\Images\LiteTouchPE_x64.wim,{68d9

e51c-a129-4ee1-9725-2ab00a957daf}

systemroot              \WINDOWS

detecthal               Yes

winpe                   Yes

 

Now to reverse the display order, we need to run the following command:

 

C:\Users\administrator.DOMAIN>bcdedit /store E:\RemoteInstall\Tmp\x86x64{B5821D0

F-3D3E-4630-9137-5EBDCEAC827D}.bcd /displayorder {50d71582-86c8-45d4-83f0-26fbb1

0c1edb} {6e2c599c-098a-4146-9ba9-74e5a8ed991a} à Making lite touch.wim first and windows setup x64 second.

The operation completed successfully.

 

C:\Users\administrator.DOMAIN>bcdedit /store E:\RemoteInstall\Tmp\x86x64{B5821D0

F-3D3E-4630-9137-5EBDCEAC827D}.bcd

 

Windows Boot Manager

--------------------

identifier              {bootmgr}

fontpath                \boot\fonts

inherit                 {dbgsettings}

displayorder            {50d71582-86c8-45d4-83f0-26fbb10c1edb}

                        {6e2c599c-098a-4146-9ba9-74e5a8ed991a} àBoot order change this time.

timeout                 30

 

Windows Boot Loader

-------------------

identifier              {50d71582-86c8-45d4-83f0-26fbb10c1edb}

device                  ramdisk=[boot]\Boot\x64\Images\LiteTouchPE_x64.wim,{4774

2e6e-620d-4028-a10d-2b31f116681d}

description             Lite Touch Windows PE (x64)

osdevice                ramdisk=[boot]\Boot\x64\Images\LiteTouchPE_x64.wim,{68d9

e51c-a129-4ee1-9725-2ab00a957daf}

systemroot              \WINDOWS

detecthal               Yes

winpe                   Yes

 

Windows Boot Loader

-------------------

identifier              {6e2c599c-098a-4146-9ba9-74e5a8ed991a}

device                  ramdisk=[boot]\Boot\x64\Images\boot.wim,{5ed7e94a-77d6-4

eb4-8b9d-183b8204fa69}

description             Microsoft Windows Setup (x64)

osdevice                ramdisk=[boot]\Boot\x64\Images\boot.wim,{68d9e51c-a129-4

ee1-9725-2ab00a957daf}

systemroot              \WINDOWS

detecthal               Yes

winpe                   Yes

Now when i do the a PXE boot again from the server, I see the following entries in the list: 

And this is pretty much it. 

thanks for reading. 

Comments (5)

  1. turbomcp says:

    Thanks a lot nice tip

  2. Anonymous says:

    Hello My name is Mayank Sharma and I am a technical Advisor at Microsoft. In this blog I am going discuss

  3. Cosimo Saldi says:

    Great example. Thanks

  4. Robbin says:

    I did this and no result. In "bcdedit /store" was everyting fine, but booting from the device gave the old result. I changed the priority and everything went smooth

    1. Hi Robbin,

      then you must be looking at the wrong bcd. To confirm what BCD PXE process actually uses during PXE boot- you will need to take a netmon.

Skip to main content