Jump to content

HELP PLEASE: Usb Boot Multi Os and tools with Multi Partition and GUI


endor43

Recommended Posts

Hello everyone,

This is my last resort and I would really appreciate some help.

I have read through these forums and searched google for hours and hours and cannot figure out how to do this.

I recently bought a 32GB Patriot Xporter XT flash drive, and want to make it bootable. Before i made this purchase, I had and have an 8GB Sandisk Micro Pen drive, which i had SLAX on and some portable Windows apps (apps not bootable). So in essence, i was only booting one thing. That worked fine.

Not that I have this massive drive, I'd like to be able to boot up to Slax or persistent Ubuntu 8.10, WindowsPE (XP), Ophcrack, and maybe a few tools like partmagic or the acronis disk suite 10.

I have already tried to do the research and figure out how to use grub, wingrub,SPFDisk, BartPe, and Syslinux, but I just dont understand how to get them to to display and boot to the different os or utilities.

I have already obtained and installed the alternate drivers that allow XP/Vista to see the Removable Drive as a Local one, and thus see the multiple partitions that i have made on my flash drive.

I am willing to do whatever i must to get this working, and I am sure that is someone were to help me, others would find this useful, because the closest i came to finding an answer to my problem was http://www.msfn.org/board/Multiple-Partiti...-OS-t69211.html and it still didnt answer it entirely, actually leaving more in question than was the case before reading the posts.

So if someone could make this clear for me I would greatly appreciate it, It doesnt even have to be a gigantic stepbystep tutorial, just the theory and info that i need w/ a few directions.

Please and Thank you,

Thomas

Link to comment
Share on other sites


Well, the (very old) thread you linked to is about grub4dos, not GRUB.

I guess that you can find what you want by simply reading diddy's guide:

http://www.boot-land.net/forums/index.php?showtopic=5187

Particularly, the guide presents 9 (nine) different ways to install/start grub4dos, of which I advise you to use methods #3 or #4, if your boot partition (as it should) already contains a NTLDR/NTDETECT.COM/BOOT.INI, method #5 if your "main" start is Vista.

Also checking the numerous similar threads in the grub4dos forum:

http://www.boot-land.net/forums/index.php?showforum=66

might help you.

If you have any specific question, feel free to ask. :)

jaclaz

Link to comment
Share on other sites

Let's start form the beginning.

Do you have a USB stick actually booting?

