Boot X64 Wdsmgfw.efi

1 view
Skip to first unread message

Ferdinando Addison

unread,
Aug 5, 2024, 8:29:20 AM8/5/24
to juiliterpro
Onmy DHCP server i have heard no specific settings need to be configured for PXE. Regardless i have tested with nothing configured, and also configuring options 60 to PXEClient, 66 to the IP of my WDS server and 67 as boot\x64\wdsmgfw.efi, nothing seems to work.

If the WDS server and the pxe booting client are on the same subnet then the WDS server can see the pxe booting client and respond accordingly. You can also set up the dhcp options but you need to be careful there. If I were to setup any dhcp options it would be dhcp option 66 next-server.


Every article or post that I can find is obsolete and/or references files that I do not have/are differently named now. For instance, I am seeing a lot of posts talking about wdsmgfw.efi in the boot\x64\ directory however the only thing remotely close to that in my directory is bootmgfw.efi


WDS listens for PXE related DHCP broadcasts, which contain architecture information. Left alone, it will provide the correct boot file to the client based on that architecture information. DHCP options get in the way nowadays.


I installed Windows Deployment Services (WDS) on a new Server 2012 R2 machine. My Hyper-V (Gen2, UEFI, Secure Boot) clients fail at requesting 'boot\x64\wdsmgfw.efi' via TFTP. The server responds that the file was not found.


I got a top from a Redditor. WDS is supposed to add those files once you add a Windows boot.wim to the boot images. However, this is broken with Windows 10 v1803. I used an earlier ISO and WDS copied the files over to that directory. Very frustrating.


It substitutes the x64 for the character "d". I've tried to escape the x64 with a / and \. I've tried to quote it with " and ', but I cannot get the string I need. Is there any way to escape the x64 so it does not end up a "d"?


Here are some of my "guesses" ... none will result in the file reading "boot/x64/wdsmgfw.efi". The x5c that hugleo suggested (thank you) and the "\" are the only ones that actually surpressed the x64 from becoming a "d", but I could not then get rid of the "x5c" or the "\"!


FYI: I had similar issues to what you are describing, but when options where removed as recommended from numerous blogs and IP helpers configured all worked seamlessly whether its a BIOS or UEFI boot.


I can see communication between the client and SCCM/PXE server using the wireshark sniffer. So, client got IP address from DHCP server and PXE settings from SCCM/PXE server. But it doesn't start TFTP request.


I tried to use different type of client with different firmware. It was HP laptops G3/G5/G7 and vmware virtual machine and Lenovo laptop. The results were the same, client didn't ask TFTP request in case of UEFI firmware.

Additional info I got from laptop (see the screenshot) PXE-E99 unexpected network error.


Based on a lot of research, many situations may cause this issue. Could we know if the boot images were distributed to our DP successfully?

We could check the image status like the image below:




If the response is helpful, please click "Accept Answer" and upvote it.

Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


When you PXE boot to the Windows Deployment Service to deploy an OS to install, you may not see a loading progress bar. This is because the wdsmgfw.efi on some PXE servers switch to the wgl4 font without using the adjusted resolution acquired from bootmgr.efi.


we have just recently made a change in where we moved clients from one segment to a new one. We are using WDS for PXE boot and the WDS server (MDT 2013) is on a different segment than the clients. The Palo is our DHCP server for clients and we have defined some options in our DHCP scope (option 66 pointing to the WDS server and option 67 pointing to the bootfile).


Hi Slawek and thanks for your response. I will change the boot file name to the one you are using. When it comes to security policies I'm not sure and will have to check this closer. I guess there will some policy in regards of TFTP needed?


I'm guessing we have some problems with TFTP and I'm just thinking we might have to create a Policy-Based Forwarding rule for TFTP (port 69) between the client net and the server net? If you have any suggestions I'd be really happy!


When your client receives a TFTP server information from the palo DHCP server, what can you see in the traffic logs on palo? Is your TFTP server in the same subnet as client or not (looks like it is not)? Are they in the same zone (same zone traffic is allowed by default).


Client subnet and the server subnet are they in the same zone? If yes can you please override default Intra-zone policy or make sure you have login enabled on your current policy so you can see client attempts:


