PXE for some computers
Odd one which seems to manifest itself with new computers.
PXE boot isn't working so I can shove out images.
It's fine for the majority of our machines, the old AMD kit, some new Intel kit, but on some machines, nada.
Picks up DHCP fine. Hits the "looking for policy" then get PXE Aborted or whatever the specific message is. No F12 prompt or anything.
So clearly the server side of it is fine. Boot images distributed as necessary. Works OK for the majority just not for the very few (Same cable, network point etc as I'm testing them here)
SCCM 2012 R2 on Server 2012. No DHCP options as that's not recommended anyway, just ip helpers. Moot anyway as it appears to be machine based. Maybe related to uefi?
SMSPXE log says "No advertisements found".
Are you using IP Helpers?
I have had issues where machines cannot find a policy, it turned out that the time and date in the BIOS was incorrect. Do you get into PE at all?
No, after "Contacting Server" it gets PXE Boot Aborted and carries onto another boot method if available.
Yes using IP helpers. Not sure networking would/should be an issue as it works for other machines. Regardless, I tried using option 66/67 and removing the helpers which worked identically (didn't for the new machine, did for various others)
Using the various methods of searching for incumbent MAC addresses (collection queries, monitoring query) there's nothing stating this machine is present, yet the log suggests it is in the database somewhere.
Is the ts deployed to unknown or a diffrrent device collection? If so os the pc in the collection? Does sccm believe the image has been deployed?
No it doesn't believe that. SCCM believes the machine already exists.
I've just popped an intel NIC in to see if that does anything, and annoyingly it also states the device exists. It absolutely definitely does not!
The deployment is out to all unknown computers.
Client lookup reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777648" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>
00:0E:0C:58:67:2A, 03000200-0400-0500-0006-000700080009: device is in the database.
Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777648" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" PackagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
00:0E:0C:58:67:2A, 03000200-0400-0500-0006-000700080009: no advertisements found
00:0E:0C:58:67:2A, 03000200-0400-0500-0006-000700080009: No boot action. Aborted
00:0E:0C:58:67:2A, 03000200-0400-0500-0006-000700080009: Not serviced.
Another edit: Machine GUID (03000...) is the same regardless of the NIC. However it also appears to be shared with several machines...
Right, nailed it after a bit of digging.
My suspicion on the GUID was correct. It appears some manufacturers like GIGABYTE are lazy gits and don't correctly flash their BIOS - hence you get whole ranges of boards with the same SMGUID.
One flash of the BIOS later and we now have a correct, unique SMGUID and a machine which happily PXE boots.
The following query should help anyone in the same boat (searches for duplicate SMGUIDs)
select * from sms_g_system_SYSTEM INNER JOIN sms_gh_system_SYSTEM on sms_g_system_SYSTEM.ResourceId = sms_gh_system_SYSTEM.ResourceId where sms_g_system_SYSTEM.Name <> sms_gh_system_SYSTEM.Name
And the SQL query can be:
select * from v_GS_System inner join v_HS_System on v_HS_System.ResourceID = v_GS_System.ResourceID where v_GS_System.Name0 <> v_HS_System.Name0