Jump to content

Booting BOOTMGR from syslinux/UBCD?


delicatepc

Recommended Posts

*SOLVED*

Simple guide on how to add Windows Vista Recovery Environment and other WIM files to the UBCD menu prompt.

(pending verification) Note: If you have a USB stick with U3 software (sandisk have these) you will need to remove the U3 software (requires a special tool from U3/Sandisk to remove, not a simple format). Credit to Edge_013 for bringing this to my attention.

Add following entry to whichever menu file you want the option to show up in (in my its under main.cfg)

LABEL -
MENU LABEL Whatever you Like
COM32 /boot/syslinux/chain.c32
APPEND boot ntldr=/BOOTMGR

Transfer over all the contents of a Windows Vista based install CD/DVD (or the VistaRE CD). All files/folders from here should be in CAPS.

Use a updated version of syslinux and chain.c32 (both can be found at syslinux package) as the ones in UBCD 5.0b12 are out of date and do not work.

Use the following script to edit the BCD file which is found on the USB stick in BOOT\BCD (think of this file as the menu listing for the Windows BOOTMGR)

Rem BCD (boot configuration data) editor for multiple vista pe 

REM THIS IS THE ORIGINAL BCD FILE EXTRACTED FROM ANY VISTA WINPE / VISTA DVD (I USED VISTA INSTALLATION)
set BCD-File="c:\bcd 1\BCD"

REM SET THE NAME FOR THE VISTA PE HERE
set pename="Your PE Name"

REM SET THE NAME FOR THE WIM.FILE HERE WITH PATH
set filena=[boot]\sources\yourwimfile.wim

for /f "eol=r tokens=1-2" %%a in ('bcdedit /store %BCD-File% /ENUM all') do set rdo=%%b


for /f "tokens=1-7" %%a in ('Bcdedit /store %BCD-File% /copy {default} /d %pename%') do set guid1=%%g
bcdedit /store %BCD-File% /set %guid1:~0,38% DEVICE ramdisk=%filena%,%rdo%
bcdedit /store %BCD-File% /set %guid1:~0,38% OSDEVICE ramdisk=%filena%,%rdo%

bcdedit /store %BCD-File% /ENUM

Basically what should now happen is:

UBCD loads.

You select Windows boot option from menu.

Chain.c32 loads BOOTMGR.

BOOTMGR references BCD file and either loads the single entry or shows a menu for multiple entries.

Select the entry you want and it loads the WIM file from SOURCES folder.

That should be it - this is tested and working on syslinux 3.82.

Credit goes to Jotnar (for BCD edit script link) and BJ-Kaiser from MSFN forums (for proper code to load BOOTMGR from syslinux menu)

Original POST:

I am trying to boot the Windows Vista Recovery environment and its associated WIMs from UBCD (syslinux). I know if i can boot the BOOTMGR it would look for the BCD file and then give me a listing of WIMs to choose from that I have already added.

However I cannot seem to get syslinux to boot BOOTMGR file.

My menu item looks like so:

LABEL -
MENU LABEL Vista RE
KERNEL PE2.bss
APPEND -

I have used ubcd4win.bss and tried to hex edit the ntldr to bootmgr however it doesnt seem to changing anything. Does anyone have a valid working pe2.bss or can explain the proper way to hex edit it to load the bootmgr? When i select the Vista RE option in UBCD it simply blinks the screen for a second and then goes back to UBCD (almost not noticeable).

Any help appreciated.

dpc

Edited by delicatepc
Link to comment
Share on other sites


you want to look into using the "chain.c32" module. it allows you to chainload ntldr bootloaders from syslinux. (bootmgr is a ntldr style bootloader too)

I can give you the exact configuration statement tomorrow when I am at work.

Link to comment
Share on other sites

I have tried all of the following:

LABEL -
MENU LABEL WinPE
COM32 /boot/syslinux/chain.c32
APPEND boot ntldr=/BOOTMGR

LABEL -
MENU LABEL WinPE (PE2.BSS)
COM32 /boot/syslinux/chain.c32
APPEND boot ntldr=/PE2.BSS

LABEL -
MENU LABEL WinPE (PE1.BIN)
COM32 /boot/syslinux/chain.c32
APPEND boot ntldr=/PE1.BIN

LABEL -
MENU LABEL WinPE (noslash)
COM32 /boot/syslinux/chain.c32
APPEND boot ntldr=BOOTMGR

In my case chain.c32 is located in f:\boot\syslinux\chain32.c32. I have copied chain.c32 to /boot/ and tried that method but all of the above fail with:

Cannot read Master Boot Record.

Note: A second before it displays that error you can hear the floppy drive attempting to read/check if disk in drive. It sounds like it looks for Master boot Record from all devices.

Attached is image of root of USB stick.

post-247841-1245336657_thumb.jpg

Edited by delicatepc
Link to comment
Share on other sites

LABEL winpe
COM32 /boot/chain.c32
APPEND boot ntldr=/bootmgr

thats how it works for me. chain.c32 is part of the syslinux distribution.

Can you send me a sample of your whole usb stick that boots it? I wouldnt mind recreating it on my end. Maybe i am missing something completely stupid here.