We have a zone where the TFTP/WDS server is located (Frontend) and a zone where the PXE clients are located (Client). We have a security rule that permitts TFTP application (service > application default) between these zones. Could it be I'm not allowing the correct services, eventhough TFTP is permitted?


I am a strong believer that finding a workaround to a problem is not a fix to the problem. To that end modern devices such as the surface are meant to be booted using the native UEFI boot. However, many organizations may also still have legacy BIOS devices that do not support UEFI boot or just work better booting from BIOS. Whatever the reasoning behind this it is actually quite easy to setup DHCP to provide the BIOS or UEFI boot file depending on what is used.


The below assumes that you have SCCM configured with a PXE enabled distribution point and a valid and configured DHCP server. You should therefore be at a configured state where you are able to PXE boot BIOS based devices.


As long as you have configured everything correctly you should now have the ability to boot machines from BIOS or UEFI. Hopefully this helps alleviate some of the stress surrounding your PXE deployments. This has worked great on all of our distribution points since implementation and has allowed our deployments to be much more flexible.


Okay so as far as I am aware (please correct me if I am wrong!) the best practice is to get rid of any of the DHCP options discussed above (60, 66 and 67) and use IP helpers instead for the purpose of PXE booting.


We have a HP Firefly 14 G9 laptop and are trying to PXE boot to our Windows deployment server. The connection is hitting the deployment server, but in the deployment services admin log we are seeing this error.


If u are trying to boot a 64 bit only uefi device which in my case was a gen 2 hyper v virtual machine, make sure the task sequence u are making available is using a 64 boot image or pxe boot will fail with: Windows Deployment Services encountered an error: Error Code: 0x102


2. I've tried entering the DHCP options 66 and 67 into the windows dhcp server - Desktop client displays message saying the selected boot device was not available.

2. I've tried removing DHCP options 66 and 67 into the windows dhcp server - Desktop client displays message saying the selected boot device was not available.


But Desktop entered a wait loop after getting the IP address. There was no further booting. Doing a tcpdump revealed that the client is calling the WDS server with the boot string 'boot\x64\wdsmgfw.efi', but the WDS server is not responding at all.


I've had no success with this and as the usage of Foreman to provision

Windows hosts is a little "less mature" and there by generates a little

less useful replies on Google I look to you guys to see if anyone of you

have solved this or have any ideas on how to progress.


So we have provisioned Windows onto BIOS hosts for a while, we do that by

chainloading our WDS from PXE-Linux on the foreman server, it was quite

tricky to get going from the beginning but eventually we got there for a

little over a year ago or so. Now we face the next obstacle, or quite

frankly I do, that my Windows colleagues want everything to use UEFI

instead. I looked into that a few months ago without getting any working

solution, but now it is time for the second round. So what I want to do,

which I hope is possible, is to chainload the WDS in the same manor as we

did with the BIOS hosts, I wont go in to the reasons, but I assume you

could imagine a few of your own.

So I've looked into creating a PXEGrub2 template for this and have had some

success, but when I've made the jump to the WDS and have loaded the first

file wdsmgfw.efi, the installation crashes with the error according to the

image bellow bellow.


As you can imagine the Server IP should most certainly show the ip of the

WDS, that assumption is based on the fact that when booting directly into

the WDS that is what is displayed instead of "0.0.0.0". So seemingly

booting into grub2 chainloading into wds somewhere some information is

lost, I would actually understood it better if the Foreman servers IP was

erroneously shown, but obviously it is not grabbing that IP either. The

present grub2 template in foreman dictates the following:


I guess some of it isn't needed but I have already removed a fairly large

amount of commented out lines that have been used during the massive

testing I did at the last try, so I pasted the lines that was not commented

out for the moment.


In the process of migrating from ConfigMgr 2012R2 to Current Branch, I have 2 ConfigMgr servers on the same network. In addition to that, I have a regular WDS server that is used for imaging servers, and a Ubuntu PXE server that netboots various utilities.


UEFI and Secure Boot. I want to use Secure Boot on some machines. But with secure boot enabled, you can only load a Microsoft signed bootloader. It also requires disabling the legacy boot mode for network booting/

3a8082e126
Reply all
Reply to author
Forward
0 new messages