This is how to make a grub4dos Easy2Boot USB MultiBoot USB Flash drive under linux.
Once you have made the E2B USB drive, you can boot pretty much any number of linux LiveCD ISOs just by copying them to the E2B drive!
Here is how to do it the harder way...
So before you begin, copy the bootlace.com file (if not in the E2B download) and the Easy2Boot.zip file to somewhere accessible on your linux system (e.g. to another spare USB drive or a folder on your hard disk)
I tested this by using two USB drives, one containing a bootable linux OS + the bootlace.com+Easy2Boot.zip files, and the other USB drive was the one I wanted to prepare as my E2B drive.
I booted from the linux OS USB drive and then partitioned and formatted the other USB drive under linux.
You may also see here.
Other instructions here.
Due to a lack of linux defrag utilities, I strongly recommend that you format the partition using FAT32 so that you can make the files contiguous using the linux defragfs utility.
1. Format your USB Flash Drive to use a Single Partition (FAT32 type 0C - or if possible add a small 2nd partition too, to help bootability - some systems will not boot from USB Flash correctly unless it has 2 or more partitions so it is always best to add a tiny (hidden) partition) use gparted - or do it the hard way using fdisk as follows:
Create a Fat32 Filesystem on the USB Flash Drive:
2. Check you can access the drive that has bootlace.com and the Easy2Boot zip file on it using ls, e.g. ls /mnt/yyyy/ (where yyy is the name of the device - tip: type mount to see what mounted devices are present)
If you cannot access the drive that contains bootlace.com, then mount it using the commands:
and then you will be able to use /mnt/mysrc/bootlace.com to run bootlace (see step 3)
If you cannot access the empty, newly formatted USB drive, then mount it using these commands:
3. Install grub4dos onto the USB Flash Drive:
Assuming that the bootlace.com executable is on /mnt/mysrc and the USB drive is sdx, use the following command to install grub4dos to the MBR with 0 seconds timeout
sudo /mnt/mysrc/bootlace.com --time-out=0 /dev/sdX (note that we specify the whole disk sdx)
you should see the response
4. Extract the Easy2Boot files from the E2B zip file and copy it onto the USB Flash drive
5. Copy all your linux livecd ISOs to the \_ISO\MAINMENU or \_ISO\LINUX folder using the GUI File Manager in linux.
For other ISOs or for linux ISOs+Persistence, follow the instructions in the Easy2Boot tutorial.
6. Make all files contiguous
After adding any files to the E2B USB drive you need to ensure that all files are contiguous. 'danboid' suggests using defragfs - you may need to omit the .pl file extension depending on what version of defragfs you have.
This is reported to only work on FAT32 volumes (TBC) but not on NTFS volumes. ext2/3/4 volumes seem to contain non-contiguous files after running this, so it does not seem to actually defrag files on ext2/3/4 partitions!
Note: To defrag files on FAT32 and NTFS, you could boot from the E2B USB drive to a mini-Windows OS (such as Mini-XP on a Hirens ISO or even a Windows Install ISO) and run RMPrepUSB - Ctrl+F2 to run WinContig under Mini-Windows. Copy over the portable version of RMPrepUSB (or just WinContig) to the USB drive first.
To run RMPrepUSB from WinPE or WINE, you may need to copy the msvbvm60.dll file from the RMPrepUSB\WINPE_EXTRA folder to the same folder as RMPrepUSB.exe. Also, if WinPE does not include a variety of different fonts and so you cannot see any text on the controls when RMPrepUSB runs, select English204 as the language.
Checking last sector is accessible...
Some BIOSes may hang or go very slowly when booting to E2B. This can usually be fixed by reducing the size of the partition by a few MBs. The actual problem is caused by the BIOS code being asked for a sector which is past the end of the USB drive and therefore does not exist. A good BIOS will just return the data and an error, a bad BIOS will hang!
You can shrink the size of the last partition on the USB drive using a suitable tool - e.g. gparted.
For persistence , you often need to create a file on the E2B USB drive which is formatted as an ext2/3/4 filesystem (instructions are always inside the .mnu file). To do this under linux AND have it contiguous (which is required for E2B) - see the thread here.
Use cd to get to the directory where you have mounted the USB drive - e.g. /media/USBDrive, then create a file as follows (example uses 1GB mint-rw, volume name is normally casper-rw)
dd if=/dev/zero of=mint-rw bs=1M count=1024
mkfs -t ext2 mint-rw -L casper-rw
or for ext3
Making a sparse file using dd may be faster, try this...
dd if=/dev/zero of=casper-rw bs=1M count=0 seek=1024
to defrag the ext2 filesystem...
sudo perl ~/Downloads/Easy2Boot/_ISO/docs/linux_utils/defragfs /media/Multiboot -f