96

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

1
  • 1
    Multisystem is not working on 14.10.
    – Anon
    Sep 7, 2014 at 10:06

16 Answers 16

36

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 commands

cd multicd
chmod +x multicd*.sh
sudo ./multicd*.sh

Above 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.

  • Installing Multiple Live distro in to a USB / Pendrive.

UNetbootin Install 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.

enter image description here

I hope it is enough information but there is a lot more info on this blog.

11
  • 8
    to the downvoter: really? after THREE years you do not agree with 16 other people?
    – Rinzwind
    Sep 7, 2014 at 11:05
  • 2
    same thoughts for a couple of my answers LOL. I think they confuse "very bad answer" with "missing some additional information".. or they don't know they can comment on how to improve the answer. Sep 7, 2014 at 19:07
  • can unetbootin be used to create bootable live drive for Ubuntu 14.04 & gparted iso image? If no then which tool to use for these 2 iso?
    – Ravi
    Nov 7, 2014 at 10:44
  • Yes on both. Gparted and Unetbootin: gparted.org/liveusb.php#windows-method-c
    – Rinzwind
    Nov 7, 2014 at 10:49
  • 4
    How can you use UNetbootin to create a multiboot USB? The answer doesn't explain that.
    – wjandrea
    Jun 26, 2016 at 22:08
15

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:

sudo apt-add-repository 'deb http://liveusb.info/multisystem/depot all main' 
wget -q -O - http://liveusb.info/multisystem/depot/multisystem.asc | sudo apt-key add - 

sudo apt-get update 
sudo apt-get install multisystem

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 read Grub 1 is usually used for a multiboot environment, but this one uses Grub 2. It can be run from the Windows boot menu by using EasyBCD or the Plop boot-manager.

2
13
+50

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:

sudo apt-add-repository 'deb http://liveusb.info/multisystem/depot all main' 
wget -q -O - http://liveusb.info/multisystem/depot/multisystem.asc | sudo apt-key add - 

sudo apt-get update 
sudo apt-get install multisystem

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.

enter image description here

enter image description here


YUMI is also simple similar tool. They are providing a .deb file which you can install like this:

sudo dpkg -i <filename.deb>
5
  • Frustratingly, Multiboot is NOT working on ubuntu, at least 14.10. I think it is using old gtk libraries or something. Did you get it to work for you?
    – Anon
    Sep 7, 2014 at 9:56
  • @Akiva You talking about MultiSystem or YUMI ?
    – rɑːdʒɑ
    Sep 7, 2014 at 10:07
  • MultiSystem. I found a great one though just now called multibootusb.
    – Anon
    Sep 7, 2014 at 10:17
  • @Akiva Why don't you improve the answer from the multibootusb author back from 2011 then? That would be way more useful to the site than several chatty comments. Also the error message or install log from installing MultiSystem is what you should have been posting instead of slackish "doesn't work" statements. I added my findings to my answer.
    – LiveWireBT
    May 24, 2015 at 8:13
  • 1
    YUMI no longer offers the Linux version.
    – Ploni
    Jun 29, 2018 at 16:25
7

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:

