Help - Search - Members - Calendar
Full Version: How to Install BartPE to Another Partition
The CD Forum > Bart's PE Builder > General
Pages: 1, 2, 3
spacesurfer
I'm no expert but here's something I put together from my experience. I couldn't find anything complete on this forum; there is a lot of information here but it's in bits and pieces. I used much of jaclaz and Ed_P's posts to figure out how to install BartPE to a partition other than Windows XP. Thanks jaclaz and Ed_P.

You won't have to use any MBR writing program or HEX edit anything.

The partition must be a primary partition.

Requirements: Bart’s PE Builder 3.1.1.0a and grldr, which is a Grub4Dos file. Do a search to download Grub.

This is a general guide. Depending on your needs, you may change your setup.

1) Build BartPE

First, build your BartPE the way you want. It works with Sherya’s XPE plugin flawlessly.

I don’t think the size matters since we are not going to load the actual ISO. You actually don’t have to build the ISO since peinst does not use the ISO to copy the files to [Part].

Next, format your partition. I used Windows XP format to format it as NTFS. The size is roughly that of a CD – 700 mb. I’m not sure if FAT32 works. I’m also not sure if formatting using peinst.cmd or HP utility works either. (Note that although I formatted my BartPE partition as NTFS from Windows XP, it is actually seen as a FAT partition when I load BartPE. It's strange.)

Use the peinst plugin to install you BartPE to the partition you want – referred to as [Part]. Mine is E:\ so my [Part] is E:\.

Do not rewrite the boot.ini file. We are only using peinst.cmd to copy the files to [Part]. Peinst.cmd will, of course, change I386 to minnt. That is OK. Let it do what it wants to do.

We’re done with peinst now.


2) Configuring Grub

You should have downloaded grldr. Rename your existing ntldr as ntldrxp. We are going to use ntldrxp to load Windows XP. Rename grldr to ntldr and copy that to your system partition, usually C:\ for most people. Having done this, system will load Grub (the grldr renamed as ntldr) instead of XP's ntldr. The advantage of this is you don’t have to load ntldr, then use ntldr to load grldr, then choose to load BartPE. Renaming grldr to ntldr allows you to load grldr on startup, then you can choose what you want to load. It saves an extra step. Of course, you don’t have to do this. You may try the setup you want to use. Since we are not modifying any files, this will work flawlessly.

Now, grldr uses menu.lst to display the boot options. If you followed my steps, here is what you need in your menu.lst:

CODE
color black/cyan yellow/cyan
timeout 10
default 0

title Microsoft Windows XP SP2 Pro (Find and Load)
find --set-root /ntldrxp
chainloader /ntldrxp

title BartPE with Sherpya XPE 1.0.4 (Find and Load)
find --set-root /minint/setupldr.bin
chainloader /minint/setupldr.bin

title Boot Floppy on (fd0)
chainloader (fd0)+1
rootnoverify (fd0)


The line chainloader (hd0,0)/ntldrxp loads Windows XP using the renamed ntldrxp.
We are done!

Next time you boot, you should get a Grub screen with options to boot Windows XP, BartPE, or a Floppy.

I’m not expert on this so if you have any questions, mess around and you might find the light at the end of the tunnel or post here and someone else may be able to answer.

Limitations: does not work with USB connected HDD's for me. I'm trying.

I want to be able to load CD's from this. I'm not sure if this can be done yet or not.

Good luck.
jaclaz
Nice work, spacesurfer! smile.gif

Pretty clever idea renaming GRLDR to NTLDR!

If I may, I would change:
QUOTE
title Microsoft Windows XP SP2 Pro (hd0,0)
chainloader (hd0,0)/ntldrxp
rootnoverify (hd0)
to
QUOTE
title Microsoft Windows XP SP2 Pro
find --set-root /ntldrxp
chainloader /ntldrxp


and
QUOTE
title BartPE with Sherpya XPE 1.0.4
root (hd0,2)
chainloader +1
to
QUOTE
title BartPE with Sherpya XPE 1.0.4
find --set-root /minint/setupldr.bin
chainloader /minint/setupldr.bin


This way you can omit the step:
QUOTE
Otherwise, copy [Part]\minnt\setupldr.bin to [Part]\ntldr.


and the menu should work even if partitions are differently set up/numbered.

jaclaz
Ed_P
Wow!!

Very nice spacesurfer. smile.gif

I'm impressed with your GRLDR/NTLDR XP concept. Very clever.

And I like your approach to the menu.lst, by using the basic commands it doesn't require any particular version of GRLDR.

And thank you for the mention. blush.gif

QUOTE (spacesurfer @ Aug 6 2006, 08:52 PM) *
I want to be able to load CD's from this. I'm not sure if this can be done yet or not.

The current beta GRUB4DOS supports that, at least from the floppy I tested with.
spacesurfer
Thanks, guys. Thanks for the tips, jaclaz. I will change my menu.lst as you mentioned for autodetection.

Ed_P, I think you mentioned loading a floppy image and then loading a CD from that floppy image. Can you provide a place to start to get me and the rest started? Thanks.


FYI: This is strange but although I formatted my BartPE partition as NTFS, when I load BartPE, it says it's FAT. Not sure why.

