August 19, 2008

Network Boot with Windows Server 2003

Filed under: Network Admin — Tim @ 10:57 am

This is a quick guide how to set up a password protected network boot menu without using windows RIS. This is handy for booting various network boot disks for machine imaging and maintenance.

First off you’ll need the following:

1. A copy of PXELinux
2. Some floppy disk images (or winimage to create some)
3. A bit of time and patience

Now First you have to configure your DHCP server:

  1. Open the DHCP control panel from administrative tools.
  2. Expand the server you are wanting to configure. Expand the “Scope” folder. Right click on “Scope Options” and select “Configure Options”.
  3. Put a check mark in “013 Boot File Size” and enter the file size in 512 octet blocks. Example, your boot image file is 12.8 KB (kilobytes) or 13204 bytes. Divide the file size in bytes by 512 (13204 / 512). And round the number up. Enter the resulting number (26) in the text dialog that is enabled when you put a check in 013. If your using the pxelinux downloaded off this page then 26 is the correct value to enter.
  4. Put a check mark in “043 Vendor Specific Info” and enter the following binary value: 01 04 00 00 00 00 ff.
  5. Open a command window and type the following:
    c:\>netsh
    netsh>dhcp
    netsh dhcp>server \\server_name
    netsh dhcp server>add optiondef 60 ClassID String 0
    netsh dhcp server>set optionvalue 60 STRING PXEClient
  6. Put a check mark in “066 Boot Server Host Name” and enter the IP address of the server.
  7. Put a check mark in “067 Bootfile Name” and enter the name of the boot image file /tftpboot/pxelinux.0.
  8. Right click on the server name in the DHCP control panel, go to all tasks, and select “restart”.
  9. Go back to scope options and verify that all the information is there. You should see the five entries on the right. They should look like this:013 Boot File Size Standard 0x18
    043 Vendor Specific Info Standard 01 04 00 00 00 00 ff
    060 ClassID Standard PXEClient
    066 Boot Server Host Name Standard Server IP address
    067 Bootfile Name Standard /tftpboot/pxelinux.0

If any of the options do not match these, double-click on the option and change the value. More than likely option 060 will be wrong. Change it so it looks like above.

Now configure the TFTP Server as I outlined in the previous post.

You can now finally set up the acutal boot process:

  1. Extract the contents of the pxelinux arcive into c:\windows\tftpd\tftpboot\
  2. tftpd\tftpboot\
  3. In c:\windows\tftpd\tftpboot\pxelinux.cfg\ tftpd\tftpboot\netboot.img on the server once the password password has been entered. More menu items can easily be added by adding more blocks and changing the label and the image filename.

Once all this has been done its time to test it out, if you have everything set up correctly when you network boot a machine on your lan your should be presented with a small password protected menu that lets you boot your floppy disk images quickly and easily!