You are here:   Home Tips & Tricks Free PXE Sulution. Booting your Server to DOS using a Windows Server
Aug
26
2007

Free PXE Sulution. Booting your Server to DOS using a Windows Server

E-mail
Written by Misha Hanin   
A few days ago, i've got a new 50 servers. Interestingly, the server came without floppy drive and without CD / DVD. Tried to connect external CD (USB) or Disk on Key, but as designed, the server would not started. There agreed that everything bad enough and the best solution run PXE Boot. If you don't know what is PXE, this is what is writen on Wikpedia:

The Preboot Execution Environment (PXE, aka Pre-Execution Environment, or 'pixie') is an environment to boot computers using a network interface card independently of available data storage devices (like hard disks) or installed operating systems. To date, there are several solutions to the implementation of PXE. Microsoft has its Remoute Installation Service (RIS), is that the sort of HP, Symantec, Acronics. There is a solution based on Linux.

I decided not to war with Microsoft RIS or Linux. I wonder a more simple solution. Let me show, what i've installed.

What we will need:

1. Another Computer, running Windows to act as the PXE server. I have used Windows XP.
2. Syslinux-3.51.zip from kernel.org (Do not worry, we will not put Linux, we need only a few files.)
3. DHCP and TFTP Server software for windows (I used TFTPD32).
4. DOS boot floppy. I have used a boot image with NetBoot and Boot image clean Windows 98. Both images can be download here.

Download the software above into a temporary folder on the computer that will act as the PXE Server.

1. On computer, which will serve as a PXE server, create a directory C:\TFTPBOOT
2. Download and Unpack syslinux-3.51.zip in any Temp directory. We need only 2 file from the archive. Take a pxelinux.0 and put it in the root of C:\TFTPBOOT. Then, from the directory memdisk take 'memdisk' file and put it same place (C:\TFTPBOOT).
3. Run Setup of  tftpd32.exe, or simply run tftpd32.exe. Configure Current Directory as C:\TFTPBOOT.
4. Now we need a boot disk image. You can take a boot floppy and create an image, by using the WinImage.

I have downloded Universal TCP / IP Network Bootdisk from http://www.netbootdisk.com/. Created diskette, and then made a IMA image in WinImage.

NOTE : Universal TCP / IP Network Bootdisk uses a boot disk created in Windows XP. I used to beat on what would PXE run this way. Ultimately, just took all the files from floppy UNKLE and placed them in the boot disk of Windows 98. If you do not have time to create an image, you can simply download the file here.

5. Now, in the C:\TFTPBOOT create  directory pxelinux.cfg (I am not mistaken, as it is written-pxelinux.cfg directory).
6. Inside pxelinux.cfg create a text file default. Please note that the file should be no extantion. In my file you have a option to select
wich boot image to use, image with network Support (Universal TCP / IP NetworkBootdisk) or simply use a Clean boot of Windows 98. Here is a contents of my default file :

DISPLAY boot.txt
default Netboot
PROMPT 1

TIMEOUT 300

SAY Enter command line for boot:
MENU TITLE PXE Boot System

LABEL Netboot
MENU LABEL ^Network Boot
MENU DEFAULT
kernel memdisk
append initrd=w98se-netboot.IMA

LABEL Clean
MENU LABEL ^Clean Boot
kernel memdisk
append initrd=W98.IMA


7. In C:\TFTPBOOT directory create a new text fail and name it boot.txt. The contents of the file will appear on boot. In my case, the boot will paused for 30 sec and will wait a human response for select wich Boot Image to use. If I type Netboot and press Enter, the system will load a w98se-netboot.IMA image, it means with Network Support (Universal TCP / IP Network Bootdisk). Here is a ontent of my boot.txt file :

*************************************************************************
Welcome to PXE Boot System Created by Michael Khanin
For more Tips and Trick visit http://TheSystemAdministrator.com
*************************************************************************

Available Boot Options:
=======================

Netboot (Default)
Clean

Note: 'Default' will load automatically in 30 seconds.


8. Now, let's  run tftpd32.exe. In Global Settings select TFTP Server and DHCP Server. See Figure 1 for an example of my setup. After finishing setting click OK.

9. On the DHCP Server tab make settings appropriate for your network. The one of the most important settings, this is' Boot file '. Set the 'Boot file' to 'pxelinux.0'.  See Figure 2 for an example of my setup. Remember to click on SAVE buttone.

10. The server setup is DONE! Now, You can turn on a new server and choose at startup PXE Boot. Further installation, a thing of technology :).

Note :
If you already have a network kakoynibut DHCP server, you can stalknutsya what kind of trouble. I would advise or disable another DHCP server or configured sootvetstveno our preferences. For example Microsoft DHCP Server Boot option file is 67 (67 Bootfile Name).