Also, trying to load from a USB HDD gives me a "txtsetup.sif is missing or corrupted...." error. System seems to detect the ntldr on that USB drive but I'm not sure what problem is preventing it from loading.
Ed_P
QUOTE (spacesurfer @ Aug 6 2006, 10:59 PM) *
Ed_P, I think you mentioned loading a floppy image and then loading a CD from that floppy image. Can you provide a place to start to get me and the rest started? Thanks.

Within the GRUB4DOS download I used the fat12grldr.img file to make the floppy. And I vaguely recall replacing the grldr on the floppy with the grldr from the zip for some reason.
QUOTE (spacesurfer @ Aug 6 2006, 10:59 PM) *
FYI: This is strange but although I formatted my BartPE partition as NTFS, when I load BartPE, it says it's FAT. Not sure why.

What does your normal XP show the partition as?

For loading your USB device look at CodeBeetle's PEtoUSB utility. I use it for USB sticks and someone recently said it works for USB hds also but I haven't tried that, yet. smile.gif
jaclaz
QUOTE (spacesurfer)
Ed_P, I think you mentioned loading a floppy image and then loading a CD from that floppy image


Latest builds of GRUB4DOS/GRLDR support CD's.

Thread is here:
http://www.911cd.net/forums//index.php?sho...16980&st=49

Latest build here:
http://grub4dos.jot.com/WikiHome

There are a couple additions to the readme file:
QUOTE
******************************************************************************
*** The New `cdrom' Command Syntax ***
******************************************************************************

1. Initialize the ATAPI CDROM devices:

grub> cdrom --init

This will display the number of atapi cdroms found: atapi_dev_count

2. Stop the ATAPI CDROM devices:

grub> cdrom --stop

This will set atapi_dev_count to 0.

3. Add IO ports for searching the atapi cdrom devices. For example:

grub> cdrom --add-io-ports=0x03F601F0

After running `cdrom --init' and `map --hook', the cdroms can be accessed
through devices (cd0), (cd1), ...

Note 1: If the system does not fully support the ATAPI CD-ROM specifications,
you will encounter failure when trying to access the (cdX) devices.

Note 2: After doing a `cdrom --stop', you should do a `map --unhook'. Of
course you may `map --hook' again if there are mapped drives.

Note 3: After adding IO ports, you should do a `map --unhook' followed by a
`cdrom --init' and then followed by a `map --hook'.

By default, these ports are used for searching cdroms(so they needn't
be added):

0x03F601F0, 0x03760170, 0x03860180, 0x6F006B00, 0x77007300.

Note 4: The BIOS might have offered a cdrom interface. It would be (cd). After
`cdrom --init' and `map --hook', we might have our (cd0), (cd1), ...
available. It is likely that one of them could access the same media
as the BIOS-offered (cd).

Note 5: You may access the (cd) and (cdX)'s in the blocklist way. Example:

cat --hex (cd0)16+2

The cdrom sectors are big sectors with a size of 2048 bytes.


jaclaz
hooovahh
Wow this works really well, I've always had a tough time getting peinst to work, it would always die half way through. But this time when it died it I just finished coping over the needed folders and files, then used your instructions and it worked, even with windows xp and X-PE on the same partition.

AND using this method I was also able to install XPE with an SDI image that gets loaded into ram. And since it's using the hard drive instead of the CD it loads into ram alot faster.

Basically you do the same thing, Create bart pe and use the ramdisk.sys from 2003 sp1. Put bart into an SDI and at the root of your drive you place th following files

WINNT.SIF
WINPE.SDI
MININT\SETUPLDR.BIN (FROM 2003)
MININT\NTDETECT.COM

Then have grub look for setupldr just as explained before, and have your winnt.sif file like this

