UBCD 5.0 - Vista RE, Multiple WIMs, OS Install/Diagnostics

Discussion/announcements about test/beta releases of UBCD will be posted here.

Moderators: Icecube, StopSpazzing

Message
Author
delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

UBCD 5.0 - Vista RE, Multiple WIMs, OS Install/Diagnostics

#1 Post by delicatepc » Mon Jun 01, 2009 8:57 am

*SOLVED*

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

Add following entry to whichever menu file you want the option to show up in (in my its under main.cfg) - this is what loads up the Windows BOOTMGR.

Code: Select all

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.
Note: If you want to get chainloading the BOOTMGR with ISO you will need to either use the yet to be releashed syslinux 3.83 chain.c32 or greater or you can download the patched chain.c32 here: http://www.boot-land.net/forums/index.p ... st&id=8729

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)

Code: Select all

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) and Icecube for showing issue with old chain.c32 module

Original POST:
Hi,

Been searching for several months and have not found a good solution to what I would like to do. Ideally in the end I will be able to throw this all together into a guide so that it may be used by everyone else.

I would like to be able to boot UBCD (and its related tools), Vista Recovery Environment, Windows Vista Installation, Windows 7 Installation, and other WIM files if needed. I do not seek a single WIM boot (but that would be a start). Ideally all the WIM files would be separate (this is due to the nature of the WIMs constantly being updated).

I am using:

UBCD 5.0b12 (installed using USB win32 method)

USB Stick 8GB (WD Traveler)
USB Stick 16GB (Cosair)

Vista Recovery Environment DVD (X86/X64)
Vista Installation DVDs
Win7 Installation DVDs
Access to multiple WIM files that are maintained by another group

Where should I begin?
Last edited by delicatepc on Tue Jul 28, 2009 10:37 pm, edited 3 times in total.

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#2 Post by Icecube » Mon Jun 01, 2009 9:32 am

Search at the boot-land.net forums.

Windows 2K/XP/2003 and Vista subforum:
http://www.boot-land.net/forums/index.php?showforum=15

Windows 7 subforum:
http://www.boot-land.net/forums/index.php?showforum=77

Tutorial section:
http://www.boot-land.net/forums/index.php?showforum=31
Download Ultimate Boot CD v5.0: http://www.ultimatebootcd.com/download.html
Use Parted Magic for handling all partitioning task: http://partedmagic.com/

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#3 Post by delicatepc » Mon Jun 01, 2009 10:18 am

Thank you for the quick reply Icecube.

I have looked through the the forums you have mentioned and there is a great deal of information. However I have tried several of the different methods/tutorials and it has always been no success (or success for only one WIM).

http://limitless-power.co.uk/multiboot/ ... tGuide.pdf
http://www.msfn.org/board/-t120444.html

The above are some of the more sophisticated efforts but each have the one WIM limitation.

From what I gather, it seems that we can hexedit the windows bootloader to load different WIMs (image1.wim, image2.wim, image3.wim). Maybe I am totally missing the mark here

I would really like to walk through this with some folks with a better understanding of grub/syslinux/and bootloaders in general.

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#4 Post by delicatepc » Mon Jun 01, 2009 10:25 am

For example:
http://www.911cd.net/forums//index.php? ... e=threaded

If using SYSLINUX
Step 10 - Add Windows PE 2.0 (optional)

Windows PE 2.0 can be added - you will need to download, and install, the Windows Automated Installation Kit (WAIK) from the following site
http://www.microsoft.com/downloads/than ... layLang=en

To add PE 2.0 you will need to extract a bootsector from a working installation (on USB stick) using Bart's mkbt.exe (contained in pebuilder). To create a working installation you will need to follow the instructions in the user guide contained in the WAIK (in the "Windows PE Walkthroughs section"). Ignore the instructions to use FAT32 file system and use FAT instead.

