I've spent days looking for a good live Multiboot USB solution. I mean a way to include many downloaded ISO files in a single USB stick. I was looking for a system allowing to drop the ISOs in a folder on the key, just showing a menu with the ISO files to boot. Easy2Boot does exactly that!
Booting an ISO file is complex because lots of live operating systems expect to be at the root of a DOS partition. After some research I found several posts saying that generic ISO chainloading is very hard (p1 p2).
I found solutions like YUMI (Your Universal Multiboot Installer (windows) or MultiSystem. At this time, the problem of those programs is that they use specific "tricks" for each distribution to build a menu that will load directly the Linux kernel. It's not as simple as dropping your ISOs in a folder: you have to use the software to build the multiboot usb key. Another drawback is that you will loose the SYSLINUX boot menus of the distros, because it loads directly the Linux kernels.
You also have hardware usb disk drives emulating a cdrom device. It's probably the most reliable solution, but it's not cheap, and bigger that a small USB key.
Easy2Boot, with grub4dos scripting, uses a nice trick (described here): when the iso file is chosen from the boot menu, a DOS partition (number 4) is created starting and ending at the position of the .iso file on the FAT filesystem. This method is more "ISO generic" and can boot many ISO files (99% of Live Linuxes). The drawbacks is that you have a partition overlapping the other (this is not a problem, at least under Linux), and you have to make sure that the FAT filesystem will not fragment your ISO files when you copy them on the key.
Under Windows, you can use the RMPrepUSB software (freeware/not opensource) to prepare your USB key.
Under Linux/Ubuntu, this is simple too:
- Format your USB key with a single FAT partition (I recommend gparted).
- Download Easy2Boot (v1 Beta06 works fine) and put all the files at the root of the partition.
- Download grub4dos (take the last Featured version) and extract the archive on your PC (not on the usb stick)
- From the grub4dos folder, run
sudo ./bootlace.com --time-out=0 /dev/sdXto install grub4dos MBR (make sure you use the right device!).
- Put some ISOs directly in the
- Here you go. Reboot and enjoy!
Thanks to RMPrepUSB and to the reboot.pro forum guys!
- If you have FAT fragmentation problems ("File for drive emulation must be in one contiguous disk area"), you can degragment by copying all the files locally, format, then copy back the files. I asked a question on StackExchange to know if a better method exists.
- Use VirtualBox or KVM/Qemu to test your live usb stick without rebooting (VirtualBox seems faster).