[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=WINPE.SDI"

and it should boot into ram and be all nice and fast.

Thanks again.
spacesurfer
Download the current version of Grub while you can cause the newer version will NOT support NTFS according to the readme.txt file.

It's sad but according to documentation, Vista will break Grub.

It also says newer SP's for Windows XP breaks Grub but I'm using SP2 and Grub works fine.
spacesurfer
QUOTE (Ed_P @ Aug 6 2006, 11:34 PM) *
What does your normal XP show the partition as?


Ed_P, I checked my BartPE partition and IT IS FAT32. I could have sworn I formatted it NTFS.

I urge others to try both NTFS and FAT32 and see what works. Please post your experience here.Thanks.
Ed_P
QUOTE (spacesurfer @ Aug 7 2006, 03:27 PM) *
Download the current version of Grub while you can cause the newer version will NOT support NTFS according to the readme.txt file.

It's sad but according to documentation, Vista will break Grub.

It also says newer SP's for Windows XP breaks Grub but I'm using SP2 and Grub works fine.


README.txt
QUOTE
******************************************************************************
*** !!!!!!!! NTFS Will No Longer Be Supported !!!!!!!! ***
******************************************************************************

Notice! In the future, we will remove NTFS support. For Windows users,
please create an FAT partition and place GRLDR and menu.lst
there. From now on, please don't report bugs relevant to NTFS.

Someone reports that Windows XP with newer SPs and Windows
Vista have intentionally broken the compatiblity with many
things(including GRLDR). So you will get into trouble with
these systems.

Well, that will be the end of GRUB4DOS for most people. Too bad. It looked like it had a lot of potential. Thanks for the heads up.

BTW I tried booting a CD with GRUD4DOS on my C: drive and while it recognized CD0 it errored out trying to boot it. So GRUB4DOS boots CDs when booted from a floppy just like the basic 0.95 GRUB version.
paraglider
Vista has a totally different way of booting - it no longer uses ntldr / boot.ini. It uses bootmgr and a database edited by bcdedit.

Boot managers that install in the 1st track of the first hard drive like bootus and many others will work with Vista. I use bootus and switch between XP, Vista 32, Vista 64, BartPE primary partitions.
FeReNGi
Look at this topic : http://www.911cd.net/forums//index.php?s=&...st&p=114474

This works also fine without extra tools or programs
paraglider
Only if your first partition is XP / W2003 / W2K. If its Vista then you will be out of luck.
spacesurfer
Major update

Read my post here to
:

*Boot Windows XP
*Boot BartPE from HDD
*Boot BartPE from CD-ROM directly
*Boot floppy images from HDD (in *.img format)




QUOTE (paraglider @ Aug 7 2006, 10:35 PM) *
Vista has a totally different way of booting - it no longer uses ntldr / boot.ini. It uses bootmgr and a database edited by bcdedit.

Boot managers that install in the 1st track of the first hard drive like bootus and many others will work with Vista. I use bootus and switch between XP, Vista 32, Vista 64, BartPE primary partitions.


I just had a though, paraglider. Maybe we can use Grub with Vista in a round-about way.

First, the facts:

1) Vista does not use ntldr/boot.ini to load.
2) Grub does not support Vista booting.
3) Vista supports booting Windows XP throught it's boot manager. The current beta version I've tried listed Windows XP and I am able to boot it.

Assumption:

1) Vista boot manager must load ntldr to boot to Windows XP. Although I'm not 100% certain, I think Vista must take the ntldr route to boot Windows XP. Someone correct me if I'm wrong.

Therefore:

If we rename grldr to ntldr, and replace XP's ntldr with the pseudo-ntldr, then we can get a Grub menu. This, then opens the door for loading other OS's.

So, although you can't place Vista on Grub menu, you can place Grub on Vista's menu to load other OS's.

Now, we need someone with Vista and XP dual booting to test this.
hooovahh
QUOTE (spacesurfer @ Aug 8 2006, 12:58 PM) *
Major update

Read my post here to
:

*Boot Windows XP
*Boot BartPE from HDD
*Boot BartPE from CD-ROM directly
*Boot floppy images from HDD (in *.img format)
I just had a though, paraglider. Maybe we can use Grub with Vista in a round-about way.

First, the facts:

1) Vista does not use ntldr/boot.ini to load.
2) Grub does not support Vista booting.
3) Vista supports booting Windows XP throught it's boot manager. The current beta version I've tried listed Windows XP and I am able to boot it.

Assumption:

1) Vista boot manager must load ntldr to boot to Windows XP. Although I'm not 100% certain, I think Vista must take the ntldr route to boot Windows XP. Someone correct me if I'm wrong.

Therefore:

If we rename grldr to ntldr, and replace XP's ntldr with the pseudo-ntldr, then we can get a Grub menu. This, then opens the door for loading other OS's.

So, although you can't place Vista on Grub menu, you can place Grub on Vista's menu to load other OS's.

Now, we need someone with Vista and XP dual booting to test this.

I've not used vista yet but it sounds like it should work. tricking Vista into thinking it's booting XP.

Also thanks for your instructions on booting CDs and floppy images.
cornelvis
I tried booting reatogo from a seperate disk (modular Bay Drive) I get the error that the Hall.dll is missing or corrupt.
I tried copying from my machine to the instalation, but that doesn't help.
sad.gif
Anyone?
spacesurfer
This is one of the limitations that I've noticed:

I haven't been able to boot BartPE from a second hard drive yet. Even if they are internal, it gives me the error about txtsetup.sif file is missing or corrupt. If you can't do it from an internal, you might as well forget it from an external, unless someone out there has been able to do it, I would like to know.

Also, you can't boot from an extended partition either.
Ed_P
I boot BartPE on my tray IDE drive using GRLDR. I also use it to boot BartPE on my nb's E: partition. And I have used it to boot my USB Flash drive though I usually boot it directly.
spacesurfer
Ed_P. I tried your map (hd0) (hd1), map (hd1) (hd0) and IT WORKED!! I admit I was skeptical but I gave it a shot and no more txtsetup.sif file is missing or corrupt error!!!!!!!!!!

Thanks.
cdob
QUOTE
This is one of the limitations that I've noticed:

I haven't been able to boot BartPE from a second hard drive yet.
Do you swap hard disk order?
CODE
map (hd0) (hd1)
map (hd1) (hd0)


QUOTE
Also, you can boot from an extended partition either.
Do you boot or not boot from a extended partition?

Booting from a logical partition is possible.
However you have to adjust boot sector, correct hidden sectors.

