We recently began making the switch from Legacy BIOS to UEFI and have run into issues PXE booting in some of our locations. One of these issues showed up as PXE-E09 Could not allocate I/O buffers on our Lenovo ThinkPads.
This was only happening on some our machines and these machines would PXE boot successfully in Legacy but not UEFI. To make it more confusing it seemed to be tied to specific BIOS versions. We had previously had issues related to certain BIOS versions (Thinkpad T570/X270) needing to be updated before they would PXE boot in UEFI but those usually showed a PXE-E32 TFTP timeout.
During our troubleshooting occasionally on one of these machines we would see the wrong server IP address and PXE-E18 error. Once we began looking at the networking side we realized that these locations still had DHCP options 66 and 67 configured rather than just an IP helper pointing to the Distribution Point. So these machines were getting a boot file that they couldn’t use and popped up with what looked like a hardware error.
As soon as we removed the DHCP options and setup the IP helper we were able successfully PXE boot in UEFI on all machines.