(it doesn't matter which OS it is booting right now, only that it is booting)

If not, the problem you are having is how to make that stick bootable.

Once solved that, you can start thinking about adding to it grub4dos and multibooting.

I tried to get it working, but had limited success.

Which tells me nothing, unless you post some details.

jaclaz

Link to comment
Share on other sites

Yes my stick is bootable, and i have succeded with installing Grub with winGRUB. I have one partition, and am currently booting slax and gparted. my grub menu.lst looks like this:

color white/blue black/red
default 0
timeout 30

title Slax 6.0.9
find --set-root /grldr
kernel /slax609/boot/vmlinuz initrd= /slax609/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/
initrd /slax609/boot/initrd.gz

title GParted
find --set-root /grldr
kernel /isolinux/linux noapic initrd= /isolinux/gpinitrd.gz root=/dev/ram0 init=/linuxrc ramdisk_size=65000
initrd /isolinux/gpinitrd.gz

title memtest86
kernel /slax609/boot/mt86p

#title Ophcrack
#find --set-root /grldr
#kernel /Oph/boot/vmlinuz initrd= /Oph/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;startx changes=/slax/
#initrd /Oph/boot/initrd.gz

This may seem wonderful, and it is, but i really dont have much idea what i did in the menu.lst, i pretty much just took the kernel lines from the programs respective syslinux cfg files, and made my own paths to the initrd. the attached image shows the root of my flash drive.

slax = slax system files

slax609= the boot folder for slax, i put it in there because ophcrack has a "boot" folder too with nearly identically named files like vmlinuz and initrd.gz and when i was using ophcrack having both it and slax folders and files in root wouldnt have worked in menu.lst because the folders and the files were the same name and same path. (more on this later **)

Grub= hold only the menu.lst

Temp= holds Ophcrack and its boot folder (just a place to keep it out of root while i dont use it,(and figure out how to use it next to slax))

[bOOT]=part of Gparted. has only a file called Bootable_NOEmulation.img do i need this for running GParted?

isolinux= has gpinitrd.gz and linux kernel file, along with (im not sure if i need these): boot.cat,boot.msg,isolinux.bin,isolinux.cfg,splash.lss

gparted= a 22.808MB file that im pretty sure i need for Gparted but correct me if im wrong

portable= not bootable windows apps and prgrams and some docs and music

USB_localDisk= driver files for making xp or vista see the flash drive as a local disk, for multi-partitioning.

** Though is had the ophcrack folders in this configuration at one time so that the files would hhave different paths, and even with my menu.lst code (with the #s) selecting ophcrack in GRUB booted to SLAX 6.0.9 I know they are both based on slax, well one is slax, but there must be a way to have them side by side. rename the kernel and initrd?

****also i didnt like having the boot folders in root (mess) so i tried to move slax609 and oph (which is the folder thats in temp that has ophcracks boot folder in it) and direct the menu.lst accordingly, but it wouldnt let me have that third folder in the path. it would give me error 16 in grub when trying to find the kernel and initrd. the paths were /LDR/slax609/boot/vmlinuz or initrd.gz and /LDR/oph/boot/vmlinuz or initrd.gz

btw im sorry about the organisation of my questions and statements, its all sloshing around in my head because ive been trying to figure this out nonstop for the past few days.

anyways, bottom line:

1. Ophcrack wont work side by side with slax.

2. my files and folders are unorganised and i'd really appreciate it if you or someone else could give me an idea of a folder structure i can use to keep these neat but that still works in menu.lst, and what uneccesary files i can delete (because im sure that there are alot of isolinux and system linux files that i dont need)

3. i dont understand the **** thing with the paths, how can there be too many folders?

4. I would install more told, but its better not to rush into things, because i still (even after reading diddy's guide to grud4dos) do not understand what a chainloader is or does, I have a feeling that it could be really helpful though.

5. I would like to know how to direct grub and the menu.lst to load things on other partitions just like i have done in my current menu.lst. Lets say for instance i had the same slax folder architechture, but it was on another partition like (hd0,1) 0 being the flash disk and one for the second partition (but you know this already)

6. lastly I have tried to fit my head around BartPE but all the stuff about the bootsector and installing that on one partition and windows on the other is a tad bit overwhelming. One thing at a time. Windows PE is probably my most important goal, but i doubt its possible until i have figure out all these other things.

Ok, this is everything, im am sorry for the length, as i tried to be as detailed as possible. But now you have a perfect picture of the embarassingly limited knowledge i possess about grub and all these other things, and know exactly what page i am on.

I really appreciate your help, and will work with you as best i can. I tried, but sadly i cant do this alone.

Thank you, and ask me any other questions you need to know.

Thomas

post-230329-1233701437_thumb.jpg

Edited by endor43
Link to comment
Share on other sites

please also look at post #5 above, but i downloaded winbuilder and created a livexp iso, what grub menu.lst code would i use to boot this?

on post #4 of this thread (http://www.boot-land.net/forums/index.php?showtopic=2305) you said that the live xp uses these files:

All "PE" builds boot through:

SETUPLDR.BIN (that depending on various methods may be renamed to something else)

TXTSETUP.SIF

NTDETECT.COM

these files are currently located in the /i386 folder in root along with the other live xp folders

is there a way i can get grub boot to this? i tried:

title Boot Windows XP

root /I386

chainloader /I386

but it didnt work. grub error 11

I know i dont know alot but i appreciate all your help

Thank you,

Thomas

Edited by endor43
Link to comment
Share on other sites

is there a way i can get grub boot to this? i tried:

title Boot Windows XP

root /I386

chainloader /I386

NO.

You need to chainload the loader, not the directory containing it.

i.e. this would work on a CD:

title Boot LiveXP on CD
find --set-root /I386/SETUPLDR.BIN
chainloader /I386/SETUPLDR.BIN

Please be aware that CaSe Of FiLeNaMeS is important, always try using command line and enter commands one by one using the [TAB] autocompletion of grub4dos:

http://diddy.boot-land.net/grub4dos/files/cli.htm

to make sure that grub4dos "sees" the file in a given CaSe LeTtErInG.

But the above WON'T work if the /I386 structure is on USB stick (or other HD-like media) as the hardcoded path in this case is /minint. (and usually filenames are lowercase on HD devices), thus it will become:

title Boot LiveXP on CD
find --set-root /minint/setupldr.bin
chainloader /minin/setupldr.bin

There are workarounds, but you should do a step at tthe time.

Please note that all the above info, as well as a number of answers to the question and doubts you expressed in your previous post, is widely available on either boot-land or 911CD board.

Particularly, since you seem like liking grub4dos and already started a rather ambitious project based on it, you should take some time browsing the entire forum:

http://www.boot-land.net/forums/index.php?showforum=66

Doing a multiboot with several differnt OS's is not something you can learn and succeed with in a couple of days, you need to get familiar with a number of concepts, which right now you appear being not (yet ;)) fully familiar with.

I do like your "experimental" approach, and I do like people attempting to re-invent the wheel :):

http://www.911cd.net/forums//index.php?&showtopic=22554

but within limits....

You appear to me as "falling" in the typical "newbie" (NO offence whatsoever intended :)) mistake:

trying to have everything at once.

If you do not mind, let's try to make some "order" in the flux of your thoughts by enumerating some "basic" (and also a few "not-so-basic") advices and facts.

General advice:

  • Always start with one, and just one tutorial and objective in mind (not two, not three, just one).
  • Always follow at first attempt a reported to be working method or tutorial or guide WITHOUT introducing ANY variation, of ANY kind.
  • Even if the result of the tutorial is not EXACTLY what you wish to do, at first attempt you better follow the method TO THE LETTER and "deviate" (temporarily) from your original goal.
  • Once and only once you have succeeded in following that method and got to the expected result for that method, repeat it introducing, ONE (or very few) at the time, the variations you think necessary to reach YOUR goal.

Specific OS advice:

  • DOS has a number of restrictions about the way it can be booted, but also a few advantages (see below about image booting)
  • NT based systems have far less
  • Linux has practically none (IF you know how to configure it properly)

Image booting.

Quite obviously, the most "clean" way to organize a multiboot system, generally speaking and specifically for USB sticks, is to have an image of some kind for each OS as a "monolithic" file that you can boot from.

i.e., in a perfect world, you could have a ROOT directory with:

grub4dos
menu.lst
dos622.img
win98.img
pmagic.iso
slax.iso
win2k.img
winxp.img
livexp.iso
....
....
etc., etc.

Unfortunately this is possible only up to a limited extent.

Basically:

  • ANY DOS can be booted from an image
  • SOME - particularly built - Win9x/Me's can be booted from an image
  • SOME - particularly built - NT or PE based systems, with the use of specific files from Server 2003 SP 1 or R2 can be booted from an image - Only RAMDISK based methods are nown to work at the moment
  • SOME - particularly built - Linux distro's can be booted froma an image, but unlike the above, with the right knowledge ANY Linux distro can be configured to boot from an image

Another "clean" way, that you initially took, but from which you seem to have deviated, is to multipartition the boot device, installing each different OS to a different partition.

Of course the two approaches can be combined, just as an example you found the hard way how two Linux distro's based on the same "core" do not "like" being together.

Now the disclaimer:

though I could probably be described:

http://en.wikipedia.org/wiki/Towel_Day

as

a frood who really knows where his towel is
B)

