SOLVED PXE-99 FileSize 0 error
- FOG Version: 1.4.4
- OS: CentOS 7
- Service Version:
I have FOG running and am trying to boot machines into PXE so that I can register them.
Windows Server 2008 R2 DHCP server.
Scope attributes #66 set to FOG server IP
Scope attribute 67 set to ipxe.efi (I tried undionly.kpxe as well. Same result)
When I boot my systems using PXE I see that it tries to reach out to my fog server and download the ipxe.efi file but it returns that it is 0 KB. Gets PXE-99 error.
I can log into a Linux machine and tftp both the ipxe.efi and undionly.kpxe files without an issue.
What am I missing? I had this working a couple of months ago and loaded FOG onto a new server from scratch and am getting this error.
All machines are on the same VLAN (same switch)
I can ping the FOG server and leverage the web management console normally as needed.
@SmartyParts I am marking this solved but I’d highly recommend looking into UEFI boot (ipxe.efi, snp.efi, snponly.efi, …) as more and more devices and operating systems are heading for this.
@smartyparts Just be aware that legacy (bios mode) needs the undionly.kpxe iPXE kernel and uefi mode needs ipxe.efi. If you have a linux or windows 2012 or newer dhcp server you can have the dhcp server automatically send out the right file name based on the pxe booting target computer.
For uefi mode, secure boot must be off to boot into iPXE.
And we have seen (historically) lenovo systems running in uefi mode need firmware updates to fix the buggy uefi firmware. So typically we recommend you update your firmware first before chasing other issues.
I’m glad you are able to fog now!!
Family, Your advice worked perfectly!
OK… So based on the excellent instructions here I tried a different Dell laptop and it worked with “undionly.kpxe” as option 67. Didn’t like “ipxe.efi”. So then I continued with the outstanding advice and upgraded the firmware on our Lenovo laptops and they worked great as long as I had “Legacy first” enabled under the UEFI.
So I am up and running 100% right now.
The fix for my specific issue in summary :
- Make sure that DCHP Scope option 66 has Fog Server IP
- Set Option 67 to be “undionly.kpxe”
- Firmware updates on any systems that won’t connect.
If the firmware updates don’t help (I really hope they do for you), then we will probably need to see a pcap of the pxe booting process. This pcap will tell us what is flowing down the wire between the target computer, fog server and dhcp server. This process only works really well when the fog server, target computer and dhcp server are on the same subnet. https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue
Upload the pcap to a cloud sharing service (google drive, dropbox, etc) and post the link here and we will take a look at it.
Thanks. I will try a Dell and Lenovo tomorrow as well as firmware upgrades.
These are Lenovo laptops. I will try a Dell tomorrow based on these comments and also try firmware upgrades.
Bios setting is “both” with uefi first, then legacy.
I can tftp both files successfully from a linux server. None of these are virtual. All physical.
@smartyparts It sounds like you have all of the bits in allignment.
First of all what hardware are you trying to pxe boot (mfg model)?
Is this hardware in uefi or bios (legacy) mode. Knowing this will determine what iPXE kernel name you need to set in dhcp option 67.
You said you can download undionly.kpxe vi tftp client on a windows computer, right?
[Edit] after a quick google-fu search I have to ask is this pxe booting device a uefi hyper-v virtual machine? This error seems to pop up the most in references to uefi mode in addition to hpyer-v.