Ed_P http://www.911cd.net/forums//index.php?s=&...st&p=113521
found
http://www.goodells.net/multiboot/
http://www.goodells.net/multiboot/ptedit.htm

http://www.goodells.net/multiboot/tools.htm
PTedit32
ftp://ftp.symantec.com/public/english_us_...es/PTEDIT32.zip

Be aware of FM_81's warning
http://www.911cd.net/forums//index.php?s=&...st&p=113684
spacesurfer
Yes, I tried the swap HDD and it worked. I beat you to it -- it's in the post right above yours.

And, oops, I wasn't able to boot from an extended partition. I had some data in that partition and installed BartPE to it. I didn't want to convert it to primary since I have no place to put that data. Too much of a hassle right now.

But I was able to boot from my second HDD.
cdob
QUOTE
Yes, I tried the swap HDD and it worked. I beat you to it -- it's in the post right above yours.
You are too fast wink.gif

QUOTE
I didn't want to convert it to primary since I have no place to put that data. Too much of a hassle right now.
You don't have to convert logical partition to primary. Just boot logical partiton after fix.
cornelvis
Finally got it to work.
I used the grub methode and used PEINST to do the copy and the first time I forgot the option2 in the install option to run first
Install PE-loader in F:\boot.ini
- use this if you want to select BartPE in your boot.ini menu -


and for the fast boot I adjusted the menu.lst

CODE
color black/cyan yellow/cyan
timeout 0
default 0

title BartPE with Sherpya XPE 1.0.4 (Find and Load)
find --set-root /minint/setupldr.bin
chainloader /minint/setupldr.bin


Thanks for the good solution

Greetzzz,

Happy Chappy CornElvis
faaip565
Question for you guys.

I am trying to devise a way to utilize grub to boot bartpe into ram from my external USB.

I need to do this starting from a floppy disk.

Essentially I have a client image that I deploy to my end users on an USB Hard drive. The drive has my ghost images (and other essential files) and my bartpe bootable files.

On most of my clients this method works fantastic, Plug the drive in and the system loads bartpe into the ramdisk and off I go. However unfortunately I need to provide legacy support to a model of laptop that does not support USB booting.

So would it be possible to load grub and have it locate my bartpe img on my usb drive and load it into the ramdisk as normal?

Any help is greatly appreciated.
diddy
I followed the instructions in this post, renaming GRLDR to NTLDR and successfully booted from hard drive (C:\).

I have created a multiboot USB stick as per the instructions in the following post:
http://www.911cd.net/forums//index.php?showtopic=18846

Adding any one of the following entries to menu.lst (on C:\ drive) enabled me to use GRUB to boot the USB drive from my hard disk (C:\).
CODE
title Boot USB (hd2,0)
chainloader (hd2,0)+1
rootnoverify (hd2)

title Boot USB (find ntldusb)
find --set-root /ntldusb
chainloader +1

title Boot USB (find ntldusb + rootnoverify)
find --set-root /ntldusb
chainloader +1
rootnoverify

*NOTE* USB Drive is 3rd drive on my PC, hence (hd2,0). ntldusb is renamed setupldr.bin (from Windows 2003 sp1).

I'm not sure if this would work on a motherboard that did not support booting my USB drive directly in the BIOS, however it has enabled me to boot from my drive without having to mess around with BIOS settings.

On my C:\ drive I was able to boot BartPE into RAM (using SDI image), using the following line in menu.lst:
CODE
title BartPE - SDI (Find and Load)
find --set-root /I386/setupldr.bin
chainloader /I386/setupldr.bin

however when I followed a similar procedure to boot an SDI image from my USB Drive using this entry:
CODE
title USB SDI (Find "ntldusb" and Load "/I386/setupldr.bin")
find --set-root /ntldusb
chainloader /I386/setupldr.bin

I received an error message - ntldusb file had been located successfully, however I386/setupldr.bin was missing ("Error 17: File not found"). I have also tried chainloading ntldusb using the following entry:
CODE
title USB SDI (Find "ntldusb" and chain "ntldusb")
find --set-root /ntldusb
chainloader /ntldusb

This time the file was found and chainloaded, however I received the following error message during setup - NTDETECT FAILED.

Where am i going wrong?
jaclaz
QUOTE (diddy)
I'm not sure if this would work on a motherboard that did not support booting my USB drive directly in the BIOS,

No, until some USB extension is not added to Grub4Dos, it won't work on a motherboard with a "not USB friendly" BIOS.

Theoretically, the
QUOTE
find --set-root /ntldusb
directive is equivalent to
CODE
find /ntldusb

