Welcome to MSFN

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


mchipser

slow pxeboot.0 with 3rd party tftp

29 posts in this topic

I just switched from using WDS to deploy my images to using tftp-hpa / pxelinux. This works wonderfully except one small time issue. When pointing pxelinux to the pxeboot.0 it takes approximately 30 seconds for bootmgr to find the BCD and launch the wim. I only found one article about this here. Is it possible to load bootmgr directly and not use pxeboot.0?

I have tried the following with no luck


LABEL test1
COM32 chain.c32
APPEND boot ntldr=/BOOTMGR

LABEL test2
COM32 chain.c32
APPEND fs ntldr=/BOOTMGR

This however works, but with the delay


LABEL Deployments with pass
COM32 chain.c32
kernel Boot/pxeboot.0

Edited by mchipser
0

Share this post


Link to post
Share on other sites

It would be interesting to understand if it's linked exclusively to the pxelinux way of loading BOOTMGR (whatever this way is) or if it is "generic".

But the fix suggested in the given link seems to me "logical", why cannot you use it?

Maybe you could try using grub4dos instead of pxelinux and see if the delay is the same:

https://sites.google.com/a/rmprepusb.com/www/tutorials/pxe

http://diddy.boot-land.net/pxe/

And/or you could try the "new kid on the block", Serva:

http://www.vercot.com/~serva/default.html

https://sites.google.com/a/rmprepusb.com/www/tutorials/serva

which does have a "WAIK independent" WDS server.

jaclaz

0

Share this post


Link to post
Share on other sites

I would expect similar behavior between the syslinux projects (iso, pxe, sys)

This works fine under isolinux, but not pxelinux. It says file can not be found.


LABEL test2
COM32 chain.c32
APPEND ntldr=/BOOTMGR

I am gonna try grub4dos and see if it removes the wait.

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I don't have much of a delay... maybe less than 2 seconds. Except mine just says

LABEL wds
MENU DEFAULT
MENU LABEL Windows Deployment Services
KERNEL pxeboot.0

0

Share this post


Link to post
Share on other sites

I think i might have found the issue.. still not sure how to fix it though..

pxeboot.0 boots bootmgr.exe not bootmgr, the file sizes are different though, bootmgr is 375KB bootmgr.exe is 512KB.. when trying to boot bootmgr.exe straight from pxelinux i get an error saying the file is to large..

when booting bootmgr i get a bootmgr error.. Unable to load BCD. 0xc0000225

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I had the same issue several years ago with Windows 7. So i still use the Vista files to boot my Winpe4 Image without any delay. :thumbup

0

Share this post


Link to post
Share on other sites

I had the same issue several years ago with Windows 7. So i still use the Vista files to boot my Winpe4 Image without any delay. :thumbup

same issue? The boot time or the 0xc0000225 error?

I just tried a bootmgr from server 2008, should be the same as vista with no luck.

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I had a delay when i tried to load Winpe from PXE. I don't get a a error message

0

Share this post


Link to post
Share on other sites

Maybe i need the bootmgr.exe from vista.. not the bootmgr

Edit: I tried the vista bootmgr.exe with the same results..

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I think the problem lies in how bootmgr.exe looks for the BCD, which is confirmed from the post earlier; however why cant i use bootmgr from pxelinux? I think it is an issue with using a *nix tftp server. I thought this would be fixed by using the remap feature of the tftp server, but apparently not..

when booting from isolinux i can boot bootmgr fine with no delay.

When trying to boot bootmgr from pxelinux it can not find the bcd but booting bootmgr.exe it find it with the delay..

I am going to try using a windows based tftp server and see what happens

EDIT:

here is a copy of my remap file.


re ^BCD Boot/BCD
r ^\\Boot\\ Boot/
r ^\\boot\\ Boot/
rg \\ /1

Edited by mchipser
0

Share this post


Link to post
Share on other sites

well i have been trying to get grub to boot the bootmgr / bootmgr.exe with no luck.. this is using TFTPD32

I keep getting an error..


Error 13: Invalid or unsupported executable format

The menu.lst looks like:

title winpe
pxe keep
chainloader /bootmgr

with this menu.lst i get this error

title winpe
pxe keep
chainloader --raw(pd)/bootmgr


Error 1: Filename must be either an absolute pathname or blocklist

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I ended up doing what I found in the first post.. It doesn't completely remove the wait but reduces it quite a bit.. Until i find something better..

I tired to add the option 252 to my dhcp server but that didn't fix the issue.

Still not sure why syslinux & ioslinux perform different than pxelinux..

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I think the problem lies in how bootmgr.exe looks for the BCD, which is confirmed from the post earlier; however why cant i use bootmgr from pxelinux? I think it is an issue with using a *nix tftp server. I thought this would be fixed by using the remap feature of the tftp server, but apparently not..

when booting from isolinux i can boot bootmgr fine with no delay.

When trying to boot bootmgr from pxelinux it can not find the bcd but booting bootmgr.exe it find it with the delay..

BOOTMGR and BOOTMGR.EXE are actually the "same" file BUT the second has some added code to make it a suitable "pxe" target. EDIT: BUT the first has some added code (16 bit) to make it a "local boot" target.

EXACTLY like it was in the good ol'days with SETUPLDR and SETUPLDR.EXE, see:

http://reboot.pro/5900/

http://reboot.pro/4952/#entry40701

It seems to me like you pinned down exactly the problem, i.e. the way BOOTGR.EXE looks for the BCD, and right now it seems to me like there are only the metioned ways out:

  1. use an original WDS server
  2. using the workaround you found http://www.0xf8.org/2012/04/the-30-second-delay-in-booting-windows-pes-pxeboot-com-via-pxelinux/
  3. using an alternate WDS server (suggested but UNtested)
  4. using an alternate loader from pxelinux (suggested but UNtested)

Another possibility (also to be tested) is here:

http://reboot.pro/1656/

http://www.ultimatedeployment.org/win7pxelinux1.html

jaclaz

Edited by jaclaz
0

Share this post


Link to post
Share on other sites

@mchipser

if you like you can test my bootmgr.exe that i use for years with Linux without delay

For testing purpose i have uploaded it to

http://exfile.ru/372587

Greetings

kyor

0

Share this post


Link to post
Share on other sites
BOOTMGR and BOOTMGR.EXE are actually the "same" file BUT the second has some added code to make it a suitable "pxe" target.

Being a little picky, but it would be more correct to say something like;

"BOOTMGR and BOOTMGR.EXE are actually the same file, but the first has some added code (16-bit) to make it a suitable local boot target"

0

Share this post


Link to post
Share on other sites
BOOTMGR and BOOTMGR.EXE are actually the "same" file BUT the second has some added code to make it a suitable "pxe" target.

Being a little picky, but it would be more correct to say something like;

"BOOTMGR and BOOTMGR.EXE are actually the same file, but the first has some added code (16-bit) to make it a suitable local boot target"

Yep :yes: , my bad I got it the "other way round" :blushing: .

jaclaz

0

Share this post


Link to post
Share on other sites
BOOTMGR and BOOTMGR.EXE are actually the "same" file BUT the second has some added code to make it a suitable "pxe" target.

Being a little picky, but it would be more correct to say something like;

"BOOTMGR and BOOTMGR.EXE are actually the same file, but the first has some added code (16-bit) to make it a suitable local boot target"

I think the .exe version has the extra code, at least it is a bigger sized file..

0

Share this post


Link to post
Share on other sites

I think the problem lies in how bootmgr.exe looks for the BCD, which is confirmed from the post earlier; however why cant i use bootmgr from pxelinux? I think it is an issue with using a *nix tftp server. I thought this would be fixed by using the remap feature of the tftp server, but apparently not..

when booting from isolinux i can boot bootmgr fine with no delay.

When trying to boot bootmgr from pxelinux it can not find the bcd but booting bootmgr.exe it find it with the delay..

BOOTMGR and BOOTMGR.EXE are actually the "same" file BUT the second has some added code to make it a suitable "pxe" target. EDIT: BUT the first has some added code (16 bit) to make it a "local boot" target.

EXACTLY like it was in the good ol'days with SETUPLDR and SETUPLDR.EXE, see:

http://reboot.pro/5900/

http://reboot.pro/4952/#entry40701

It seems to me like you pinned down exactly the problem, i.e. the way BOOTGR.EXE looks for the BCD, and right now it seems to me like there are only the metioned ways out:

  1. use an original WDS server
  2. using the workaround you found http://www.0xf8.org/2012/04/the-30-second-delay-in-booting-windows-pes-pxeboot-com-via-pxelinux/
  3. using an alternate WDS server (suggested but UNtested)
  4. using an alternate loader from pxelinux (suggested but UNtested)

Another possibility (also to be tested) is here:

http://reboot.pro/1656/

http://www.ultimatedeployment.org/win7pxelinux1.html

jaclaz

  1. use an original WDS server
  2. using the workaround you found http://www.0xf8.org/2012/04/the-30-second-delay-in-booting-windows-pes-pxeboot-com-via-pxelinux/
  3. using an alternate WDS server (suggested but UNtested)
  4. using an alternate loader from pxelinux (suggested but UNtested)

I am currently using #2.. What other loaders can i use from pxelinux besides grub4dos / grldr, since that one kept giving me errors.

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I think the .exe version has the extra code, at least it is a bigger sized file..

Trust me, bootmgr has every single byte of bootmgr.exe, plus some more (16-bit). It's just that bootgmr.exe is compressed when residing "inside" bootmgr.

0

Share this post


Link to post
Share on other sites

I am currently using #2.. What other loaders can i use from pxelinux besides grub4dos / grldr, since that one kept giving me errors.

Hmmm. :unsure:

Which errors?

Using grub4dos/grldr how (EXACTLY)?

Using grub4dos/grldr which (EXACT) version?

Why #3 is not an option?

Why not trying the 5th (or maybe 5th and 6th) way?

jaclaz

0

Share this post


Link to post
Share on other sites

I think the .exe version has the extra code, at least it is a bigger sized file..

Trust me, bootmgr has every single byte of bootmgr.exe, plus some more (16-bit). It's just that bootgmr.exe is compressed when residing "inside" bootmgr.

I trust you :thumbup

0

Share this post


Link to post
Share on other sites

I am currently using #2.. What other loaders can i use from pxelinux besides grub4dos / grldr, since that one kept giving me errors.

Hmmm. :unsure:

Which errors?

Using grub4dos/grldr how (EXACTLY)?

Using grub4dos/grldr which (EXACT) version?

Why #3 is not an option?

Why not trying the 5th (or maybe 5th and 6th) way?

jaclaz

well i have been trying to get grub to boot the bootmgr / bootmgr.exe with no luck.. this is using TFTPD32

I keep getting an error..


Error 13: Invalid or unsupported executable format

The menu.lst looks like:

title winpe
pxe keep
chainloader /bootmgr

with this menu.lst i get this error

title winpe
pxe keep
chainloader --raw(pd)/bootmgr

Error 1: Filename must be either an absolute pathname or blocklist

I switched from using our current WDS for the TFTP transfer (it is still the DHCP server) since that server only has 10/100 network cards for two of the VLANs. The NAS which is now running the TFTP server has 10/100/1000. I rather not commit another piece of hardware to this.. If the switches I have supported DHCP relay this would not be a problem, they do have VLAN routing though.. I know i could build a RRAS on each VLAN to get IPs, but again another piece of hardware.

I posted in the netgear forums, with no luck..

http://forum1.netgear.com/showthread.php?t=78601

Edited by mchipser
0

Share this post


Link to post
Share on other sites

I think the problem lies in how bootmgr.exe looks for the BCD, which is confirmed from the post earlier; however why cant i use bootmgr from pxelinux? I think it is an issue with using a *nix tftp server. I thought this would be fixed by using the remap feature of the tftp server, but apparently not..

when booting from isolinux i can boot bootmgr fine with no delay.

When trying to boot bootmgr from pxelinux it can not find the bcd but booting bootmgr.exe it find it with the delay..

I am going to try using a windows based tftp server and see what happens

EDIT:

here is a copy of my remap file.


re ^BCD Boot/BCD
r ^\\Boot\\ Boot/
r ^\\boot\\ Boot/
rg \\ /1

I must admit it is several years since I did this, but I remember noticed strange things about different versions of bootmgr.exe's. Read this thread; http://sanbarrow.com/phpBB2/viewtopic.php?t=1705 (maybe aim at page 2 and 3). My tests where done on Windows XP and tfpd32. Maybe there's some usefull information in there.

0

Share this post


Link to post
Share on other sites

with this menu.lst i get this error

title winpe
pxe keep
chainloader --raw(pd)/bootmgr

Error 1: Filename must be either an absolute pathname or blocklist

Without entering in whether the actual "concept" is correct (last time I checked you hade to load pxeboot.n12 :whistle: ), the error 1 simply means that you have not a space between the --raw switch and the target file path and the grub4dos parser reads "--raw(pd)/bootmgr" as a "single item" (since it is a single item withut the space).

Again, which EXACT version of grub4dos is it?

What device (NAS/whatever) is it?

Can it not trun a BINL server?

As in:

http://reboot.pro/1656/#entry119166

http://www.ultimatedeployment.org/win7pxelinux5.html

jaclaz

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.