dpc

Link to comment
Share on other sites

I'm at home now, so I cant tell you which version it was or copy it from the USB stick (which is lying around at work).

My best guess is that the version of chain.c32 is not much older than maybe 4 or 8 weeks. If I were you I'd just get me the latest syslinux distribution package (v3.82) and work with that.

Link to comment
Share on other sites

IT WORKS!!!!!!

Problem was UBCD 5.0b12 has out of date syslinux and chain.c32. Updated syslinux by running the syslinux f: and then update chain.c32 and now its able to success boot the bootmgr.

Thank you bjkaiser!

Link to comment
Share on other sites

  • 4 months later...

I'm having a problem getting the BCD file to load using the following code

LABEL winpe
COM32 /boot/chain.c32
APPEND boot ntldr=/bootmgr

and running UBCD off of my flash drive. However if I create an ISO then the BCD file will load and show me my menu options. When trying to load from my flash drive I will get the following error:

File: \boot\bcd

Status: 0xc0000225

Info: An error occurred while attempting to read the boot configuration data

Any ideas why I get this error when loading from a flash drive only?

Link to comment
Share on other sites

DPC,

I am using the syslinux.exe and chain.c32 files from Syslinux version 3.83 and I have tried both a 2GB and 4GB flash drive so I don't think its the drive since everything else on my Goldstick works. I did use the BCDedit script from the thread http://www.ultimatebootcd.com/forums/viewt...&highlight= to modify the BCD file and this is what the files looks like:

Windows Boot Manager
--------------------
identifier {bootmgr}
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {default}
displayorder {f1a99199-7605-11de-b392-0013729b5f06}
{f6b870d9-7605-11de-b392-0013729b5f06}
{default}
{eaee3f11-7605-11de-b392-0013729b5f06}
toolsdisplayorder {memdiag}
timeout 30

Windows Boot Loader
-------------------
identifier {f1a99199-7605-11de-b392-0013729b5f06}
device ramdisk=[boot]\sources\win7-re-x86.wim,{7619dcc8-fafe-11
d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description Win 7 RE and ERD Commander x86
locale en-US
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\win7-re-x86.wim,{7619dcc8-fafe-11
d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes

Windows Boot Loader
-------------------
identifier {f6b870d9-7605-11de-b392-0013729b5f06}
device ramdisk=[boot]\sources\win7-re-x64.wim,{7619dcc8-fafe-11
d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description Win 7 RE and ERD Commander x64
locale en-US
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\win7-re-x64.wim,{7619dcc8-fafe-11
d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes

Windows Boot Loader
-------------------
identifier {default}
device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411
-000476eba25f}
path \windows\system32\boot\winload.exe
description Windows Vista Recovery Environment X86
locale en-US
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411
-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes

Windows Boot Loader
-------------------
identifier {eaee3f11-7605-11de-b392-0013729b5f06}
device ramdisk=[boot]\sources\vista-re-x64.wim,{7619dcc8-fafe-1
1d9-b411-000476eba25f}
path \windows\system32\boot\winload.exe
description Windows Vista Recovery Environment X64
locale en-US
inherit {bootloadersettings}
osdevice ramdisk=[boot]\sources\vista-re-x64.wim,{7619dcc8-fafe-1
1d9-b411-000476eba25f}
systemroot \windows
detecthal Yes
winpe Yes
ems Yes

Link to comment
Share on other sites

Two things.

1. Can you upload a stripped version of your build? Should be able to fit into 5mb remove all the apps just need the syslinux menu, bcd, bootmgr files etc.?

2. Create a working iso (with update syslinux.exe), burn it, test to make sure it works, and then run (cdrive)\ubcd\tools\win32\ubcd2usb.cmd (cddrive) (usbdrive).... like this "ubcd2usb d: f:" where d: is where my files are located and F: is my usb stick.

Ive seen this same issue on my own during testing (several times actually) and it always was a stupid small thing I missed and never thought of posting about once i fixed it.

by the way is there a mismatch between your windows bootmgr files (ie you are using the files all from the same source like windows vista x86?). I think i encountered this issue when attempting use Win7 bootmgr and win vista other files (or something along those lines).

dpc

Link to comment
Share on other sites

DPC,

It will only allow me to upload 200MB and I can't get the Iso to be that small. I've basically taken goldstick v1.4.1 (if you are who I think you are you'll know what that means) updated the Chain.c32, memdisk, syslinux.exe with v3.83 because v3.82 wasn't working either. The Bootmgr file I haven't touched, but the BCD file I have edited to look like what I posted previously.

Here's a rundown of what my flashdrive directory when I view the files:

Boot - contains EN-US, Fonts, Isolinux, Syslinux folders and Boot.sdi, bootsect.exe, ETFSBoot.com, Memtest.exe and BCD files

EFI - contains another BCD file and Fonts folder (not sure what this folder is for)

Sources - contains my .WIM files that BCD looks to

Tools - Contains Syslinux.exe and Goldstick.cmd files

UBCD - contains Menus, images for applications that I use

BOOTMGR

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...