83

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

  • Multisystem is not working on 14.10. – Akiva Sep 7 '14 at 10:06

14 Answers 14

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.

  • 6
    to the downvoter: really? after THREE years you do not agree with 16 other people? – Rinzwind Sep 7 '14 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. – Luis Alvarado Sep 7 '14 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 '14 at 10:44
  • Yes on both. Gparted and Unetbootin: gparted.org/liveusb.php#windows-method-c – Rinzwind Nov 7 '14 at 10:49
  • 3
    How can you use UNetbootin to create a multiboot USB? The answer doesn't explain that. – wjandrea Jun 26 '16 at 22:08
13

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.

11
+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>
  • 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? – Akiva Sep 7 '14 at 9:56
  • @Akiva You talking about MultiSystem or YUMI ? – rɑːdʒɑ Sep 7 '14 at 10:07
  • MultiSystem. I found a great one though just now called multibootusb. – Akiva Sep 7 '14 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 '15 at 8:13
  • YUMI no longer offers the Linux version. – Ploni Jun 29 '18 at 16:25
5

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.

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.

  • 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 '18 at 16:29
3

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.

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.

  • @akiva good???? – MathCubes Sep 2 '14 at 3:20
  • Oh sorry; didn't see this answer; I awarded bounty to agentcool >_< – Akiva Sep 2 '14 at 3:45
  • 1
    your UnetBootin link is broken, or rather for me, it directed me to a pdf reader. – Akiva Sep 7 '14 at 9:58
  • @Akiva thanks I did use it as a base before editing – MathCubes Sep 8 '14 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! – Arch Linux Tux Nov 26 '17 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

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.

  • @Ploni Note added, – C.S.Cameron Jun 30 '18 at 21:47
1

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

multibootusb - Browse Files at SourceForge.net

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.

  • This works only under Windows sardu.exe – blade19899 Dec 20 '13 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 '13 at 23:19
1

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

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 GPT partition table on large 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 insert 32GB target drive.

  • At partitioning selected "Something else".

  • Choose sdc1 for /.

  • Install bootloader to root of the 32GB drive.

  • Leave all other partition's format boxes unchecked.

  • Install choosing encryption of home directory if desired, Full disk encryption does not work for me.

  • Repeat this with sdc2, sdc3, 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.

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

  • Unfortunately, not free software. – Felix Sep 5 '16 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. – Nuwan Thisara Dec 14 '16 at 17:39
  • Multisystem worked nicely for me: intuitive and worked as expected and with no fuss... – landroni Feb 27 '17 at 15:34
  • @Felix on it's homepage it says it's free! – Arch Linux Tux Nov 25 '17 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 '17 at 13:39

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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