I have used ISO Master to add files to ISOs before. It is suitable for what you require because it retains the state of whether or not the ISO is bootable. I have used it in the past to add other content (like music) to a live disk. Note, however, that after making changes to an ISO file, you can only "Save As", i.e. another ISO file will be created, so make sure you have enough disk space for both.

A Two Partition Solution
You may be able to get by with 2 (or 3 if you want a Swap) partitions, one for the Full Ubuntu and another for data storage and exchange. Full Ubuntu will install GRUB by default. Modify GRUB to add extra entries that point directly to iso files stored in the first partition along with Ubuntu.
See How to boot from non-Ubuntu live ISO images like Fedora or CentOS? for more details about how to add ISO entries in the GRUB.
Method
First create a primary FAT32
partition in the beginning of the USB for storage. make it the size you want. Alternately, you may shrink the existing partition to the size of general storage partition you want. It is important that this be the first partition, as Windows will only recognize the first partition as the storage partition. The FAT32
format will ensure that it is compatible will most operating systems.
Second Install Ubuntu in the freed up empty space after the first partition. Also make sure the bootloader (GRUB) is installed in the correct USB and not in your hard drive or in the other USB if you are using a Live USB to do the installation from. Choose the whole disk for the GRUB installation. this will look like /dev/sdb
, /deb/sdc
etc. This will place grub in the MBR. Don't choose a partition such as dev/sdb1
.
Third Makes sure everything works so far. Plug the USB into a Windows computer and verify that storage space is readable/ writable. Repeat with Ubuntu and other OSs.
Boot Ubuntu from the USB and make sure it works as expected.
Fourth: Two methods
Easy Method based on Ubuntu Documentation on GRUB2/ISOboot
Install grml-rescueboot
sudo apt-get install grml-rescueboot
Place bootable ISO files in the /boot/grml folder. For example, if the ISO
file is in the Downloads
folder, type:
sudo mv ~/Downloads/<filename.iso> /boot/grml/
Update GRUB:
sudo update-grub
Next time you boot from the USB, GRUB will have the menu entries for the Full install, as well as all the ISO files.
Manual Method / Hard Method
You may also follow the examples in How to boot from non-Ubuntu live ISO images like Fedora or CentOS? and Ubuntu Documentation ISOboot Examples and edit the file /etc/default/grub
and one entry for the first ISO
. Make sure the path to the ISO
file is correct.
use sudo update-grub
command to update the GRUB after editing and saving the /etc/default/grub
file.
Repeat for the other ISO
files.
Also see this forum post for some more details
Thanks to oldfred for the additional links.
Note: This method of editing GRUB to point to an ISO probably won't work with Windows ISOs.
Hope this helps
Best Answer
Creating and installing Multiple Distros in to USB / Pendrive involves two parts:-
"After googling around for few days i found this useful script from www.multicd.tuxfamily.org. Multicd.sh is a shell script written by maybeway36 which enables two or more Live Linux distros / utilities to be able to boot from single CD/DVD. It is really very simple to create multi Live Linux distro in a single disc. Create a folder in your home folder and name it as
multicd
. Put all the live Linux iso images along with multicd.sh script inside multicd folder. Close the window. Open terminal and give the following commandsAbove commands will execute multicd.sh. While executing, this script will download few packages from Internet and make a new iso image called multicd.iso for you inside multicd folder. Check the size of multicd.iso image file. If it exceeds more than 700 mb then you must insert DVD to write it. Choose burn image option from your favorite image burning software to write multicd.iso file. Upon reboot, with the CD/DVD present inside CD/DVD drive, new GRUB will display list of live distros available in the disc. Choose your favorite one to login...
Note: When you download any Linux iso image from internet it will look like this "ubuntu-9.04-desktop-i386" but this has to be renamed as ubuntu.iso (inside multicd folder). Presently this script supports 20 live distros. List of Live Linux distros supported in this script are given below (and the names accepted by this script are on the right side of each distro)."
There's a list of distro's on the blog page.
UNetbootin
allows you to create bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions without burning a CD. It runs on Windows, Linux, and Mac OS X. You can either let UNetbootin download one of the many distributions supported out-of-the-box for you, or supply your own Linux .iso file if you've already downloaded one or your preferred distribution isn't on the list.
Support amongst others: Ubuntu (and official derivatives) 8.04 LTS 9.10 10.04 LTS 10.10 11.04 Daily CD Images, Fedora 10, 11, 12, 13, 14, Rawhide and lots lots more.
If you look at them image you can choose distro's or download ISO's yourself and add them or add a custom. And you can set this up on a hard disc or a USB flash drive.
I hope it is enough information but there is a lot more info on this blog.