Copy the extracted bootsector to the root of your USB drive and rename to PE2.bss
* Follow the instructions in the WAIK guide to create PE 2.0 files.
* Copy the contents of the "ISO" folder created in the proceding step to the root of your USB stick.
* Add an entry in menu.txt (eg "9.- WinPE 2.0")
* Edit syslinux.cfg and add the following lines
If using GRUB
To add Windows PE 2.0
Oops! At present GRUB4DOS does not support directly chainloading bootmgr (WinPE 2.0's equivalent of setupldr.bin/ntldr). The only way to add WinPE 2.0 is to create a separate partition with bootsector (refer to method 2 below) and then chainload the partition using the following entry in menu.lst:

CODE
title WinPE 2.0
find --set-root /sources/boot.wim
chainloader +1
In the syslinux case I have never been able to successfully extract the bootloader and get it to boot.

In the grub method it requires another partition which is not ideal (unless the second partition is only to specify bootloader and the actually wim files could be on the main partition)

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#5 Post by Icecube » Tue Jun 02, 2009 3:50 am

You best can go to a specific Windows forum, like boot-land.com, cd911.net, ... to find a way to make it possible (or to be told that it is impossible).
Download Ultimate Boot CD v5.0: http://www.ultimatebootcd.com/download.html
Use Parted Magic for handling all partitioning task: http://partedmagic.com/

Jotnar
Posts: 10
Joined: Tue Jul 29, 2008 6:34 pm

#6 Post by Jotnar » Sun Jun 14, 2009 7:22 pm

"More than One WinPE distribution on one DVD?"
http://www.msfn.org/board/index.php?showtopic=131887

You have to edit the BCD store to boot multiple wims.

You can get to BOOTMGR through ISOLinux/GRUB4DOS.

Cheers

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#7 Post by delicatepc » Tue Jun 16, 2009 7:55 am

Jotnar - THANK YOU!

Editing the BCD file using the below script works fabulous - just added Vista Recovery Environment X86 and X64 and Vista Install to a single usb stick.

This is a batch file (credit varun037). You only need to modify the first three variables and thats it.

Code: Select all

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
One last thing - How can I add an option into UBCD to load up the windows boot manager (BCD)?

I have the following in my menu but unfortunately it doesnt seem to go anywhere. Perhaps i have extracted the pe2.bss incorrectly?

Code: Select all

LABEL -
MENU LABEL (Optional) VistraRE X86
KERNEL PE2.bss
APPEND -

millermmail
Posts: 6
Joined: Wed Apr 01, 2009 6:30 pm

#8 Post by millermmail » Wed Jun 17, 2009 11:20 am

I did something similar to this already...with GRUB4DOS and a 16GB Sandisk Cruzer. It's partitioned so many Linux distros can co-exist on the last half, and Windows can use the first half for patches/updates/etc.

So far, here's what I have working:
VistaPE (minimal, standard, complete) ISOs
Vista x64 startup repair CD ISO
Vista x86 startup repair CD ISO
UBCD 3.4 ISO
UBCD 4.1.1 ISO
Norton Save & Restore 2.0 ISO
Puppy Linux
Ubuntu 9.04 (non-persistant)
Knoppix (forget what version, non-persistant)
BackTrack 3 (non-persistant)
my custom DOS boot floppy as an ISO

Along with some other tools that I can't remember

I haven't successfully installed Windows from it but I do have a partition with all the service packs and such for XP and Vista (x86 and x64); as well as a ISO for PLoP boot manager in case I need to work on a computer without USB BIOS support.

Basically, I made a super-computer-repair kit with one 16GB thumbdrive and one CD.

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#9 Post by delicatepc » Thu Jun 18, 2009 6:27 am

I have downloaded several "Ultimate boot CD"s to see how they do the coding for it and for the most part they use grub (directly or load it through syslinux). I really want to find a native syslinux solution to load bootmgr.

One thing I definitely avoid is complexity of partitions - I am trying to put together this toolset for large group of people with varying USB hardware. The goal would be to easily be able to recreate this tool on any USB stick or drive.

Grub seems to be a pretty powerful loader. Is there any reason why UBCD uses syslinux as default?

Note: Apparently with grub you cannot chain load the BCD bootloader. You can launch WIMs but I rather just load BCD (less overhead).

dpc

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#10 Post by delicatepc » Thu Jun 18, 2009 7:59 am

SOLVED!

UBCD 5.0b12 has out of date syslinux and chain.c32. When you update the chain.c32 and syslinux you can chainload the boot loader. I will update the original post to explain how to do all of this.

http://www.msfn.org/board/index.php?sho ... ntry864230

Much thanks to bj-kaiser from MSFN forums.

dpc

millermmail
Posts: 6
Joined: Wed Apr 01, 2009 6:30 pm

#11 Post by millermmail » Thu Jun 18, 2009 6:22 pm

delicatepc wrote:I have downloaded several "Ultimate boot CD"s to see how they do the coding for it and for the most part they use grub (directly or load it through syslinux). I really want to find a native syslinux solution to load bootmgr.

One thing I definitely avoid is complexity of partitions - I am trying to put together this toolset for large group of people with varying USB hardware. The goal would be to easily be able to recreate this tool on any USB stick or drive.

Grub seems to be a pretty powerful loader. Is there any reason why UBCD uses syslinux as default?

Note: Apparently with grub you cannot chain load the BCD bootloader. You can launch WIMs but I rather just load BCD (less overhead).

dpc
Just curious...don't mean to get off topic...what sort of issues have you run into with using partitions?

I thought I was making it easier, I have a CD (or mini-CD, or DVD) size partition for each distro that can't boot directly from the ISO. Then I have one big one for Windows, which is shared by the GRUB4DOS config menu files and ISOs that I boot from.

One of my friends ran into an issue partitioning where after about 10-15 partitions you can't create any more, but I haven't found that many worthwhile things to put on mine so I haven't had any issue.

I assumed I was making it easier, I was following a guide for a super boot DVD but instead of dumping a mess into the root, I segrigated it by partition. If I want to upgrade something, I just wipe the selected partition (except the menu) and copy the new files. If I want to remove something, I just delete the one partition. If I want to add something, I just add a partition. Windows only sees the first partition (Primary) and I use Puppy Linux or Ubuntu to access/create extended partitions for each distro.

Always eager to learn!

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#12 Post by delicatepc » Thu Jun 18, 2009 7:34 pm

For me its mostly a preference thing - either way would probably work but single partition seems to work at the moment so i am not going to rock the boat with it yet.

Probably the biggest problem I see with partitions is the extra overhead required.

For example I have installed my custom build of ubcd probably 20-40 times so far (testing etc.). Each time the only i needed to do was run "ubcd2usb.cmd c:\ubcddev e:" and it would automatically format, partition, install bootloader, and fill the drive with the ubcd components. Now i could achieve the same affect with some fancy script work but here is some problems:

1. Whoever takes over this build or whoever wants to add to build is going to get confused.
2. My scripting ability is limited and I would like to stay as close to original project as much as I can. Ultimately UBCD is going go gold and i rather avoid splitting up my components and recreating the tool once it goes gold.
3. USB sticks have been known to have certain multi-partition issues.

Dont get me wrong - partitions sound great when dealing with large image files. However for the sake of super simplicity I am going to go with syslinux on single partition.

Perhaps lastly and most importantly the ubcd build is going to be published to large group of techs each working remotely from each other (for the most part) - I want them to be able to reverse engineer the build to their liking. Thats one of the beauties of bootable usb sticks.

simple guide will come soon.

dpc

millermmail
Posts: 6
Joined: Wed Apr 01, 2009 6:30 pm

#13 Post by millermmail » Fri Jun 19, 2009 7:00 pm

delicatepc wrote:For me its mostly a preference thing - either way would probably work but single partition seems to work at the moment so i am not going to rock the boat with it yet.

Probably the biggest problem I see with partitions is the extra overhead required.

For example I have installed my custom build of ubcd probably 20-40 times so far (testing etc.). Each time the only i needed to do was run "ubcd2usb.cmd c:\ubcddev e:" and it would automatically format, partition, install bootloader, and fill the drive with the ubcd components. Now i could achieve the same affect with some fancy script work but here is some problems:

1. Whoever takes over this build or whoever wants to add to build is going to get confused.
2. My scripting ability is limited and I would like to stay as close to original project as much as I can. Ultimately UBCD is going go gold and i rather avoid splitting up my components and recreating the tool once it goes gold.
3. USB sticks have been known to have certain multi-partition issues.

Dont get me wrong - partitions sound great when dealing with large image files. However for the sake of super simplicity I am going to go with syslinux on single partition.

Perhaps lastly and most importantly the ubcd build is going to be published to large group of techs each working remotely from each other (for the most part) - I want them to be able to reverse engineer the build to their liking. Thats one of the beauties of bootable usb sticks.

simple guide will come soon.

dpc
Ah, I understand. Yes, for testing or for a single use it's undoubtably better to keep it simple.

I wasn't basing my disk on UBCD alone -- in fact I keep two versions of UBCD for backward compatibility, I've found some old computers "like" v3.4 better than v4.x or v5.x; likewise I have many different tools and distros coexisting, some of which use different versions of the same system files.

Thank you for the insight!

andrewdls
Posts: 2
Joined: Wed Jul 01, 2009 1:43 am
Location: New Zealand

#14 Post by andrewdls » Wed Jul 01, 2009 2:26 am

I have a USB formatted to Fat32 with a single partition. I use Grub4dos to boot:
1. Dos - from files in the root of USB
2. Various Partition tools from isos
3. BartPE iso
4. Two different boot.wims

I used bootsect to write the vista bootsector on the stick which calls bootmgr, renamed the actual bootmgr to bootmgrv (menu.lst entry calls bootmgrv for
WinPE booting), and grldr to bootmgr so grub4dos is loaded at boot.

Works really well and is very easy to update with new isos etc as they turn up.

millermmail
Posts: 6
Joined: Wed Apr 01, 2009 6:30 pm

#15 Post by millermmail » Wed Jul 01, 2009 3:38 pm

andrewdls wrote:I have a USB formatted to Fat32 with a single partition. I use Grub4dos to boot:
1. Dos - from files in the root of USB
2. Various Partition tools from isos
3. BartPE iso
4. Two different boot.wims

I used bootsect to write the vista bootsector on the stick which calls bootmgr, renamed the actual bootmgr to bootmgrv (menu.lst entry calls bootmgrv for
WinPE booting), and grldr to bootmgr so grub4dos is loaded at boot.

Works really well and is very easy to update with new isos etc as they turn up.
How did you make BartPE boot without a blue-screen? I am yet to make an XP based anything (preinstall, system recovery, etc. environment) that will boot from an ISO successfully.

Agree with the ISOs...quick and to use and super easy to update.

andrewdls
Posts: 2
Joined: Wed Jul 01, 2009 1:43 am
Location: New Zealand

#16 Post by andrewdls » Thu Jul 02, 2009 12:20 am

Ah, a wee bit of fiddling. Instructions here: http://www.911cd.net/forums//index.php? ... 10806&st=0. I edited the pe2usb-f32.cmd found here http://usb.smithtech.us/pe/instructions.htm so I could have a fat32 USB stick. Commented out entries to format usb and set the target to HD so I can run it and update iso as needed then copy new iso to my usb.

Menu.lst entry for grub4dos 0.4.4:

# Boot BartPE by finding ntldr
title BartPE
find --set-root /ntldr
chainloader /ntldr

Also just discovered that grub4dos 0.4.4 can boot vista directly by calling bootmgr but it is moot as you have to get grub4dos booting at some stage so might as well rename it and get it booting first up.

wernes
Posts: 8
Joined: Wed May 07, 2008 12:36 am

#17 Post by wernes » Fri Jul 03, 2009 2:52 pm

Well,for me something is unclear in the explanations from the first posting.I want to add W7RC to ubcd (not multiple windowses),just one W7 setup disc.So ,my questions are related to:
1.I have to rename to CAPS only these files and folders:boot,efi,sorces,......,autorun.inf,bootmgs,Last Session,setup.exe?Or all the subfolders and the files from them?
2.If I put the "boot" folder from w7 disc in the ubcd iso,this will merge with the "boot" folder from ubcd.Is this ok?Also w7 disk and ubcd iso ,each have one file "autorun.inf".Which is needed?
3.On ubcd iso/disk,in "boot" folder there is no syslinux file ,only syslinux.cfg.After replacing the chain.c32 file what other files are obsolete and need to be removed?

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#18 Post by delicatepc » Thu Jul 23, 2009 10:50 am

Read this post for some ISO related tips and one bug I encountered when doing this on ISO:

http://www.msfn.org/board/index.php?sho ... ntry872052

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#19 Post by Icecube » Thu Jul 23, 2009 1:26 pm

@ delicatepc
I found that bug in chain.c32 and I posted the solution for booting bootmgr and setupldr.bin from a ISO with ISOLINUX and chain.c32 a few hours ago at boot-land.net :D .
http://www.boot-land.net/forums/index.p ... id=72457&#

It's a small world :o .

I just wanted to ask you, if you did try your approach with an iso instead of a USB stick and that you wanted to try the patched version.

The patched version will be in the next UBCD or when Syslinux 3.83 comes out, that version will be included.

Small remark:
The boot keyword is not necessarily needed (chain.c32 assumes that you want to set the root drive to the current boot drive for the chainloaded file, but it doesn't harm if you add it):

Code: Select all

APPEND boot ntldr=/BOOTMGR 
This will work too:

Code: Select all

APPEND ntldr=/BOOTMGR

P.S.: Update your first post again.
Download Ultimate Boot CD v5.0: http://www.ultimatebootcd.com/download.html
Use Parted Magic for handling all partitioning task: http://partedmagic.com/

delicatepc
Posts: 49
Joined: Mon Jun 01, 2009 8:30 am

#20 Post by delicatepc » Thu Jul 23, 2009 4:58 pm

@ icecube
I just wanted to ask you, if you did try your approach with an iso instead of a USB stick and that you wanted to try the patched version.
What I am currently doing is using the patched chain.c32 specifically for ISOs of my ubcd build. As for USB sticks I am using the syslinux 3.82 stock chain.c32. I actually was testing it with ISO first (havent tried the patched chain.c32 with usb stick installs).
The patched version will be in the next UBCD or when Syslinux 3.83 comes out, that version will be included.
If I understand you correctly this will be fixed in syslinux 3.83? No need for a special "patched" version?

@wernes - look at your other thread - I posted a more detailed explanation on how to add Win7RC to ubcd.

Post Reply