Speed Up Pxe Boot in WDS and SCCM
Trivial File Transfer Protocol (TFTP) is the network protocol used for downloading all files during the boot time. TFTP by default is a slow protocol because it requires one ACK (acknowledgment) packet for each block of data that is sent. The server will not send the next block in the sequence until the ACK packet for the previous block is received. As a result, this is what cause the network to be slow during the PXE booting to a client.
[office src=”https://onedrive.live.com/embed?cid=18DE4C16BF6ED950&resid=18DE4C16BF6ED950%211601&authkey=AMe5GWxOXDmPOuc&em=2&wdAr=1.7777777777777777″ width=”553″ height=”349″]
Step 1: Located your “RemoteInstall” folder:
Step 2: Once you locate your “RemoteInstall” folder locate the “Boot” folder and double click on it:
Step 3: Now that you are within your “Boot” folder you will have to go into the folder that you are going to be using when PXE time. If you are PXE booting into a x64 environment go into the “x64” folder; if not and you pushing out a x86 OS then go into the “x86” folder:
Step 4: I’m pushing out a x86 OS, so I will go into the “x86” folder: [note: if you are doing both x64 and x86 you have to do this on both folder separately]
Step 5: Inside the folder locate the “default.bcd” file and copy it:
Step 6: Take the copy of the “default.bcd” file and place it inside the root of the C drive:
Step 7: You will be running this command within your command prompt: [WAIT! Not Yet]
Bcdedit -store c:\default.bcd -set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpblocksize 16384
Step 9: Open your command prompt as an admin then run the following:
Bcdedit -store c:\default.bcd -set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpblocksize 16384
Step 10: Go back inside the folder where you got the “default.bcd” file from and rename it, so you always have the original in case something happens:
Step 11: Paste the new “default.bcd” file into the boot folder you picked for you environment:
Step 12: Start your WDS server:
Step 13: Go back into your command prompt and run the following command for your WDS server: Sc control wdsserver 129
Follow the steps below to increase the TFTP block size in SCCM 2007 environment.
If you are using SCCM 2007 without SP2
- If you do not have SP2 for SCCM 2007 installed, you need to download and install the hotfix located here on the PXE site server
- Once you have the hotfix installed, you need to add the registry key:
Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\PXE (for a 32 bit OS) or
HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\SMS\PXE (for a 64 bit OS)
Name: RamDiskTFTPBlockSize
TYPE: REG_DWORD
Value: 16384
If you are using SCCM 2007 with SP2 or higher
- When using SCCM 2007 with SP2 you just have to add the registry key to the site server with PXE as the hotfix is already included:
Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\PXE (for a 32 bit OS) or
HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\SMS\PXE (for a 64 bit OS)
Name: RamDiskTFTPBlockSize
TYPE: REG_DWORD
Value: 16384 (change radio button to decimal)
If you are using SCCM 2012
- When using SCCM 2012 you just have to add the registry key to the site server and restart the WDS service:
Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP
Name: RamDiskTFTPBlockSize
TYPE: REG_DWORD
Value: 16384 (change radio button to decimal)
NOTE: It is highly recommend that you increase this setting in multiples of 4096, 8192, 16384, and so forth, but do not exceed a value higher than 16384 or this could cause corruption.
FYI, i followed the steps on a newly created Windows Server 2012 R2 based SCCM 2016 system and it helped speed up boot.wim significantly. Thanks for the info. it is still valid
Thanks for the follow up. Happy it still works for newer versions.
I just wanted to let you know your tip helped. I updated the boot files “bcd”, and then made the changes to the registry for SCCM 2012. Rebooted the server. Booting from Pxe went from 8-10 minutes to 1 minute flat! Thanks!!
That’s great. Happy that this trick still works out.
hi what is the way to increase for the x64 bcd the x86 i have done it what about x64..
Please let me know if i can use the same method.
Thanks
VMware PXE boot can’nt cope with package fragmentation. Do not increase the RamDiskTFTPBlockSize over 1468. Increase RamDiskTFTPWindowSize to 16 instead.