this only applies when we are talking about the initial phases of booting and about DOS and NT based systems, with the notable, but irrelevant as I see it, exception I make for Vista :ph34r: .

When it comes to Linux, I know next to nothing of the internal ways and how to configure them.

This said some (hopefully ;)) answers:

1. Ophcrack wont work side by side with slax.

2. my files and folders are unorganised and i'd really appreciate it if you or someone else could give me an idea of a folder structure i can use to keep these neat but that still works in menu.lst, and what uneccesary files i can delete (because im sure that there are alot of isolinux and system linux files that i dont need)

3. i dont understand the **** thing with the paths, how can there be too many folders?

4. I would install more told, but its better not to rush into things, because i still (even after reading diddy's guide to grud4dos) do not understand what a chainloader is or does, I have a feeling that it could be really helpful though.

Yep, see above.

You need some time to learn and plan ahead.

5. I would like to know how to direct grub and the menu.lst to load things on other partitions just like i have done in my current menu.lst. Lets say for instance i had the same slax folder architechture, but it was on another partition like (hd0,1) 0 being the flash disk and one for the second partition (but you know this already)

There are three ways:

  1. hardcoded path
  2. find --set-root method
  3. uuid method

This:

title Slax 6.0.9

find --set-root /grldr

kernel /slax609/boot/vmlinuz initrd= /slax609/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/

initrd /slax609/boot/initrd.gz

could become:

title Slax 6.0.9

root (hd0,1)

kernel /slax609/boot/vmlinuz initrd= /slax609/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/

initrd /slax609/boot/initrd.gz

You can use a "specific" tag file, to make sure that grub4dos roots to the right place, as an example place an empty file "this_is_slax609_on_usb.tag" in (hd0,1)/slax609/ then have:

title Slax 6.0.9

find --set-root /slax609/this_is_slax609_on_usb.tag

kernel /slax609/boot/vmlinuz initrd= /slax609/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/

initrd /slax609/boot/initrd.gz

Or use a tag file to tag a partition, like putting an empty file "this_is_hd_0_1.tag" in (hd0,1)/ then have:

title Slax 6.0.9

find --set-root /this_is_hd_0_1.tag

kernel /slax609/boot/vmlinuz initrd= /slax609/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/

initrd /slax609/boot/initrd.gz

For usage of uuid, check the grub4dos_readme.txt.

By the way, always use - unless told not to do so - LATEST available grub4dos build, that you can find here:

http://nufans.net/grub4dos/

older versions are here:

http://nufans.net/grub4dos/history/

6. lastly I have tried to fit my head around BartPE but all the stuff about the bootsector and installing that on one partition and windows on the other is a tad bit overwhelming. One thing at a time. Windows PE is probably my most important goal, but i doubt its possible until i have figure out all these other things.

Actually this is the particular "field" on which the greatest amount of info is available, or at least the one where the most info is avialable in the grub4dos forum.

About Gparted, your best option at the moment is to forget about it, and get partedmagic, which is already build in a way that it is .iso chainloadable.

Read these:

http://www.boot-land.net/forums/index.php?showtopic=5041

http://www.boot-land.net/forums/index.php?showtopic=4902

http://www.boot-land.net/forums/index.php?showtopic=6860

http://www.boot-land.net/forums/index.php?showtopic=5607

Take your time, and take it easy. ;)

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

