Hi All,
I have a pxelinux setup here in the office for multiple types of booting ranging from linux installs, to HDD clone software, to DOS based disk wipes.
The server is running debian with tftpd-hpa, dnsmasq, samba and syslinux. So far all of the PXE boots that I have been asked to get working are all working except for Windows installs.
I did some digging and found that there is "wimboot" from http://ipxe.org/wimboot which some people seem to have gotten to work.
I have noticed a few similar posts on here about getting it working with the pxelinux menu. My problem is I have a couple issues I am facing.
- I am running off of syslinux 4 lib files. This, I think, hampers the fix that sha0 (from iPXE) has made, and the reason I am using 4 is becuase when I try and use syslinux 5 or 6 (the latest) the PXE Boot tells me x.c32 is not a valid COM32R imag (where x is either linux, vesamenu, menu etc).
- When using version 4 with the most appropriate syntex I get "kernel load failure insufficient memory"
- If i try using the hack to run it using "bootmgr.exe" I get back an error saying "can't find bootmgr.exe", which is in the location I specified.
Ok, now that we have that out the way some background on the server:
So currently my folders are a bit hey wire trying to follow countless guides trying to follow their version of "working".
My server is "tftpboot" i have a folder called "pxelinux.cfg" which hosts the file called "default"
All other folders in there currently are irrelevant. However my working server looks like this:
├───pxelinux.cfg
│ ├───boot
│ │ ├───clones
│ │ ├───diskwipes
│ │ │ └───dban
│ │ ├───linux
│ │ │ └───debian
│ │ │ └───i386
│ │ │ └───boot-screens
│ │ │ ├───kde
│ │ │ ├───lxde
│ │ │ └───xfce
│ │ ├───memdisk
│ │ │ └───memdisk
│ │ ├───memtest
│ │ └───windows7
│ ├───configs
│ └───splash
└───test
So whether my default has the below (version4 being the version of syslinux)
MENU TITLE Install Boot Menu LABEL Version4 MENU LABEL Version4 COM32 /libs/v4/linux.c32 wimboot/v2.4/wimboot APPEND wimboot initrdfile=bootmgr,boot/bcd,boot/boot.sdi,sources/boot.wim
or
LABEL IPXE.KRN MENU label iPXEkernel KERNEL ipxe.krn initrd wim-boot.ipxe
where wimboo-ixpe is:
#!ipxe dhcp net0 && echo IP address: ${net0/ip} ; echo Subnet mask: ${net0/netmask} kernel wimboot initrd boot/bootmgr bootmgr initrd boot/bcd bcd initrd boot/boot.sdi boot.sdi initrd sources/boot.wim boot.wim boot
or lastly if the script looks like this:
MENU TITLE Install Boot Menu LABEL Version4 MENU LABEL Version4 COM32 /libs/v4/linux.c32 wimboot/v2.4/wimboot APPEND wimboot initrdfile=bootmgr@bootmgr,boot/bcd@bcd,boot/boot.sdi@boot.sdi,sources/boot.wim@boot.wim
So to sum this up.
- I can't use the latest syslinux data for some reason;
- version 5 and 6 end up with invalid COM32R images.
- this was the version that fixed wimboot I believe
- With the correct syntex I get insufficient memory
- I can't get wimboot to run correctly using "initrdfile".