When the boot image takes forever to load…

This one isn’t new but I haven’t encountered this problem until today.
My customers WindowsPE boot image took 1 minute and 15 seconds to load. This is when the PXE-server transfers WindowsPE to the RAM-disk via TFTP. In other words, before the OS-Image gets applied. Adjusting the TFTP-packet size might shorten loading times since larger packets needs fewer acknowledgements from the client. In my customers case it was the fix. With a packet size of 8192 the WindowsPE-image transfer took 26 seconds and with a packet size of 16384 the transfer took only 20 seconds. That’s going from 2mb/s to 7.5mb/s on a 100mbit link.

Previous to SCCM 2007 SP2 you had to download a hotfix but that’s no longer needed. All you need to do is add the following to your registry:

For SCCM 2012 the path is
HKEY_LOCAL_MACHINE\Software\Microsoft\SMS\DP
Add the DWord-value RamDiskTFTPBlockSize and set the decimal value to 16384.

If your SCCM 2007  installation OS is 64bit the path is:

HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\SMS\PXE

For 32 bit OSes and for SCCM 2007 the path is :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\PXE

Here is the official Microsoft KB: KB968718

Don’t forget to restart the WDS-service after you change the registry-value.

Update! With SCCM 2012 build 1606 there’s a new registry option called “TFTPWindowsSize” to modify the window size of TFTP packages. (“The receive window is the number of bytes a sender can transmit without receiving an acknowledgment.” – Microsoft).

Jörgen Nilsson has done an excellent comparison on how the two registry values impact speed during the download of the bootimage. So have a look at his site here: http://ccmexec.com/2016/09/tweaking-pxe-boot-times-in-configuration-manager-1606/