By default, System Center Configuration Manager 2012 use a small TFTP block size, 512 bytes. This behavior is set to be compatible with all network configuration, but the result is that the PXE boot speed can be slow using Operating System Deployment with SCCM.
We can resolve this problem by adding a registry key on the PXE Server. Modification must be made on PXE Distribution Point.
To increase the PXE boot speed, we need to modify TFTP Block Size.
- In the registry editor:
- Path : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP
- Name : RamDiskTFTPBlockSize
- Type : REG_DWORD
- Value : 16384 (decimal)
Note: 16384 is the maximum supported value. If it is bigger, you can have corrupted data. However I recommend to do some test with values :4096, 8192, 16384. Depends on your network configuration, a lower value can be used.
- Restart the Windows Deployment Services Service. (WDS)
You can have more information about SCCM and PXE here.
Thnx! Great solution!
This worked extremely well! I have an HP Probook 655 G1. PXE booting in UEFI mode took 30-60 minutes before this fix. now it takes less than 3 minutes! THANK YOU!
Came across a PXE issue that might be useful for anyone running Server 2012 with NIC-teaming and Multicast enabled.
SCCM 2012 R2 SP1 when it installs the Distribution Point role onto a server seems to auto set the TFTP packet size to 0 and enable auto variable setting to adapt to the packet size requested by the PXE client.
This was crawling PXE boots anytime the PXE queue went over 2 requests and boot image download crawled to 30 minutes.
After changing TFTP packet size to 8192 and restarting all PXE clients, PXE boot immediately acknowledged 15 clients and boot image download dropped to 1 minute on a VM. Physicals were much faster.
Not a good way to start a Monday, I tell you.
Hope this helps out.