81 posts in this topic

I wanted several operating systems on a USB stick and after many hours messing with syslinux, memdisk, grub4dos, xosl, freedos, avlgomgr, acronis os selector, ranish partition manager. I have succumbed. I first started out wanting to boot an iso off USB and ran into trouble loading large img with memdisk which I found out is due to a bug in msdos so I used freedos but things didn’t work out as planned and it’s a similar woe story’s with the rest. Acronis os selector lets you boot multiple os from one partition from different folders but don’t work great when it comes to dos.

I have 5 partitions on my USB stick and using the boot loader BootIt NG http://www.bootitng.com/bootitng.html This is a 30 day trial. There’s a iso boot image inside the zip you need to burn to cd.

Now I wasn’t happy just putting one os on my USB stick. I wanted linux and diagnostic tools etc.

I now have what I think is the easiest helpful solution below.

Stage 1.

Ok XP can only see one partition on a removable USB but if change the USB driver to a fixed disk driver then XP will see it as a hard drive then we can have lay down multiple partitions as we like. Now open regedit and goto HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR

and double click on USBSTORE and you see a subkey below it, select the first subkey below USBSTORE and right click and select Copy Key Name

Goto Device Manager and click on disk drives. You see your USB listed, dbl click on it and goto the driver tab and click update driver and install from a specific location and choose the driver to install and click on Have Disk and browse to the cfadisk.inf file your modified driver on your desktop and force that to replace your existing driver. It might ask you to reboot. You should now have your USB showing as Local Disk

We want your first partition dos bootable so run HP USB Disk Storage Format Tool. I’m using version 2.1.8. Select your drive letter of your USB device and select "Create a DOS startup disk" and browse to your 98 boot disk folder. Click Start. Your USB will be formatted and 3 files will be copied from your dos startup files. You need to manually copy the rest of the 98 boot files to your USB drive.

You can now resize the drive (mines 512MB) and create multiple partitions. All partition software now sees it as a fixed disk. I used acronis disk director and resized the partition keeping the first dos bootable partition intact and made another 4 fat partitions so I had 5 in total.

Make sure your format all partitions as Primary not Logical.

I now make all the os for each drive on my USB, so for example I copy all linux files to the root of I: and then syslinux I:

G: Dos bootable drive

H: BartPE2USB

I: Dsl Linux

J: UBCD

K: Partition Tools

So this way makes it easy to load multiple iso using ramdisk also.

Stage 2

Insert your BootIt NG cd you made earlier and your USB stick and reboot and change your bios to boot from cd and disable all hard drives from your bios so they not detected, that way you wont delete any hard drive data and you know your using the USB only. You can now install BootIt onto your USB stick. This is a simple install. It install on the first partition. It will detect all partitions. You can now add the partitions easily. Your USB shows up as HD0 and the separate partitions as MBR 1, 2 ,3 ,4 5 etc and boot from each one from the menu.

BootIt is not free. I am using this till i can workout a freeware solution.

EDIT: Here comes the better freeware solutions.

I going to explain simple easy way that works, on how to create a bartpe and dos dual-boot on an USB stick install each on separate partitions including a menu to select either. I will use 2 partitions for now.

Download spfdisk it’s a good boot loader which has many features and is free.

Plan how much space to split up for dos and bartpe. Delete all your USB stick so it’s unallocated space and then create 2 partitions of fat to the size you need and format. Make the first partition dos.

Acquire or make a dos bootable cd or floppy and put spfdisk.exe on it. Make sure you match the dos version of your boot disk to same version of dos system files you be using on your usb.

Note: Your usb stick partitions will be hd0,0 and hd0,1 when you boot on startup but will be different under windows, not showing as the first drive.

First time you rub Wingrub you see a box pop up called base setup. Click the drive letter of your USB stick and click Ok. Make sure its your USB stick you click and not your hard drive. In Wingrub right click in the menu table and click edit and paste the menu data below over the existing data in the edit box and click ok. now save it as a new name ending in .lst - If you need that menu again load it back in. You need to make a folder on your usb called boot and inside that another folder called grub and then copy your menu.lst to that folder.

timeout 30

color=white/blue

title Dos Utils

unhide (hd0,0)

hide (hd0,1)

rootnoverify (hd0,0)

chainloader +1

makeactive

boot

title BartPE

hide (hd0,0)

unhide (hd0,1)

rootnoverify (hd0,1)

chainloader +1

makeactive

boot

Now in tools menu click Install Grub. You going to install grub to the MBR. Now click the partition letter of your first partition of your USB stick then click install. 2 files have copied to your partition and your mbr is now patched with grub. How easy is that, no use of a disk editor needed. The original mbr is saved in the file MBR.ORG on your usb. You can now reboot test your usb stick and use the grub menu.

Share this post

Link to post

Share on other sites

because i want to use big img's and these take time to load up with memdisk same with ramdisk, plus theres issues with memdisk and io.sys, plus syslinux needs fat and yes there is freedos as a workaround. so saying all that i am impatient and dont want to wait when partitions just run it instant.

@Markymoo

The best solution is to use grub. Installing grub is easiest with linux. I will update my guide soon

ta jaclaz respect. it should be you writing the tutorials. im sure you can do awesome with your vast knowledge and i dont mean pasting x number of bytes into the bootblock but more friendly.

i just bought a usb external hard drive, its a full scale limitless bootable solution, it be interesting to know when those with xp on there usb sticks give up the ghost (joke get it) how long they last

Edited March 16, 2006 by Markymoo

0

Share this post

Link to post

Share on other sites

cheers! if i can help people complete the jigsaw, there are people with the solutions in the heads already but less on paper. you see snippets here snippets there but nothing concrete. its like we all know the twin towers didnt fall down just due to planes.

i dont think it matters what the hardware called as long as you get the end result

i just revived data from a laptop from utils off my usb where the partition was mostly detroyed but i managed to browse the files on the damaged partiton and burn to dvd-rw in one go. how cool is that!

Share this post

Link to post

Share on other sites

Thanks for the reply - i tried that already though. I'll explain in more detail...

I'm creating a Windows - based Linux installer for handheld PC's, and needed to partiton compact flash cards. My setup installed the driver using an application called "infpinst" which can be run from a command line. Unfortunatly, this seems to prevent roll-back from working. I can uninstall the old driver using infpinst, but then Windows refuses to detect them as mass storage.

Draw your image in your preferred graphic program, save it as .BMP with a 14 colours palette (if your graphic program does not allow this, use the Gimp to open the .BMP, limit the palette to 14 colours and save it again as .BMP).

Now open a command prompt window, navigate to your ImageMagick install directory and give this command:

convert picture.bmp picture.xpm

Preview the result with the Gimp, check that colours are really limited to 14, DO NOT save the image with the Gimp!

If result is OK, re-run as follows:

convert picture.bmp picture.xpm.gz

(or you can use 7zip to gzip the image previously made)

Please note that it is important to do the above because if you try to use, as you should theoretically: convert -colors 14 picture.bmp picture.xpm.gz

starting from a, say, 256 colours image, the palette will NOT be optimized and result will be VERY POOR.

After having tested that the image works with GRUB, you should spend sometime experimenting with the two settings:

Foreground=xxyyzz

Background=xxyyzz

These are coded colours (RGB, same as used in HTML) that apply to the TEXT superimposed by GRUB (normal/highlighted).

Since I am a very bad "painter", I have found that a quick way to get acceptable results is to start from a 16 colours 640x480 image, they used to be backgrounds for Windows 3.1 and can be found quite ieasily on the internet.