What I want is to create a bootable pen drive that shows GRUB menu and I can select any of the several bootable systems from there to install/run. I have several ISO images that I want to install in the USB like Ubuntu, Fedora, System Rescue CD, Windows XP and Windows 7 (The windows versions are optional, mostly am looking for a multi installer for Linux distros, specially Ubuntu version)
The default Startup Disk Creator only works with Linux Images and only 1 at a time (At least for the mean time. If it allows more systems and multiple ISOs it would be awesome)
What method exists that I can use step by step to create a bootable USB Drive with multiple images than can be booted from the USB and selected from GRUB. It must support Windows Images and Linux Images.
Alternatively, is there also a way to have multiple versions of the Ubuntu installation ISO on same USB Drive, such as, when booting from it, I get to choose what Ubuntu version and architecture to install, for example:
BOOT MENU
Ubuntu 12.04 32 Bit
Ubuntu 12.04 64 Bit
Ubuntu 12.10 32 Bit
Ubuntu 12.10 64 Bit
UPDATE: Wanted to add that the English version for the post mentioned by daithib8 is here: MultiSystem – Create a MultiBoot USB from Linux | USB Pen Drive Linux
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.
The only system I found for a multi-boot boot-stick, without using Windows, is Multisystem. While the documentation is only in French, you can easily install it on Ubuntu using the project's official repo:
It can do
burg
,syslinux
,grub4dos
,plop
,Virtualbox
,qemu
etc., but a basic multiboot stick can be made in 5 minutes by drag and drop for many distros. For Slitaz cooking I had to add a few lines to/boot/grub/menu.lst
. From what I readGrub 1
is usually used for a multiboot environment, but this one usesGrub 2
. It can be run from the Windows boot menu by usingEasyBCD
or thePlop
boot-manager.I came to know 2 more tools. Named MultiSystem and YUMI.
MultiSystem installation is very simple, and you can easily install it on Ubuntu using the project's official repo:
Then all you have to is select your USB device and simply drag n drop your ISO's into MultiSystem tool. If DnD doesn't work, you can also click on the
Add
button.YUMI is also simple similar tool. They are providing a .deb file which you can install like this:
You can loop mount isofiles directly with GRUB2 by installing it to the MBR of the USB drive. You can also create UEFI bootable USB drives this way or combine both methods.
Most of the other solutions are MBR/legacy PC specific and don't work reliably on UEFI machines.
I recommend reading the documentation on the project site and related manpages (
grub-install
,grub-mkimage
).Edit 1: I extended my answer to a similar question a while ago. Section 2 is about loop mounting one image, mounting several Ubuntu images like in the question can be done by copying and modifying the menu entry or picking the appropriate template for another distribution from the article in the Arch Wiki. MultiSystem proposed in another answer, should be very similar as it also utilizes GRUB's loop mounting capability.
Edit 2: Speaking of MultiSystem, the package cannot currently be installed on newer versions of Ubuntu due to the following error in the gtkdialog dependency:
It seems that the format for these files has changed, here is an excerpt from the gzip info file for comparison:
gtkdialog is unmaintained and was removed from Debian a long time ago with the advice to application developers to move to alternative solutions. MultiSystem still seems to be under active development, but yet still depends on gtkdialog, someone should approach the developers, I don't speak French though.
MultiBootUSB is my favorite multiboot drive maker.
It will make a USB drive that can boot over 150 distros, it is based on grub2 iso boot and is very easy to use.
Ubuntu versions and derivatives can each have there own persistence file. Persistence is not available in other multiboot drive creators.
Sundar_Ima has done a great job on this utility.
There is both Linux and Windows versions.
My first MultiBootUSB drive is still in use after seven years.
A solution tested from Ubuntu 20.04 and later is to use Ventoy. Directly from the tool description:
I have created a bootable USB where I have copied my ISO files simply with a copy/paste procedure, so that they are shown in a menu when the USB stick is used as a bootable drive. At the same time, I can use this USB also to store my personal data (they do not appear in the Ventoy Menu).
This means that when I use this USB stick as a bootable drive I have a menu like this (screenshot taken from the official website):
When I open it via Nautilus, it is like a normal USB stick where you can put your files (screenshot taken from my Ubuntu 20.04):
Ventoy does not come in a deb format or with an installation script, so you need to download Ventoy from the release page. If you download the
.tar.gz
version (I'll refer to version 1.0.61 in the following examples), you can extract it by issuing in the terminal:sudo tar xzf ventoy-1.0.61-linux.tar.gz -C /opt
Considering the meaning of /opt folder, I think that
/opt
is the best choice in terms of destination folder.Now, you need to give permissions to at least
Ventoy2Disk.sh
andVentoyGUI.x86_64
:sudo chmod +x /opt/ventoy-1.0.61/Ventoy2Disk.sh /opt/ventoy-1.0.61/VentoyGUI.x86_64
Now you are ready to use it. To create a bootable USB mapped as
/dev/usb
(always uselsblk
to identify correctly your USB disk!) with a GPT partitioning, you can runsudo bash /opt/ventoy-1.0.61/Ventoy2Disk.sh -I -g /dev/sdb
Following, the list of parameters provided by
Ventoy2Disk.sh
:Otherwise, you can run Ventoy with a graphical interface using:
sudo /opt/ventoy-1.0.61/VentoyGUI.x86_64
Further details are available in Ventoy Installation.
Another interesting source is this article from RedHat.com: Creating a multi-boot Linux desktop system
OK, this is what i did to run Xubuntu From a SD card it applies to USB sticks too it's really simple actually , though i used only (x)Ubuntu, i'm prety sure it works for other Distro's, not so sure if it will work using Windows.
First we need 2 USB sticks, one for the liveCD's and the other to install the OS.
Since you want multiple OS's in it, you should use a 16 or 32 GB USB stick, if possible use a USB 3.0 because transfer rates from a 2.0 device are quite slow, eg. i used a 8GB class 2 SD card to install Xubuntu, and it while it wasn't crawling, it didn't fly, though SD cards are slower than USB, for the livecd you can use a 1 or 2 GB drive.
Ok, now make a liveUSB bootable drive, i recommend you to use UNetbootiN, to do this, pick the iso and create the liveUSB.
Now, that you have the bootable USB, reboot your PC and start the liveUSB, once you're in there start the live session.
Once you're in connect the second USB to the PC and format it to EXT4, then simply point the installer to the USB drive and that's it ( i went a little on the extreme side, and disconnected all of my Hard drives to avoid grub being insalled on them or messing the existing installations).
Adding more distro's is just a matter of creating more partitions, though i don't know if USB's just as Regular Hard Drives , can only hold up to a certain number of Extended partitions, though you can share the /home, swap, i don't really know if /boot can be shared too or if it's safe to do so.
As to adding Windows to the USB device, maybe JUST maybe, if you create an NTFS partition and install Windows in it, and then restore GRUB to add Windows to it, it may work.
YUMI (2018)
YUMI now has a version for BIOS boot and a beta version for UEFI boot.
YUMI meets the OP's criteria for multi booting ISO images.
It is straight forward and easy to understand and use.
The boot menu is actually syslinux, but is similar to grub2.
One advantage of YUMI is that with a NTFS install, the individual casper-rw persistence files can be over 4GB each.
Download - https://www.pendrivelinux.com/yumi-multiboot-usb-creator/
YUMI is a Windows application and is said to run in Wine, but I did not have much luck with that.
MULTI FULL INSTALL
Things have changed since 2011, flash drives today are much larger and faster.
It is now reasonable to fully install multiple OS's to a flash drive, (or make a hybrid drive with Live, Persistent and Full installs mixed).
Full installs are more stable and secure than persistent installs, but not as quick to make. They are better at utilizing disk space as no fixed size casper-rw file or partition is required.
Create Live installer drive on small flash drive using UNetbootin, Rufus, etc.
Create GPT partition table on large Target flash drive.
Make as many ext4 partitions as you have OS. Size should be about 8GB each or larger.
Boot Live drive, (in UEFI mode), and then insert larger Target drive.
Click Install Ubuntu icon, (Ubiquity).
At partitioning selected "Something else".
Choose sdx1 for /. (sdx being the Target drive).
Install bootloader to root of the Target drive.
Leave all other partition's format boxes unchecked.
If you install using Full disk encryption, make sure to remove or disable any internal drives.
Repeat this with sdx2, sdx3, etc, and the OS's you choose to install.
After the last install boot the flash drive and do an update-grub. This will add all the OS to grub.cfg
You can leave a partition for any ISO's you wish to Live boot or persistent boot, loop mount these using grub.cfg.
It looks like this answer may in part duplicate Uri Herrera's answer. his was here first, I will leave this here for whatever additional info it contains.
Knowing what software to get.
First you will need a partition editor like GParted, or KDE Partition Manager. See this list of partition editors for Linux. I recommand if you use a GTK base desktop sush as Gnome, Unity, or LXDE. Use Gparted. If you use a QT base desktop like KDE or LXQT than use the KDE Partition Manager.
Second thing you need is a installer for them like Unetbootin,or you can use the terminal.
Installing the software.
Gparted
Click this link to install Gparted , find it in the Ubuntu Software Center, or type
sudo apt-get install gparted
in a terminal. There are more instructions hereAfter clicking on the link to install Gparted, it should open up the Ubuntu Software center, and all that you need to do is just press the install button.
Unetbootin
Click this link to install Unetbootin , find it in the Ubuntu Software Center, or type
sudo apt-get install unetbootin
in a terminal. There are more instructions hereAfter clicking on the link to install Unetbootin, it should open up the Ubuntu Software center, and all that you need to do is just press the install button.
Partitioning the Flashdrive
See this tutorial for GUI. See this tutorial for the terminal, NOT RECOMMANDED.
Installing the ISO files to each partition.
For Unetbootin see this tutorial. For the terminal see the tutorial.