after many days of reserch and experimentation, i think i understand everything you've been saying.

I followed this guide to the letter http://www.911cd.net/forums//index.php?showtopic=10482, read this thread: http://www.boot-land.net/forums/index.php?showtopic=6911 , and many others, i was able to "load from Ramdisk", but as soon as xp started to boot i got a blue screen.

this is root of flash drive: (oh and im now using grub4dos instead of grub so i can chainload the SETUPLDR.bin directly)

Winbootfiles

Temp

Portable

boot.ini

NTDETECT.COM

ntldr

grldr

grub.exe

MENU.LST

slax

slaxvmlinuz

slaxinitrd.gz

livexp_inram.iso

SETUPLDR.BIN

WINNT.SIF

my winnt.sif is:

[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=livexp_inram.iso"

i dont think capitalization of rdpath makes a difference, i tried both ways.

menu.lst entry is:

title Start livexp_inram.iso
find --set-root --ignore-floppies /livexp_inram.iso
map /livexp_inram.iso (hd32)
map --hook
chainloader (hd32)
boot

setupldr.bin is from win2k3sp1 and the ramdisk.sys in the iso is from win2k3sp1 also

i just cant get past that blue screen.

I'd be very grateful for your help, and I really appreciate your last post, it put me on the right track.

thank you,

Thomas

Edited by endor43
Link to comment
Share on other sites

after many days of reserch and experimentation, i think i understand everything you've been saying.

Maybe "most" would be more accurate than "everything"....or you would have had it working :whistle:

:P

i was able to "load from Ramdisk", but as soon as xp started to boot i got a blue screen.

...which means you were not able to...;)

