SCCM PXE

From richud.com
Jump to navigation Jump to search


SCCM - PXE - gPXE

Some notes from watching with wireshark


Booting via a USB stick with gPXE !

Emulating a normal PXE boot

...on a correctly booting subnet, with SCCM setup and a machine configured within it.

#!gpxe
dhcp net0
set next-server XXX.XXX.32.60
chain smsboot\x64\wdsnbp.com

Goes through and works( this emulates a standard PXE boot)

Direct chain boot to pxeboot.com, using just next server

This bypasses wdsnbp.com checks.

#!gpxe
dhcp net0
set next-server XXX.XXX.32.60
chain smsboot\x64\pxeboot.com (or pxeboot.n12)

What happens;

\smsboot\x64\pxeboot.com
\smsboot\x64\bootmgr.exe
\Boot\Fonts\wgl4_boot.ttf (not found)
\smsboot\x64\boot.ini (not found)
\Boot\BCD (not found)
\Boot\Fonts\wgl4_boot.ttf (not found)
= FAIL

Direct chain boot to pxeboot.com using just next server, specifying DHCP options 243 and 252

243 & 252 are options set from what wdsnbp.com discovers , they are set before pxeboot.com is requested.

#!gpxe
dhcp net0
set 243:string SMSTemp\2012.02.20.10.46.19.0003.{99FE0226-0DBD-45BF-8CF0-028422086DF8}.boot.var
set 252:string SMSTemp\2012.02.20.10.46.18.06.{99FE0226-0DBD-45BF-8CF0-028422086DF8}.boot.bcd
set next-server XXX.XXX.32.60
chain smsboot\x64\pxeboot.com

The flow with wireshark...

\smsboot\x64\pxeboot.com
\smsboot\x64\bootmgr.exe
\Boot\Fonts\wgl4_boot.ttf (not found)
\SMSTemp\2012.02.20.10.46.18.06.{99FE0226-0DBD-45BF-8CF0-028422086DF8}.boot.bcd (fail) -no blocksize set?
\SMSTemp\2012.02.20.10.46.18.06.{99FE0226-0DBD-45BF-8CF0-028422086DF8}.boot.bcd
\Boot\Fonts\wgl4_boot.ttf (not found)
\hiberfil.sys (not found)
\SMSImages\SMSPKG\UL100006\boot.UL100006.wim (fail) -no blocksize set?
\SMSBoot\boot.sdi (fail) -no blocksize set?
\SMSBoot\boot.sdi
\SMSImages\SMSPKG\UL100006\boot.UL100006.wim
\Boot\Fonts\wgl4_boot.ttf (not found)
\SMSTemp\2012.02.20.10.46.19.0003.{99FE0226-0DBD-45BF-8CF0-028422086DF8}.boot.var

TFTP server seems to not like unspecified block sizes. This works as far as the client trying to find the SMS/variables.dat file, which it tries to pull via a util SMSTFTP and fails.