PXE UEFI booting Lenovo Yoga X1
-
@fogmania Yep the picture says it all. Wrong boot file. (NBP == uefi system).
Now I can tell you if you have a 2012 or 2016 MS dhcp server the instructions do work. That is how I run my environment. You need to ensure your policy is applied to each subnet scope.
Can you show us what the dhcp scope options looks like for the 10.101.82.x subnet? If you use greenshot to grab a screen snapshot you can obfuscate any private details that might appear in the scope.
-
Here is the screenshot with the scope options for the subnet mentioned:
-
@fogmania Be aware there are 2 64 bit uefi version BC and i86-x64 (type 7 and type 9) in addition to the 32 bit (type 6) (as said from memory). You are missing half of the definitions.
Also for dhcp option 66, you should use ip addresses and not host names.
-
Thanks George,
I did create a policy for each definition. Funnily, One of the X1 Yoga is now booting to UEFI having this config. The other one is still getting the NBP file message.
Why could this be happening? They are connected to the same switch, the Lenovo X240 is also getting the NBP file message.
Option 66 is currently with my Fog Server’s IP.
I feel I’m getting there but I’m stuck at the moment, I’m no expert in Fog. -
@fogmania The picture you showed me only had 2 uefi definitions created, you should have 3. One for type 6,7, and 9.
OK what we are going to do is to use wireshark to find out what is going on. You will need to install wireshark on a computer that is on the same subnet as the target computer. I want you to use the following capture filter in wireshark “port 67 or port 68”. Then keep the time between you starting wireshark and pxe booting the computer to an error. Once you receive an error stop wireshark capture and look at the data.
You should see a dhcp discover packet coming from 0.0.0.0 going to 255.255.255.255 address, click on that packet, then down below click on the triangle (twisty) next to the text “Bootstrap Protocol Discover”. Then scroll down the list until you see Option 93 and the click on the triangle there. That line is the client computer saying “hello I’m type XX” You need to have a matching policy in your dhcp server that matches that system type.
-
Here are the results:
Acording to the documentation, I need to use ipxe7156.efi but I don’t have it in the tftpboot folder.
This is how I have the DHCP scope policy now: I created a policy for each architecture just in case:
-
@fogmania said in PXE UEFI booting Lenovo Yoga X1:
ipxe7156.efi
This boot kernel has been removed because the iPXE project fixed the issue with ipxe.efi so there was no reason to keep an old version of iPXE (release 7156).
Now in your same pcap, packet #2 should be an offer from your dhcp server. Make sure there is only one offer, and its from your dhcp server (or the router’s dhcp-relay interface). Look at that packet before the option numbers there are some fields. You are interested in the Next Server and Boot file name fields. The Next Server should point to the IP address of your FOG server, and the boot file name should be ipxe.efi for this specific troubled server. If these blank, look down in the options for option 66 and 67. These fields instruct the pxe booting client the needed information on how to pxe boot.
-
@george1421 Thanks George,
I had a look at it as you said and I’m getting an offer from the DHCP server with an IP address on the same subnet. The next server IP address is the FOG server but I don’t know why the boot file name is still undionly.kpxe.
With the other identical laptop I’m getting the same results but that other laptop is getting the ipxe.efi, I’m scratching my head a lot as to why this would be happening with two identical laptops.
I’m going to have a look at it again closely today and get back to you. I hope it is not too much bothering from my part.
-
@fogmania You have the right tools and skills right now to find out what is going on. Also you have 2 different responses from two different computers. Compare the computer’s discovery with the dhcp server offer to try to identify what went wrong. I’m suspecting you have a policy or a filter with a type-o in it. Its very easy to do when you are keying in the arch ID in your dhcp server.
-
I have rechecked everything and it looks good to me. I’m also having 2 different responses from 2 identical computers. I checked in wireshark and everything looks the same except that one of the computers gets undionly.kpxe and the other gets ipxe.efi.
IP’s are on same subnet, DHCP server is responding and fog server too. I deleted all policies and filters and created only the filter and policy for the 00007 NIC. Still one gets UEFI, the other does not.
I checked and safe mode is disabled in both laptops. UEFI is enabled in both laptops. Both laptops have the same Architecture according to Wireshark.
I thank you George for your efforts anyway, keep up your good job, it is invaluable to me and this community.
-
@fogmania Firmware the same on both laptops?
If you would upload both pcaps to a google drive and DM me the links, I’ll take a look at them to see if I can spot anything different. I’m sure they are the same, just sometimes I get luck.
-
Found the culprit!!!
One laptop was contacting one of the DHCP servers and and the other was contacting the other one.It was an issue related to server replication, now everything is working at the moment.
Tanks again George, I really appreciate your help.
-
@fogmania Well done!!