and, (supposing that it is found on (hd2,0)
CODE
root (hd2,0)


so the "rootnoverify" here:
QUOTE
title Boot USB (find ntldusb + rootnoverify)
find --set-root /ntldusb
chainloader +1
rootnoverify

is not needed (and the entry before it works as well)

All the entries you report as working use the chainloader+1 syntax, i.e. the MBR of the drives are used.

The other ones appear not to be working as follows:
QUOTE
title USB SDI (Find "ntldusb" and Load "/I386/setupldr.bin")
find --set-root /ntldusb
chainloader /I386/setupldr.bin
The error you got seems like you are missing the file setupldr.bin inside the /I386 directory.

and this one:
QUOTE
title USB SDI (Find "ntldusb" and chain "ntldusb")
find --set-root /ntldusb
chainloader /ntldusb

seems like SETUPLDR.BIN (renamed as ntldusb) is not able to find NTDETECT.COM or some other file.

If you were trying to run a "setup" from "Hard Disk" (as the USB stick is seen) rather than from CD, you should try renaming the directory /I386 to /minint , which is the "normal" name for it when on HD.
But since you are trying a SDI approach, maybe the problem lies in the entries in TXTSETUP.SIF,
that should look something like:
QUOTE
[SetupData]BootDevice = "ramdisk(0)"
BootPath = "\I386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=winpe.sdi"


Or you could experient along the lines of this post:
http://www.911cd.net/forums//index.php?sho...18326&st=18

jaclaz
diddy
Thanks for the quick response jacklaz.

QUOTE
The error you got seems like you are missing the file setupldr.bin inside the /I386 directory.
The file I386\setupldr.bin is definitely present on the drive - the error only occurs when booting from my USB drive. I have an identical setup on my C:\ drive, using the same files and file structure, which uses this entry in menu.lst:
CODE
title BartPE - SDI (Find and Load)
find --set-root /I386/setupldr.bin
chainloader /I386/setupldr.bin

instead of
CODE
title USB SDI (Find "ntldusb" and Load "/I386/setupldr.bin")
find --set-root /ntldusb
chainloader /I386/setupldr.bin

On the C:\ drive I386\setupldr.bin is found without any problems and the drive boots fine. On the USB drive GRUB reports the file is missing when I know it's definitely present.
QUOTE
If you were trying to run a "setup" from "Hard Disk" (as the USB stick is seen) rather than from CD, you should try renaming the directory /I386 to /minint , which is the "normal" name for it when on HD.
But since you are trying a SDI approach, maybe the problem lies in the entries in TXTSETUP.SIF..
endquote

I have tried renaming I386 to minint - this still gives "NTDETECT FAILED" error during setup. The code in the txtsetup.sif file you posted is almost identical to my WINNT.SIF file (except my file uses "Bootpath =" instead of "BootPack ="). I have tried using Bootpack instead of Bootpath, but still have the same error.

The SDI image I am using works fine when booting my USD Drive directly from BIOS (via syslinux) - I do not get any error messages during setup. The issue seems to be with GRUB.

Any further ideas would be appreciated.

Thanks.
jaclaz
hmmm, try to experiment without the find --set-root command, by giving the "hard coded" device path, and for the SDI image, try moving setupldr.bin to the root of the stick.
The menu entry should then become something like:

QUOTE
title BartPE - SDI on USB stick
root (hd2,0)
chainloader (hd2,0)/setupldr.bin


also try opening a Grub4dos command prompt (c key) and issueing the same commands you use in your menu entries one by one, this way you have more verbose replies from Grub4dos that can help finding the problem.


About the "bootpack" sorry, sad.gif I copied and pasted a TXTSETUP.SIF I found posted here on the board, I am correcting my previous post, just to avoid further copy and paste errors wink.gif.

jaclaz
diddy
QUOTE (jaclaz @ Nov 12 2006, 12:19 PM) *
hmmm, try to experiment without the find --set-root command, by giving the "hard coded" device path, and for the SDI image, try moving setupldr.bin to the root of the stick.

Moving setupldr.bin to root enabled me to find the file - unfortunately I continue to get the NTDETECT FAILED error message.

Dropped to command line as suggested, and received the following output:
CODE
grub> root (hd2,0)
   Filesysyem type is fat, partition type 0xe

grub> chainloader (hd2,0)/setupldr.bin
   will boot NTLDR from drive=0x82, partition=0x0(hidden sectors=0x3f)

grub> boot

When booting my USB drive directly from BIOS I am able access my multiboot syslinux menu and can boot the SDI image successfully.

When booting from my C:\ drive I am able to use GRLDR to invoke the syslinux menu - however I now get the NTDETECT FAILED error message from the syslinux option that worked above.

Chainloading either NTLDR or setupldr.bin from GRUB results in NTDETECT FAILED error.

Can't figure out what is causing this behaviour - is it GRUB or user error?
jaclaz
QUOTE
Can't figure out what is causing this behaviour - is it GRUB or user error?


hmm, cannot say.

I presume that the difference between the find --set-root and the "encoded" way is due to the particular order in which Grub4DOS searches drives, double check the readme.txt that comes with Grub4dos, I recall something dealing with this.

I am also a bit confused on how your files are arranged.

Where is NTDETECT.COM on the stick? I mean in root or under /I386?

However, is it possible that it is a problem of the particular ntdetect.com you are using?

You can have a try with the modified one from Dietmar here:
http://www.911cd.net/forums//index.php?showtopic=14181

Though probably, the fact that Tinybit (Grub4dos author) provided a specific "SDI" switch to the chainloader command means that the "right" way to boot SDI images with Grub4dos is that one.

Unfortunately I have not enough experience with SDI images to be more specific, another possible thing to try is to "map" the image as a drive, but really cannot say which booting commands would then be useful.

jaclaz
diddy
Success at last!!!
Finally succeeded in booting BartPE (SDI) from my USB drive. The following code (adapted from readme.txt) is working (for me):
CODE
title  BartPE - SDI on USB stick
map (hd2) (hd0)
map --hook
chainloader (hd0,0)\setupldr.bin
rootnoverify (hd0)
map --harddrives=1
boot

Thank you for pointing me in the right direction jaclaz.
jaclaz
QUOTE (diddy)
Success at last!!!


Happy you made it! smile.gif

Though that could mean that there is something in setupldr.bin or ntdetect.com that searches for First drive, or maybe is something peculiar of your motherboard BIOS.

The need for exchanging actual hard drive with first one is a requisite for DOS, that needs to boot from first drive (0x80 or 128), I didn't know it was needed for setupldr.bin/ntdetect.com, or maybe this only applies when SDI booting.

It would be interesting if you could try booting "normal" PE and SDI from a non-first non-USB hard drive and report your experience.

jaclaz
diddy
QUOTE (jaclaz @ Nov 13 2006, 09:03 AM) *
I didn't know it was needed for setupldr.bin/ntdetect.com, or maybe this only applies when SDI booting.
This problem is not just related to SDI booting. I've just tried booting an ISO image and had the same NTDETECT FAILED error when booting the image of off my USB stick via "chainloader (hd2,0)/ntldr" entry in menu.lst. Remapping the drive also worked for the ISO image.

QUOTE (jaclaz @ Nov 13 2006, 09:03 AM) *
It would be interesting if you could try booting "normal" PE and SDI from a non-first non-USB hard drive and report your experience.
I've not had time to try booting "normal" PE from a non-first non-USB hard drive and probably won't get around to testing this for a while.

Tested SDI booting from (hd1,0)
This is a "normal" (NTFS) partition containing Windows XP. Copied PE.SDI, WINNT.SIF and SETUPLDR.BIN (NTDETECT.COM was not needed as it already existed on the XP partition) to it and booted via "chainloader (hd1,0)/setupldr.bin" entry in menu.lst - this worked fine.

Tested SDI booting from (hd1,2)
Created this (FAT16) partition using GPartEd. Copied PE.SDI, WINNT.SIF, SETUPLDR.BIN and NTDETECT.COM to it and booted via "chainloader (hd1,2)/setupldr.bin" entry in menu.lst - this also worked fine.

The only conclusion I can draw from this is that my problem is related to BIOS - I'm not going to bitch too much as I feel lucky to get USB booting working at all!
jaclaz
Yes, from what you write, since booting from (hd1,2) worked, it appears to be something in your BIOS related to the USB Mass Storage device.

You can also try to see if an emulated Floppy (this would not alter the hd order), would work, something like:

CODE
title  BartPE - SDI on USB stick
map (hd2,0)+1 (fd0)
map --hook
chainloader (fd0)/setupldr.bin
rootnoverify (fd0)
map --floppydrives=1
boot


jaclaz
diddy
@Jaclaz

As you're probably already aware from another post I've been busy and have not had much time to work with GRUB4DOS. After what feels like a long delay I finally got round to trying your suggestion:
QUOTE (jaclaz @ Nov 14 2006, 12:32 PM) *
You can also try to see if an emulated Floppy (this would not alter the hd order), would work, something like:

CODE
title  BartPE - SDI on USB stick
map (hd2,0)+1 (fd0)
map --hook
chainloader (fd0)/setupldr.bin
rootnoverify (fd0)
map --floppydrives=1
boot


jaclaz

The sixth line map --floppydrives=1 results in Error 12: Unrecognized device string. Removing line six worked - new menu.lst entry:
CODE
title  BartPE - SDI on USB stick
map (hd2,0)+1 (fd0)
map --hook
chainloader (fd0)/setupldr.bin
rootnoverify (fd0)
boot


Thanks for the suggestion Jaclaz - I was never happy changing the order of my HDD's.

__________________________________________


In response to another of your suggestions:
QUOTE (jaclaz @ Nov 13 2006, 09:03 AM) *
It would be interesting if you could try booting "normal" PE and SDI from a non-first non-USB hard drive and report your experience.

I reported:
QUOTE
Tested SDI booting from (hd1,0)
This is a "normal" (NTFS) partition containing Windows XP. Copied PE.SDI, WINNT.SIF and SETUPLDR.BIN (NTDETECT.COM was not needed as it already existed on the XP partition) to it and booted via "chainloader (hd1,0)/setupldr.bin" entry in menu.lst - this worked fine.

Tested SDI booting from (hd1,2)
Created this (FAT16) partition using GPartEd. Copied PE.SDI, WINNT.SIF, SETUPLDR.BIN and NTDETECT.COM to it and booted via "chainloader (hd1,2)/setupldr.bin" entry in menu.lst - this also worked fine.

Oops! - this did work when tested but doesn't now. My system has two internal HDD's - both containing 3 to 4 primary partitions. The number of partitions varies depending on what I'm testing (messing around with). When I originally tested booting BartPE from my 2nd hard disk ((hd1,0) and (hd1,2)) I also had a copy of BartPE on my 1st hard disk (hd0,0). I recently retested booting PE from (hd1,0) and (hd1,2), this time without PE files on 1st hard disk - using chainloader (hd1,*)/setupldr.bin entry in menu.lst. I received error message:
CODE
INF file txtsetup.sif is corrupt or missing, status 14.
Setup cannot continue. Press any key to exit.

I added WINNT.SIF to (hd0,0) and rebooted - still using chainloader (hd1,*)/setupldr.bin entry in menu.lst. I then received error message:
CODE
Windows could not start due to an error while booting from a RAMDISK.
Windows failed to open the RAMDISK image.

File PE.SDI could not be loaded.
The error code is 14.

Setup cannot continue. Press any key to exit.

Adding my image file PE.SDI and WINNT.SIF to (hd0,0) solved the problem. Remapping (hd1) to (hd0) also worked.

Conclusion - Windows will only load the image file and txtsetup file from first HDD, irrespective of which drive setupldr.bin is chained from.

Diddy

p.s. Happy holidays!
spacesurfer
Wow! I just happened to read what people have said in this post and I never imaged members would use my trick (of renaming ntldr as ntldrxp) in such ways to boot from different devices as such.

Glad to see one clever trick enable others to think outside the box. (I actually don't understand SDI images and all that, but if renaming works for you, more power to you.)
jaclaz
Just for the record it seems definitive that also setupldr.bin/ntldr must be initialized form first drive (but this can be faked isong drive mapping).

For those interested, here is the discussion, inside a topic devoted to install XP from USB stick (really close to full success smile.gif ) ilko_t did a really good work in testing, start here:
http://www.msfn.org/board/index.php?showto...61384&st=84
for just the mapping part, or here:
http://www.msfn.org/board/index.php?showto...61384&st=15
for the install XP from USB for the start by porear

(in the middle there are quite a few unuseful posts that led to blind alleys, until cdob came with the "real thing" smile.gif)

jaclaz
VeeDub
Hi,

There are a few different threads on this topic and a few posts that I don't understand at the moment. I've been able to follow the first post of this thread OK and have the configuration working with the following partitions

NTFS BartPE
NTFS W2K

However I want to be able to restore different Windows images in my 2nd partition and realise that once I do this, with the present configuration, I'll lose grub4dos and the renamed ntldr so basically booting will break.

I think the best solution would to be create a 2nd small partition as follows

NTFS BartPE
NTFS "Boot" partition with grub4dos and menu.lst
NTFS Windows image which will change over time

With this approach, when I restore a Windows image to the 3rd partition, the second partition will still be intact and thus I'll still be able to boot BartPE.

Would it then be possible to create a menu option that will always be able to boot the Windows image?, this is the bit where I am getting lost.

Hopefully in implementing a solution the whole area will become a little clearer.

Thanks

VW
Ed_P
QUOTE (VeeDub @ May 30 2007, 08:59 AM) *
However I want to be able to restore different Windows images in my 2nd partition and realise that once I do this, with the present configuration, I'll lose grub4dos and the renamed ntldr so basically booting will break.

huh.gif ?

I'm not sure I follow what you're saying. In fact I'm quite certain of it.

Don't you have grub4dos and the renamed ntldr in the 1st partition? And if so loading something new to the 2nd partition shouldn't have any effect on grub4dos and the renamed ntldr.

If you have grub4dos and the renamed ntldr in the 2nd partition, backup the partition before loading something new to it and when you wish to revert use the backup.
VeeDub
QUOTE (Ed_P @ May 31 2007, 01:10 AM) *
QUOTE (VeeDub @ May 30 2007, 08:59 AM) *
However I want to be able to restore different Windows images in my 2nd partition and realise that once I do this, with the present configuration, I'll lose grub4dos and the renamed ntldr so basically booting will break.

huh.gif ?

I'm not sure I follow what you're saying. In fact I'm quite certain of it.

Don't you have grub4dos and the renamed ntldr in the 1st partition?

No, at the moment that is on the Windows partition. I have renamed ntldr to ntldrxp on the Windows partition and copied across grub4dos and renamed ntldr as per the first post in this thread.

QUOTE
If you have grub4dos and the renamed ntldr in the 2nd partition, backup the partition before loading something new to it and when you wish to revert use the backup.

That will work when I restore a Windows image that I have used before, but not when I restore a "new" Windows image. As I use this box as a development box I will be restoring different Windows images regularly. I want to implement a configuration where I can automate the restore process (i.e. I restore a different Windows image and then after I restart the box I can boot Bart or Windows without having to do anything else.

But you have given me an idea. Having restored a new Windows partition I would need to make the changes to ntldr etc. before restarting the computer. I should be able to script that fairly easily.

If a task can be done manually, then the computer can always be made to do the work.

Cheers
VW
Ed_P
How are you able to boot the 2nd partition now? The default boot is the 1st partition.

Put GRldr on the BartPE partition and use it to boot BartPE and whatever you put on the 2nd partition. Check out this thread: http://www.911cd.net/forums//index.php?s=&...st&p=125636
VeeDub
QUOTE (Ed_P @ May 31 2007, 09:05 AM) *
How are you able to boot the 2nd partition now? The default boot is the 1st partition.

Well all I can really say is that it works.

I had W2K Pro installed on the box. I moved that partition down 400MB. Created a new 400MB partition in the free space. Used peinst to copy the BartPE image to the 400MB partition and modified the ntldr file etc as per the howto in post #1

QUOTE
Put GRldr on the BartPE partition and use it to boot BartPE and whatever you put on the 2nd partition. Check out this thread: http://www.911cd.net/forums//index.php?s=&...st&p=125636

This sounds like a simpler approach and more suited to my scenario, I will check that out. I am going away for a few days but I will post an update later next week.

Thanks Ed

VW
VeeDub
@Ed

Just confirming that I have understood that thread correctly, this is the post that I should be trying?

VW
spacesurfer
I was reading this post and noticed that in several places, it mentions that grub4dos will not support NTFS anymore.

Well, with Vista now here, grub4dos is still supporting NTFS it seems. Go here to learn how to load Vista using grub4dos.

Also, noticed "Vista will break grub4dos". Again, one can boot Vista with grub4dos using the link above.

So, I wonder why the grub4dos contains incorrect info regarding NTFS and Vista.
Ed_P
QUOTE (VeeDub @ May 30 2007, 09:14 PM) *
@Ed

Just confirming that I have understood that thread correctly, this is the post that I should be trying?

VW

Don't overlook this one: http://www.911cd.net/forums//index.php?s=&...st&p=128880

If you're going to be replacing the Windows partition then you want to be always booting the BartPE partition directly. For that to happen it must be the primary partition on the 1st hd. To support booting GRUB from it format it boot DOS. Then add GRUB.exe and BartPE to it. Boot the partition which will bring up the GRUB menu and use it to boot either BartPE or whatever you have on the 2nd partition.

You could also add some DOS tools to the 1st partition and run them either from the autoexec or menu.lst.
VeeDub
QUOTE (Ed_P @ Jun 3 2007, 02:29 AM) *
If you're going to be replacing the Windows partition then you want to be always booting the BartPE partition directly. For that to happen it must be the primary partition on the 1st hd. To support booting GRUB from it format it boot DOS. Then add GRUB.exe and BartPE to it. Boot the partition which will bring up the GRUB menu and use it to boot either BartPE or whatever you have on the 2nd partition.

Ed,

The configuration is working perfectly, thanks for the advice.

Cheers,
VW
Ed_P
Happy to have helped. happy62.gif
PatrickR
Hi together,

maybe someone can help me.

I get a error message by booting BartPE from HDD.

Message translated from German to English:
The INF-file txtsetup.sif is damaged or missing, status 14


I use one HDD - 4 partition (C/D/E/S)
On C-partition: windows XP is installed
on S-partition: BartPE is installed (using peinst.cmd)

Grub4DOS is stored at C-partition.

I renamed
ntldr -> ntldrXP and
grldr -> ntldr

I kept boot.ini as it was, without any changes.

menu.lst contains:
==================
color black/cyan yellow/cyan
timeout 10
default 0

title Microsoft Windows XP SP2 Pro
find --set-root /ntldrxp
chainloader /ntldrxp

title BartPE
find --set-root /minint/setupldr.bin
chainloader /minint/setupldr.bin

title Boot Floppy on (fd0)
chainloader (fd0)+1
rootnoverify (fd0)
==================

Do you have any idea why I get this error message,
and how to solve the problem ?

Thanks a lot in advance.

Best regards,
Patrick
jaclaz
QUOTE (PatrickR)
Do you have any idea why I get this error message,
and how to solve the problem ?


Don't want to seem rude, believe me smile.gif, but all you need to do is to READ this thread, in a nutshell:
PE needs to be booted from first partition on first harddisk

Since your setup does not fulfill the above, it throws the error.

Usually this is accomplished by a bootmanager of some kind hiding the first partition(s) and thus making the one where PE is the first one.

You can however try tricking PE into "thinking" itself being on first partition even if it's on another one by remapping the partitions with grub4dos

spacesurfer an cdob have both reported succes using this method, just a few posts above with hdd remapping.

Of course you need to re-map partitions, rather than drives, something like:
CODE
map (hd0,1)+1  (hd0,0)
map (hd0,0)+1 (hd0,1)

or
CODE
map (hd0,1)+1  (fd0)


(please note that the above are just examples, they may or may not work) you should also read the grub4dos readme.txt, and make some experiments suited to your setup.

jaclaz
cdob
QUOTE (PatrickR)
I use one HDD - 4 partition (C/D/E/S)
On C-partition: windows XP is installed
on S-partition: BartPE is installed (using peinst.cmd)

Grub4DOS is stored at C-partition.

I renamed
ntldr -> ntldrXP and
grldr -> ntldr

I kept boot.ini as it was, without any changes.


If you like to load BartPE only, good old ntldr can do this (rename ntldrXP back to ntldr).
Chainload a bootsector file.
CODE
mkbt.exe -x s: c:\boot_s

boot.ini
CODE
[operating systems]
c:\boot_s="Boot BartPE"
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.