Wouldn’t it be nice if you could store all of your favorite ISO image files, like the ultimate boot CD, Kon-Boot, DBan, Parted Magic, etc, into a single USB flash drive and be able to boot to every single one of them using a single menu? The end result is called a USB multipass and if you are tired of having to carry a CD spindle around every time you have to visit a client for a job, tired constantly losing CDs, tired of being in situations where you could have done something but couldn’t because you did not have your CDs with you. I have the solution for you with this tutorial. We are going to store all our favorite ISO images in a USB dongle storage device, and create a menu which will let us boot to each and every one of those ISO images using grub4dos.
Note: Many tutorials will tell you that you need PEtoUSB as well, however this is wrong. In fact it can cause more aggravation because PEtoUSB has an 8GB limitation which can make you spend countless hours trying to figure out what is wrong when the program does not detect your USB drive; that’s right! it won’t even give you an error message. All PEtoUSB does is to make the partition “active”. We can do this with “Windows Disk Management”.
To open Disk Management, click on “Start“, right-click on “Computer” and click on “Manage“. When the “Computer Management” screen opens, on the left hand side column, click on “Disk Management“.
Disk Management will display a list of all hard drives connected to your computer. Go through the list and identify your hard drive. Make sure you write down or memorize the drive’s number, because you are going to need it! As you can see in the image below, I have identified my drive as being “Disk 3″. Also, make sure your partition is marked as “Active“.
Extract the contents of “GrubInst” to your computer and double-sclick on the file named “grubinst_gui.exe“, if you are using Windows 7, right-click on the file and select “run as administrator“, otherwise Grubinst will not see the hard drives.
Grubinst does not display drive letters, instead, it displays drive numbers; use the drive number you got from Disk Management. In our example, we identified ours as being “Disk 3″ so we are going to select hd3. Make sure you do not confuse drive letters, or you might damage the master boot record of a different hard drive. Click on “Install” when done. The process is very fast; it will take less than a second for Grub Installer to complete the job.
Next unzip the contents of “Grub4Dos” to a folder on your computer. Go inside the folder and copy the file “grldr” (not to be confused with grldr.mbr) to your usb drive. Copy it to the root, do not place it inside any directories. Your drive should now be bootable.
Place all your favorite ISOs inside the USB drive. Your USB drive should now contain the “grldr” file and the ISO images.
Creating the Grub menu
Now comes the fun part. To create the initial menu that will get displayed when booting from your USB drive, you must first create a file that contains the start-up settings for each and every ISO image you have, and each set of start-up commands is different from the other. You are now probably wondering “this is too difficult for my skill level” or “too time consuming. Not so!, people have already done the work for you.
Go to the Hak5 forums and, under the “Projects” section, click on “USB Multipass“. Once there, click on the first post named “The Definitive USBMultipass Config“. There you will find two word documents on the first post that will have a big sample of different configurations for different ISOs.
Note: If you find some of the configurations in the Hak5 forum outdated, I found that the easiest way to find recent ones is to go to Google and type the “name of your image” and the word “grub4dos“.
As previously mentioned, you must have all of your ISO images to the root of the drive. You could place them inside a directory, however, bear in mind that if you do so, you have to alter the paths in the sample menu I am going to give you next.
Create a file inside the USB drive called “menu.lst“. Place it in the root of the drive along with the “grldr” file we extracted previously.
The following is a sample of the menu.lst I have on my USB drive. You can copy it and paste it on yours, if you are using the same images.
color blue/black yellow/blue timeout 120 title Parted Magic v5.10 find --set-root --ignore-floppies /pmagic-5.10.iso map --heads=0 --sectors-per-track=0 /pmagic-5.10.iso (0xff) map --hook root (0xff) chainloader (0xff) title Ultimate BootCD v5.03 find --set-root /ubcd503.iso map --mem /ubcd503.iso (hd32) map --hook chainloader (hd32) boot title DBAN 2.2.6 find --set-root /dban-2.2.6_i586.iso map --mem /dban-2.2.6_i586.iso (hd32) map --hook root (hd32) chainloader (hd32) title Kon-Boot map --mem /FD0-konboot-v1.1-2in1.img (fd0) map --hook chainloader (fd0)+1 map (hd1) (hd0) map --hook rootnoverify (fd0) title Backtrack 4 find --set-root /bt4-r2.iso map --heads=0 --sectors-per-track=0 /bt4-r2.iso (0xff) map --hook root (0xff) chainloader (0xff) title Restart The Computer reboot
Note: I could not get Backtrack 4 to work, from what I have gathered in the web its seems to be a bug with Backtrack. I am still leaving it on the menu.lst file since it might get fixed in the future.
In the picture below you can see what the inside of my USB drive looks like. As you can see all images are in the root of the drive; you can place them inside directories if you want, but this is not necessary. A majority of ISO images can be run as they are, however, some like Dam Small Linux, have to be uncompressed onto a directory, they won’t run as ISOs. I am not using any that require to be uncompressed for this example.
If you are tired of carrying around a CD spindle every time you have to do a computer job, a USB Multipass is definitely the solution. It is very handy to have a flash with you all the time loaded with all these images in case of an emergency. With the prices of flash drives now a days, you can even have several, one at home, one at work and one in your car. It might save you a lot of time, gas and aggravation.