install-info: warning: no info dir entry in `/usr/share/info/gtkdialog.info.gz'

It seems that the format for these files has changed, here is an excerpt from the gzip info file for comparison:

INFO-DIR-SECTION Compression
START-INFO-DIR-ENTRY
* Gzip: (gzip).                 General (de)compression of files (lzw).
END-INFO-DIR-ENTRY

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.

0
5

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.

4

A solution tested from Ubuntu 20.04 and later is to use Ventoy. Directly from the tool description:

Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don't need to format the disk over and over, you just need to copy the image files to the USB drive and boot it. You can copy many iso files at a time and ventoy will give you a boot menu to select them. Both Legacy BIOS and UEFI are supported in the same way. Both MBR and GPT partition style are supported in the same way.

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):

ventoy menu

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):

nautilus

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 and VentoyGUI.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 use lsblk to identify correctly your USB disk!) with a GPT partitioning, you can run

sudo bash /opt/ventoy-1.0.61/Ventoy2Disk.sh -I -g /dev/sdb

Following, the list of parameters provided by Ventoy2Disk.sh:

Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
  CMD:
    -i   install ventoy to sdX (fail if disk already installed with ventoy)
    -I   force install ventoy to sdX (no matter installed or not)
    -u   update ventoy in sdX
    
  OPTION: (optional)
   -r SIZE_MB  preserve some space at the bottom of the disk (only for install)
   -s          enable secure boot support (default is disabled)
   -g          use GPT partition style, default is MBR style (only for install)

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

2
  • 1
    +1; It is good that you not only refer to Ventoy with a link, but describe how install the tool and how to use it. Unfortunately, with totally 20 answers (including a few deleted ones), your new answer may not get much attention. It is probably more efficient to answer in a similar way to a current question, even if that question will get classified as a duplicate.
    – sudodus
    Nov 15, 2021 at 9:59
  • 1
    @sudodus added some details, thanks for your feedback, really appreciated. Nov 18, 2021 at 7:57
3

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.

1
  • This answer explains how to make make a USB with multiple installed distros, but it seems to me that the OP was looking for how to create a multi-boot Live USB.
    – Ploni
    Jun 29, 2018 at 16:29
3

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.

1
  • @Ploni Note added, Jun 30, 2018 at 21:47
3

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.

2
  • "At partitioning selected "Something else" " What you mean by "at partitioning" in which application, at what point? In gparted? Aug 11, 2019 at 22:05
  • @Santropedro : "Something else" option in the Ubuntu Ubiquity installer. I have updated answer, please let me know if it is still confusing. Aug 12, 2019 at 17:01
2

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 Install Gparted , find it in the Ubuntu Software Center, or type sudo apt-get install gparted in a terminal. There are more instructions here

After 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 Install Unetbootin , find it in the Ubuntu Software Center, or type sudo apt-get install unetbootin in a terminal. There are more instructions here

After 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.

6
  • @akiva good????
    – MathCubes
    Sep 2, 2014 at 3:20
  • Oh sorry; didn't see this answer; I awarded bounty to agentcool >_<
    – Anon
    Sep 2, 2014 at 3:45
  • 1
    your UnetBootin link is broken, or rather for me, it directed me to a pdf reader.
    – Anon
    Sep 7, 2014 at 9:58
  • @Akiva thanks I did use it as a base before editing
    – MathCubes
    Sep 8, 2014 at 20:52
  • 1
    @MathCubes The temrinal-guide is for a single iso-file. How do you do it for multiple iso-files? Do you have to run syslinux -s for every partition that holds the content of an iso-archiv? Please add more description to your answer!! Thanx! Nov 26, 2017 at 14:48
2

UNetbootin - Multi Boot

There is some interest in this thread about using UNetbootin as a multibooter, UNetbootin does not boot ISO images or install Windows OS.

UNetbootin can install to multiple partitions, however the syslinux bootloader must be dealt with.

Gparted

Divide flash drive into one partition for each OS, Label partitions for clarity.

UNetbootin 1

Use UNetbootin 655 to install OS's to available partitions. using 655 or later should allow drive to boot both BIOS and UEFI

UNetbootin 2

Install to first partition last, or set boot flag for first partition manually.

Syslinux Package

Copy Chain.c32 from Syslinux-4.07 package to root of first partition. Syslinux-4.03 chain.c32 does not work.

Ubuntu Partition

Copy syslinux.cfg as syslinux2.cfg.

Edit Original Syslinux.cfg

Replace the contents of the original syslinux.cfg as shown, adding a chainload entry for each OS.

sudo parted -ls /dev/sdb

sudo parted -ls /dev/sdb

sudo lsblk -f /dev/sdb

sudo lsblk -f /dev/sdb

Config does not seem to be working in the Linux version of UNetbootin 655, if you do not want to use the Windows version here is a workaround.

Edit syslinux.cfg to include chain loading command

Forget syslinux2.cfg and just edit original syslinux.cfg to include chain loading command for other OS.

Will update post if/when I figure out how to get chain loading working with UEFI, which may not be easy with syslinux.

2

mkusb MULTIBOOT HACK

Mkusb makes a great base for custom boot drive projects because of it's abilities with both BIOS and UEFI.

This hack boots multiple ISO files including the Windows installer, and has a grub2 menu.

Grub2 menuentries for most OS are available using Google Search and are beyond the scope of this answer.

mkusb defaults

Use mkusb defaults when creating the Persistent USB drive.

mkusb use defaults again

Use mkusb persistence defaults if in doubt, partition size can be adjusted later but takes time.

DUS Console

The DUS Console after install.

GParted Before

GParted before partition modification.

Gparted after

Gparted after modification - Overwrite sdb4, the ISO9660 OS partition and sdb5, the ext2 casper-rw partition, with a FAT32 partition for persistence files.

Persistence partition

Persistence partition - Create an uniquely name folder for each OS, (that requires persistence)

Persistence folder

Persistence folder - Add a casper-rw file and optional home-rw file to each persistence folder. A home-rw file can be made by renaming a casper-rw file. A home-rw file is like a seperate home partition on a Full install, it can be reused after version upgrades.

ISO folder

Create a folder for the ISO files on the NTFS usbdata partition.

ISO folder contents

Add some ISO's to the ISO folder.

GRUB location

grub.cfg location

grub.cfg

Edit grub.cfg to loopmount the ISO files. Include: persistent persistent-path=/<persistent-folder-name>/ if you want persistence.

sudo parted -ls  /dev/sdb

sudo parted -ls /dev/sdb

sudo lsblk -f  /dev/sdb

sudo lsblk -f /dev/sdb

If a Windows installer is required it is possibly easiest to start with the mkusb "extracting Windows installer" function, (I had to extract the Windows ISO to TAR manually),

mkusb Windows Installer

After installation create a folder for ISO's and if required, folders for persistence, (similar to above procedure).

mkusb Windows grub

Edit /boot/grub/grub.cfg to loopmount any ISO's and specify any persistence folders.

(have not found a way to loopmount a Windows ISO file).

1

Here is another script/utility which uses less dependency and supports many (multi)distros

multibootusb - Browse Files at SourceForge.net

3
1

SARDU Multiboot USB and DVD supports multiple Linux OS as well as Win7 and Win8 installers, and is discussed at SARDU – Multiboot USB Creator (Windows) | USB Pen Drive Linux.

2
  • This works only under Windows sardu.exe
    – blade19899
    Dec 20, 2013 at 22:43
  • OP did not state that a LiveUSB builder which works under Windows was unsatisfactory, and Sardu meets all his other criteria.
    – K7AAY
    Dec 20, 2013 at 23:19
1

Try Ventoy https://www.ventoy.net/

Runs in Linux and Windows, and accepts ISOs of both. Couldn't be more simple to use! After installing and running, just drag and drop the ISOs you want to the USB drive.

0

new answer for an old thread

After trying many solutions, among with

  • Multisystem an incredibly complex setup to reach a botched, flawed and mildly working interface
  • Yumi more professional approach but doesn't handle UEFI

I came to try successfully Easy2boot which has a simple and efficient Linux script to format, build and setup a preformatted USB drive (partition FAT32)

  • Uncompress the downloaded file from the site to a directory, say easy2boot
  • Copy your image files (ISO ...) to easy2boot/_ISO/AUTO (the simplest)
  • cd easy2boot/_ISO/docs/linux_utils
  • run fmt.sh : bash fmt.sh
  • easy2boot will show which device it will work on, and ask you if it is correct ... be sure to check this part twice!

That's it.

Try the formatted drive from Ubuntu! (should be unmounted at this point)

qemu-system-x86_64 -machine accel=kvm:tcg -m 512 -hda /dev/sdX

where X is the USB drive device (eg 'b','c',...)

You should get a new entry in the top menu "DIRECT BOOT".

enter image description here

5
  • Unfortunately, not free software.
    – Felix
    Sep 5, 2016 at 12:50
  • 1
    I tested both multisystem and easy2boot. multisystem used less space than easy2boot with the same ISO. SO I prefer multisystem over easy2boot. Dec 14, 2016 at 17:39
  • Multisystem worked nicely for me: intuitive and worked as expected and with no fuss...
    – landroni
    Feb 27, 2017 at 15:34
  • @Felix on it's homepage it says it's free! Nov 25, 2017 at 12:01
  • 1
    @ArchLinuxTux On easy2boot.com/download it says "...is free for non-commercial use". In my understanding this violates the definition of Free Software (en.wikipedia.org/wiki/Free_software) and of course I mean "Free as in Free Speech" (they will not take this away from us) not "Free as in Free Beer" (you do not have to pay for it). I could not find any "license" text on the easy2boot homepage. I'd be glad if its Free (Free!) software, in that case please provide a link and I will delete or adjust this comment.
    – Felix
    Nov 25, 2017 at 13:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.