I followed this guide to the letter http://www.911cd.net/forums//index.php?showtopic=10482

NO, you did not! :ph34r:

Re read, slowly, this (see also below):

http://www.911cd.net/forums//index.php?sho...=10482&st=3

i dont think capitalization of rdpath makes a difference, i tried both ways.

Maybe naming the .iso 8.3 compliant might help. ;)

Also, you sure the .iso is smaller than 512 Mb? :unsure:

menu.lst entry is:

title Start livexp_inram.iso
find --set-root --ignore-floppies /livexp_inram.iso
map /livexp_inram.iso (hd32)
map --hook
chainloader (hd32)
boot

Menu is correct, you do not need the final boot command when using an entry in menu.lst (but it is needed when you enter commands one by one in command line mode - which is always advised when experimenting)

Though this is NOT causing a blue screen, always make sure (or double sure) that the image is contiguous on disk:

http://www.boot-land.net/forums/index.php?...c=6985&st=5

http://diddy.boot-land.net/grub4dos/files/map.htm

i just cant get past that blue screen.

Actually there are tens or hundreds or "BSOD"'s, which exact STOP ERROR are you getting?

I'd be very grateful for your help, and I really appreciate your last post, it put me on the right track.

Without knowing exactly the error you are getting, it would be tough, see if what I guessed solves the probelm. :unsure:

There is not a "copyright" or "trademark" on the word "livexp", mind you, but since it is used to name a specific Winbuilder project (which by the way allows to make a .iso chainloadable by grub4dos when mapped to (hd32) ) :

http://www.boot-land.net/forums/index.php?showforum=52

http://www.boot-land.net/forums/index.php?showtopic=4111

it would be nice if you call your build something else, just to avoid possible confusion to other members.

Another thing you might want to try is to actually use the LiveXP project, as per Amalux's tutorial, which is known to be working and "automated", then see which differences there are between it (working build) and the one you made (not-yet-working build).

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

I got BartPE to work finally and i am multibooting with that and SLAX and UBCD4.11.

