Skip to content
Menu
vernon.wenberg.net
vernon.wenberg.net
November 24, 2021February 21, 2022

Install syslinux on Windows Server 2019 WDS

Once Windows Deployment Services is installed and running, locate the folder where WDS is installed.
My install is in D:\RemoteInstall.

  • Rename pxeboot.n12 in D:\RemoteInstall\Boot\x64 to pxeboot.0.
  • Rename abortpxe.com in D:\RemoteInstall\Boot\x86 to abortpxe.0.
  • Download syslinux. I used version 5.04. Your mileage may vary with other versions.
  • From the syslinux archive, extract core\pxelinux.0, com32\menu\vesamenu.c32, com32\modules\chain.c32, memdisk\memdisk to D:\RemoteInstall\Boot\x86 and D:\RemoteInstall\Boot\x64.
  • Rename pxelinux.0 to pxelinux.com in both directories.
  • Create the following directories:
    • D:\RemoteInstall\Boot\x64\Linux
    • D:\RemoteInstall\Boot\x64\pxelinux.cfg (this is a directory, not a file)
    • D:\RemoteInstall\Boot\x64\Linux
    • D:\RemoteInstall\Boot\x64\pxelinux.cfg (this is a directory as well)
  • Open a command prompt with Administrator permissions and issue the following commands:
wdsutil /set-server /bootprogram:boot\x86\pxelinux.com /architecture:x86
wdsutil /set-server /bootprogram:boot\x64\pxelinux.com /architecture:x64
wdsutil /set-server /N12bootprogram:boot\x86\pxelinux.com /architecture:x86
wdsutil /set-server /N12bootprogram:boot\x64\pxelinux.com /architecture:x64
syslinux-wds
  • Create a two files called default and graphics.conf in
    • D:\RemoteInstall\Boot\x64\pxelinux.cfg
    • D:\RemoteInstall\Boot\x86\pxelinux.cfg
  • Edit default and add the following text for the default menus:
DEFAULT vesamenu.c32
PROMPT 0
MENU TITLE PXE Boot Menu
MENU INCLUDE pxelinux.cfg/graphics.conf
MENU AUTOBOOT Starting Local System in 8 seconds
# Option 1 - Exit PXE Linux & boot normally
LABEL bootlocal
menu label ^Boot Normally
menu default
localboot 0
timeout 80
TOTALTIMEOUT 9000
# Option 2 - Run WDS
LABEL wds
MENU LABEL ^Windows Deployment Services
KERNEL pxeboot.0
# Option 3 - Exit PXE Linux
LABEL Abort
MENU LABEL E^xit
KERNEL abortpxe.0
  • Edit graphics.conf and add the following text for the default menus:
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #00000000 #00000000 none
MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 none
MENU COLOR TITLE 0 #00269B #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU BACKGROUND background.jpg
NOESCAPE 0
ALLOWOPTIONS 0
  • Place your ISOs or image files in D:\RemoteInstall\Boot\x64 or D:\RemoteInstall\Boot\x86.
  • Edit D:\RemoteInstall\Boot\x64\default or D:\RemoteInstall\Boot\x86 (depending on the architecture of your OS install) and add the following example text:
LABEL LABELNAME
MENU LABEL LABELNAME
Kernel memdisk
append iso raw initrd=FILENAME.iso

Your filename is the name of your ISO file.

Many distros will have their own way of getting this to boot correctly. For example, while Debian
provides a relatively easy path to add a network install, with Ubuntu 20.04, Canonical has taken steps
to push people to alternative ways to easily do a traditional network install. Much Googling is to be
had. See PXE config examples.

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to print (Opens in new window) Print
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on LinkedIn (Opens in new window) LinkedIn

Like this:

Like Loading...

Related

Disclaimer

These posts are notes for me. These are not guides and you should not use these instructions as step-by-step instructions without knowing what they do.

Recent Posts

  • HPE Aruba-CX Notes
  • Docker Reference
  • Useful Commands for Windows Subsystem for Linux
  • FortiManager Local-In Policy
  • Mount Google Drive in Linux using rclone

Mastodon

  1. Loading Mastodon feed...

©2025 vernon.wenberg.net | Powered by WordPress and Superb Themes!
%d