Boot by network. dhcp and tftp services optimization.

  1. DHCP
  2. DHCP Reservations
  3. TFTP

tftpd32 utility recommended for fast start is insufficiently fucntional for a commercial application. We strongly recommend to use the services included into the Windows Server distributive. They are rather more complex-configurable, but have all the necessary functionality and highly reliable.


The dhcp server service, "Dynamic Host Configuration Protocol (DHCP)" service in "Networking Services" group of the Windows Components Wizard. While installation it asks no questions and needs to be configured after. The tool for dhcp service management is the DHCP tool in the Administrative Tools. Start DHCP management console and create a new address scope:

New scope creation starts so:

Scope name and description are arbitrary. This information is not for the system, but for the administrator. Scope name should be rather informative to determine, which computers are configured in this scope.

Next screen:

It is clear, that IP-addresses, network mask and the number of addresses in the scope will be different in each case. I recommend to reserve more addresses in the scope than the number of the terminals you want to use. The point is that some Operating Systems query dhcp-server even being configured to work with fixed IP-address. And dhcp-server in it's turn can't assign to a terminal any IP-address already assigned to another computer.
One else advise: never set address scope, that includes present computers with fixed address (i.e. which receive configuration from dhcp).

Next screen:

Address range exclusions are used only when it's impossible to assign a sufficient vacant range for the terminals. If in the specified above range there are some computers with statical IP (usually it's Windows computers, bootable from hard drive, which IP is defined explicitly in their configuration), their addresses should be specified in this window.

On this screen is shown how to set the duration of specified IP-addresses validity. Don't change the values on this tab. IP-addresses of those terminals that have no printers can be changed by the dhcp-server and it won't bring any troubles.

New scope creation is over. Now you should set special options for diskless terminals boot. Right click on the Scope Options tab, choose Configure Options...

Scope Options window appears. On the General tab two options should be specified: 066 and 067.

Option 066, Boot Server Host Name, defines the IP-address of the tftp-server.

Option 067, Bootfile Name, defines the name of the file to load to the terminal, from which boot starts. Remember this option! You'll turn to it after determining boot method:

  • If the terminal boots from the floppy, as described in "Fast start!" article (or any other Etherboot-loader is used), then this option should be set to wtshell.nbi
  • If PXE boot method is used, this option should be set to wtware.pxe

Scope configuration is over. The last one and mandatory step — scope activation:

Now your dhcp-server can provide the terminal with information needed for boot.

DHCP Reservations

Two else details can be useful while configuring dhcp-server:

  1. MAC-addresses badly remain in one's memory. It's easier to find required terminal configuration if every terminal has its own name. Also it's useful to arrange configuration files in different folders, for example by rooms or departments.
  2. Sometimes in the same network should work both the terminals boot by PXE method and the terminals, that use Etherboot loaders.

Both problems can be solved in the same way. Should be used Reservations records on the dhcp-server, that describe each terminal. Follow the instructions below:
Rightclick on Reservations, choose New Reservation...

You'll see New Reservation window:

Set the Reservation Name value as the record name. It's convenient if the record name coincides with the terminal name. This name should be unique. Choose IP-address from the created scope. To find out the terminal MAC-address load WTware on the terminal and choose menu item "Show terminal diagnostic information". In New Reservations window MAC-address should be entered without separators (colons, dashes). In the field Description you can write note for you. Then press Add, in the next window press Close. After that configure reservations parameters:

  1. In order to give the terminal special name (and so specify that configuration file will be called by this name, not by MAC-address) you should set parameter 012 Host Name:

    This parameter value can include slash, and so configuration files could be in different directories. If this parameter is set as on the screenshot above, the terminal will search its configuration in the file, folder fold in the tftp-server root. Congifuration files naming conventions you can see here.

  2. Below is described the way to configure the network with both the terminals boot by PXE method and the terminals, that use Etherboot loader. The only problem is to make dhcp-server to return to such terminals different values of the 067 parameter (Bootfile Name). For the terminals boot by PXE method the 067 parameter value should be wtware.pxe, while for the terminals boot by Etherboot loader it should be wtshell.nbi. Firstly define, which terminals you have more. The value for the larger group specify in the main scope parameter section. For each terminal from the second group (i.e. for smaller group) should be created record in Reservations, as was shown above. Then you should indicate, that the 067 parameter for every terminal from this group will have different from all other terminals on the scope value. Rightclick on created Reservations record, choose Configure Options...

    Window Reservation Options appears:

    In this windows set appropriate parameter value. For example if the majority of terminals boot by Etherboot loader and some terminals boot by PXE method, then here we write wtware.pxe.


The tftp-server service, is included into the Remote Installation Services (RIS) in the Windows Server distributive. RIS is a very hungus and hardly-configurable system. If you just want to boot diskless terminals — follow these instructions:

  1. Setup in Add/Remove Programs => Windows Components the Remote Installation Services component, but don't configure it, i.e. don't run the Remote Installation Services Setup.

  2. Run regedit.exe and create new register key HKLM\System\CurrentControlSet\Services\Tftpd\Parameters\Directory, type REG_SZ, value c:\

  3. Run Services console from the Administrative Tools and set Startup type for the Trivial FTP Daemon service to Automatic. In this way: