Jump to content

Booting with multiple BCD files


lollan

Recommended Posts

Hello all,

I am using a PXELINUX implementation to load WinPE and boot Windows OSes over the network. Windows 2008, 2003 and XP specifically. However, I have been unable to find the correct BCD settings to load separate instances of WinPE for different architectures. For instance: needing to load Windows PE x86 for 32 bit OSes.

I can successfully boot Windows PE if my BCD file is in my root tftp directory, however if I move it to a sub directory, ie: \Boot\w2k8x86\, I get a blue screen each time referencing the "Boot\BCD". I read that it is necessary to hexedit bootmgr.exe to reference the correct BCD location if loading multiple versions of PE, but have been unable to find that entry in the executable.

Has anyone done such a thing?

Would it be easier to just keep at slipstreaming the 32 bit source files into the 64 bit image and using one WinPE image? I would REALLY appreciate some guidance here as it is driving me mad!

Thanks in advance, all!

*** Update 5/4/9 ***

I have successfully edited my one BCD file where I can load separate .WIM files from Bootmgr, however this is not what I want to achieve. I want to be able to boot x86 or x86-64 architectures from my syslinux boot menu and load the installer from one user intervention there. I know it sounds picky, but I am trying to keep my setup as automated and unattended as possible. I have seen this done before, unfortunately I do not know how it was achieved.

*** Update 5/6/9 ***

Frustrated, I'm inspecting the previous administrator's configuration and I'm making small bits of headway. In the root tftpboot directory, he has 2 BCD files, neither of which named "BCD" which I thought was hardcoded and required? Regardless, if I import these files with bcdedit, I see it's doing exactly what I expected: Neither is there a "bootmgr.exe", each version of Windows being booted seems to have it's own as well.

"osdevice ramdisk=[boot]\boot\w2k8x64\w2k8x64.wim,{ramdiskoptions}"

I imagine you'd have to hex edit pxeboot.0 to look for files other than "BCD" in the root directory? I've not been able to find any information on how to do this after days of endless google searching.

Any help is GREATLY appreciated!

*** Solved 5/6/9 ***

I used a different hex editor in Windows, "FlexHex" and was able to view the hex entries that I wasn't able to previously. I must have had an odd encoding option set or something, because I was seeing completely different characters before. All is good well with the world now, however.

Created BCD and Bootmgr entries for each individual version of PE I wanted to boot from pxelinux and the rest was a breeze once I used FlexHex. Ecstatic to have it working! :)

Edited by lollan
Link to comment
Share on other sites

  • 1 month later...

lollan - i've been trying to acheive the very same thing and am ready to bash my head in!. Which file did you need to modify to get this working? I have done this in the past with WinPE1.x - but since the change to BootMGR have been unable to do what you seem to have acheived. Can you please let me know which files need changing.

Thanks in advance.

s7oneyuk

Link to comment
Share on other sites

Hi s7oneyuk,

What you will likely want is in this thread:

http://www.ultimatebootcd.com/forums/viewtopic.php?t=1931

Basically you will want to edit the BCD file and add all the WIM files are want. The script there is very handy for doing exactly that.

dpc

dpc - unfortunately thats not what im after. i already have multiple entries in the BCD file for booting different WinPE images. What i need is the ability to launch a different BCD file from a syslinux menu entry that lollan has achieved.

Link to comment
Share on other sites

Is there any special reason you need to load up a different BCD file? I am just trying to understand what the purpose would be.

If i understood lollan correctly he wanted to be able to select VistaRE x86 or VistaRE X64 or whatever right from the syslinux menu (which would then invoke a bootmgr that would then load a specific BCD that would then load the WIM if i get this all). Seems like more hassle because it would require editing two files every time you wanted to add a different WIM.

dpc

EDIT: http://www.911cd.net/forums/lofiversion/in...php/t20993.html

"You can change the folder BCD looks for BOOT.WIM in (as long as its 7 characters) by hex editing BCD, but you can't change BOOTMGR because its a signed file." Dont know if its true or not though.

Edited by delicatepc
Link to comment
Share on other sites

the scenario is that we have an automated build environment for Windows, Linux and VMWare ESX using pxelinux off one tftp/pxe server. The default option we have is to boot WinPE3 after 60 seconds. I need to be able to instruct selected hosts to boot a different WinPE3 environment automatically, which can be done by created a MAC answer file on the in the pxelinux.cfg folder. This needs to be a zero touch environment - so users selecting a different WIM file from the bcd menu is not an option.

This seems to be what lolan also acheived with the binary editing of the bootmgr.exe. I'll check out the post you included to see if that helps me.

Link to comment
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.
×
×
  • Create New...