• Home  / 

Adding a boot menu to Windows Server 2008 R2 WDS

By arwidmark / March 15, 2010

Integrating another (3rd party) boot menu for WDS in Windows Server 2008 R2 has changed compared with standard Windows Server 2008… here is how to do it…

  1. Download and extract syslinux-3.85.zip or later from http://www.kernel.org/pub/linux/utils/boot/syslinux  (it contains pxelinux) 
     
  2. Copy the com32\menu\vesamenu.c32 and com32\modules\chain.c32 files to your WDS Server, to both the D:\RemoteInstall\Boot\x64 and D:\RemoteInstall\Boot\x86 folders.
     
  3. Copy the core\pxelinux.0 file to your WDS Server, to both the D:\RemoteInstall\Boot\x64 and D:\RemoteInstall\Boot\x86 folders, then rename it to pxelinux.com 
     
  4. Download a nice background image (http://www.deployvista.com/Portals/0/DeploymentBackground.png), and save it in D:\RemoteInstall\Boot\x64 and D:\RemoteInstall\Boot\x86  
     
  5. In the D:\RemoteInstall\Boot\x64 and D:\RemoteInstall\Boot\x86 folders, make a copy of pxeboot.n12 and rename it to pxeboot.0 
     
  6. In the D:\RemoteInstall\Boot\x64 and D:\RemoteInstall\Boot\x86 folders, make a copy of abortpxe.com and rename it to abortpxe.0 
     
  7. Configure WDS to use the pxelinux.com boot file, in Windows Server 2008 R2 you have to do it through WDSUTIL, here are the commands:
     
    WDSUTIL /Set-Server /BootProgram:boot\x86\pxelinux.com /Architecture:x86
     
    WDSUTIL /Set-Server /N12BootProgram:boot\x86\pxelinux.com /Architecture:x86
     
    WDSUTIL /Set-Server /BootProgram:boot\x64\pxelinux.com /Architecture:x64
     
    WDSUTIL /Set-Server /N12BootProgram:boot\x64\pxelinux.com /Architecture:x64
      
  8. In the D:\RemoteInstall\Boot\x64 and D:\RemoteInstall\Boot\x86 folders, create a subfolder called pxelinux.cfg 
     
  9. In the D:\RemoteInstall\Boot\x64\pxelinux.cfg and D:\RemoteInstall\Boot\x86\pxelinux.cfg folders, create a file named default with the following settings
     
    DEFAULT      vesamenu.c32
    PROMPT       0
    NOESCAPE     0
    ALLOWOPTIONS 0
    # Timeout in units of 1/10 s
    TIMEOUT 300
    MENU WIDTH 40
    MENU MARGIN 0
    MENU ROWS 12
    MENU TIMEOUTROW 14
    MENU HSHIFT 5
    MENU VSHIFT 2
    MENU COLOR BORDER 30;44       #00000000 #00000000 none
    MENU COLOR TABMSG 1;36;44     #00000000 #00000000 none
    MENU COLOR TITLE 1;36;44     #00000000 #00000000 none
    MENU COLOR SEL   30;47       #40000000 #20ffffff
    MENU BACKGROUND DeploymentBackground.png
    MENU TITLE PXE Boot menu
    MENU WIDTH 80
    MENU MARGIN 18
    MENU ROWS 4
    LABEL wds
     MENU       DEFAULT
    # MENU PASSWD P@ssw0rd
     MENU       LABEL Windows Deployment Services
     KERNEL     pxeboot.0
    LABEL local
     MENU LABEL Boot from Harddisk
     LOCALBOOT 0 
    LABEL Abort
     MENU LABEL AbortPXE
     KERNEL     abortpxe.0

Here is how it looks… 

About the author

arwidmark

Thiassi - April 1, 2010

Possible silly question here – you state this is a working version for 2008 R2. Does this not work for 2008 Standard at all? I can’t seem to find a solution for standard so it it won’t work could you throw me a pointer? Many thanks.

Thomas-DK - April 7, 2010

How to revert? 🙂

Driverman5777 - February 14, 2012

I have followed all of the above steps verbatim… However the TFTP PXELinux keeps repeating on the client computer… Any ideas?

Thanks

arwidmark - February 14, 2012

The only thing that comes to mind is that you named the files wrong, or renamed the wrong file…

/ Johan

Comments are closed