Linux wise, I have always preferred Ubuntu, so i decided to make a persistent installation of Ubuntu 8.10 using the Ubuntu 8.10 USB Creator/scripts (http://www.pendrivelinux.com/ubuntu-810-install-using-the-built-in-usb-installer/). In a nutsell, it installs a full version of ubuntu on your flash drive that will save changes at the end to disk, sort of like SLAX. I created another partition (hd0,1) on the flashdrive and installed ubuntu. It uses a syslinux/isolinux bootloader, and It "chainruns" through several different cfg files when loading ( "include *.cfg"). Now one could try to convert all the syslinux cfg syntaxes to grub for the menu.lst , but since they include each other (and there are around four) when loading, i have a feeling it would be very difficult if not impossible.

So I only see two solutions left:

Use grub4dos to load the sylinux bootloader of Ubuntu on the second partition.

or Use syslinux of Ubuntu to load Its self and give an option to load grub that has the rest of the multiboot entries.

Ironically, The second one (which i do not want, because grub4dos is better) i know how to do.

The first option to me, seems like the most logical and organized way to do it. I would really appreciate it if you could direct me how to load the syslinux bootloader in (hd0,1) with grub4dos in (hd0,0), or if you have another soulution, to enlighten me.

my menu.lst looks like this:

color white/blue black/red
default 0
timeout 30

title Slax 6.0.9
find --set-root /grldr
kernel /slaxvmlinuz initrd= /slaxinitrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/
initrd /slaxinitrd.gz

title BartPE
chainloader /SETUPLDR.BIN

title USB Ubuntu
root(hd0,1)
kernel /casper/vmlinuz
initrd /casper/initrd.gz
quiet

title UBCD v4.11
find --set-root /ubcd411.iso
map /ubcd411.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)

title Windows Vista/Longhorn (loader)
root (hd1,1)
savedefault
makeactive
chainloader +1

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

title CommandLine
commandline

title Reboot
reboot

title Halt
halt


#title Start myiso.iso
#find --set-root --ignore-floppies /myiso.iso
#map /bartpe.iso (hd32)
#map --hook
#chainloader (hd32)

The usb Ubuntu entry i did my self, and it definitley did not work, i realized i wasnt going to be that simple, but i tried :)

here are some dirs of the two partitions if they help

(hd0,0): (Multi-Boot partition)
MENU.LST~
Portable
boot.ini
NTDETECT.COM
ntldr
grldr
grub.exe
MENU.LST
WINNT.SIF
SETUPLDR.BIN
bartpe.iso
TEMP
ubcd411.iso
slaxinitrd.gz
slaxvmlinuz
slax
BU

(hd0,1): (Ubuntu 8.10 partition)
casper
dists
install
syslinux.cfg
pics
pool
preseed
.disk
autorun.inf
md5sum.txt
README.diskdefines
umenu.exe
wubi.exe
syslinux
casper-rw

I appreciate your assistance

Thank you,

Thomas

Edited by endor43
Link to comment
Share on other sites

Wouldn't this be it :unsure::

http://www.911cd.net/forums//index.php?showtopic=22483

This one:

title Slax 6.0.9

find --set-root /grldr

kernel /slaxvmlinuz initrd= /slaxinitrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/

initrd /slaxinitrd.gz

you can (and should) remove the striken part.

BTW, Syslinux cannot be chainloaded directly, but you can install it, then copy the bootsector to a file and chainload that file.

jaclaz

Link to comment
Share on other sites

Syslinux installs to the bootsector (or PBR) of the active partition.

You can simply install Syslinux to the device partition, test that the device works, then use any disk editor (or more conveniently maybe HDHACKER:

http://dimio.altervista.org/eng/

to copy the bootsector to a file.

(you are looking for first sector of Logical Drive, NOT PhysicalDrive)

Then you can install to it a "normal" bootsector or a grub4dos one, or whatever, then place the file somewhere on the device and from grub4dos chainload it.

This method is NOT recommended, however, since the bootsector file is "linked" to that particular volume.

In other words it has "hardcoded" in it specific values, like volume serial, size, start address, etc. that WILL NOT work again when you re-format the volume or use it on another device.

Or you can use syslinux as your "main" bootloader and only load grub4dos for the items for which you "need" or "like" it, see method 2:

http://diddy.boot-land.net/grub4dos/files/...all.htm#method2

Though it may resolve in a bit more work for you, I suggest, once you "choose" a loader/bootmanager to "stick" to it.

Within limits, ANY Syslinux/Isolinux/memdisk .cfg can be "translated" or "converted" to an equivalent grub4dos one.

Read this thread:

http://www.boot-land.net/forums/index.php?showtopic=6119

most if not all the possible conversion "syntax" is listed.

jaclaz

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