Friday, October 21, 2005

Running a Windows TFTP Server

There are several 3rd party free TFTP servers for Windows out there, but why use a 3rd party product when you already have a free TFTP server on the install CD? Lets roll!

First, grab the Windows Server 2003 resource kit, and install it.

Now open a shell and go to your I386 directory (CD or distribution share - doesn't matter).

Run expand tftpd.ex_ %systemroot%\tftpd.exe. Note you could place the .exe elsewhere if you like.

Still in the shell, change to the Windows 2003 reskit install directory and run instsrv tftpd %systemroot%\tftpd.exe.

Create a TFTP root directory. It can be anywhere and named anything. For example, D:\TFTProot.

Run the following commands to create / modify the appropriate registry values

reg add hklm\system\currentcontrolset\services\tftpd /v DisplayName /t REG_SZ /d "TFTP Server"
reg add hklm\system\currentcontrolset\services\tftpd\Parameters
reg add hklm\system\currentcontrolset\services\tftpd\Parameters /v Directory /t REG_SZ /d d:\tftproot

And finally, do a net start tftpd

And that's it. Of course it would be a good idea to set the appropriate NTFS permissions on the TFTP root directory, and run the service with a low privileged account.

Why am I doing this? I'm looking to take the 'PE from HDD to RAM' to the next level, which is booting PE via PXE :-)


Anonymous said...

Excellent Find. Tried using the 3com TFTP server that comes with Ghost and it gives nothing but errors attempting to send the files for PXE booting. Using the built in windows TFTPD each client pulls about 30mbits a sec and the server scales perfectly. Thanks so much for the information on how to configure the directory!

HeBeGeeBee said...

Thank you so VERY much!!