UEFI can't PXE boot
I have some Dell Latitude 5411 laptop to configure, so I try to use fog.
I have an image on my fog server that I want to deploy, but I’m unable to boot with PXE from my physical machines, there is no legacy mode in the BIOS unfortunately.
I put the right boot order in the BIOS and i enabled the UEFI network stack.
I tried on older Dell Latitude (5440), and I’m able to boot with PXE if i put legacy mode, but not UEFI.
I also enabled options 66 67 and 60 on the DHCP server.
maybe i need to put another .efi instead of ipxe.efi ?
Well from your initial post it very much sounds like PXE boot for legacy BIOS machines work but not for UEFI mode ones in general. Sure there are some machines that don’t properly work with ipxe.efi but they usually still load it and then fail to get an IP via DHCP within iPXE or something like that.
Sure you can try snp.efi and snponly.efi but I doubt it will help in your case.
I get an “no bootable device found” error.
Do you see it trying to pull an IP and PXE information from the DHCP at all? Without knowing what stuff you actually see on screen it’s kind of hard to help.
@george1421 My policy is enabled :
I created this policy like in this tutorial : https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence#Using_Windows_Server_2012_.28R1_and_later.29_DHCP_Policy
@eduardotseoane I already red these urls many times, and I use a Windows Server 2012 R2 as I said, maybe i need to put another .efi instead of ipxe.efi ?
@YoshiDeOeuf Just found it, find all the details on this story in this topic: https://forums.fogproject.org/topic/15102/uefi-bios-coexistence-help
but one final piece was still missing
The final bit was / for when the OP of that thread used the bios_and_uefi coexistence process he forgot to activate the policy. I don’t have a windows dhcp server in front of me, but there is a definite option to enable the policy or the scope. Once that was done then the dhcp server was dynamic in the boot file name according to the policy/rules.
@YoshiDeOeuf Your Windows DHCP config looks ok in first sight but there is more to it. I am not an expert in this but I do remember a topic here in the forums not too long ago where someone seemed to have the right settings but one final piece was still missing. Give the forum search a try or maybe @george1421 still remembers as He was the one who was able to help and fix the case back then.
EduardoTSeoane last edited by EduardoTSeoane
@yoshideoeuf NO, you must configure dhcp for UEFI/BIOS Coexistence, take care because efi clients don’t work on all machines, each machine type has his efi client, with NIC chip dependency, the same for legacy.
I don’t work with Windows dhcp server, (are you using it?) so I don’t know how to do it exactly
You must do that when client has UEFI archs send the correct efi file, filtering by Arch and by vendor…, when client has BIOS Archs, you must send the correctl legacy file, filtering by Arch and vendor too.
Read the urls before posted with attention, i think that it has a how-to to solve your problem… with Windows 2012/2008 dhcp server, if it’s your case…
Read this with attention, and if you can post a photo showing the error:
@eduardotseoane Yes, I already use ipxe.efi for UEFI, but it doesn’t work. Do I have to remove the undionly.kpxe ? Or maybe I just need to type /tftpboot/ipxe.efi instead of ipxe.efi ?
EduardoTSeoane last edited by
@yoshideoeuf undionly.kpxe is only for legacy clients, you must use one from *.efi collection on /tftpboot directory of the fogserver that is working as boot server, I dont know how to do it but maybe you mas configure the windows dhcp server to send different files, on arch dependant
Maybe this links can help you…
@eduardotseoane I get an “no bootable device found” error.
I use a DHCP server (windows server 2012 R2)
Here are my DHCP options :
Fog uses the 192.168.2.23, and my DHCP server is 192.168.2.5.
EduardoTSeoane last edited by
@yoshideoeuf can you paste the error?, do you use a proxydhcp or a dhcpd server? have you configure de proxydhcp/dhcp server to provide de efi client? and are you using the correct client?