I want to keep some of my favorite (Linux) distributions (for workstations and server machines) and some useful Rescue CDs inside a USB stick.
- Clonezilla live
- SystemRescueCD
- Gparted Live
- boot-repair-disk
- AcronisTrueImage2014
- AcronisTrueImage2017
- AcronisUniversalRestore
- Debian
- Ubuntu server
- Ubuntu desktop
- Xubuntu desktop
Some of the available tools to create a bootable USB are:
- WinSetupFromUSB
- YUMI â Multiboot USB Creator
- Unetbootin
- MultiBootUSB
- LiveUSB MultiBoot (MultiSystem)
- SARDU multiboot USB and DVD creator
- xboot
Although I am a Linux user, my personal choice is WinSetupFromUSB (a Windows application). Because it is simple and it works(!). It supports a lot of ISO sources.
WinSetupFromUSB is free for personal and commercial use. Read more details about its License here.
I created my multiboot USB in Windows 10 using Virtualbox. My USB is a Kingston DataTraveler R3.0 G2 USB 3.0 64GB.
Install WinSetupFromUSB
Download WinSetupFromUSB from here. This is a self extracted zip file. After unpacking it is ready to run.
Format your USB
Insert your USB. It will be recognized after some seconds:

You may change a lot of options. Use “Advanced options” to see even more options:

I accepted default options. The first time press “Auto format it with FBinst”:

WinSetupFromUSB warning will appear. Press YES to continue:

Adding one or more ISO sources
Ok, now your USB has been formatted. Let’s start to add ISO sources:

The first ISO in my case is Clonezilla Live. Select the path of ISO file and press “GO”

Wait some seconds. Your ISO source has been added. Repeat to add more ISOs. That’s all.

Contents of the USB
After adding the ISO sources you need to include in your bootable USB, the contents of the USB seem like:

In the ISO folder you wiil find the ISOs you added:

Boot Menu
Everything is located in menu.lst file. Just edit this file to remove an ISO from boot menu or to change the title of the ISO or the boot menu order. For example, to remove “Clonezilla” from boot menu, simply remove lines 22-43 (highlighted). Additionally remove the ISO from ISO folder to save space.
Here is my menu.lst:
color black/cyan yellow/cyan timeout 10 #graphicsmode 0x6A graphicsmode -1 640 480:800 24:32 || graphicsmode -1 ## Menu AutoNumber write 0x8274 0x2001 #graphicsmode -1 800:640 -1 24:32 || graphicsmode -1 #font /unifont.hex.gz #clear mappings and set root in case we return from bootmgr map --unmap=0:0xff map --unhook map --rehook ls /usbdrive.tag > nul || find --set-root --devices=hf /usbdrive.tag > nul ls /default > nul && default /default title clonezilla-live-20160627-xenial-amd64 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/clonezilla-live-20160627-xenial-amd64.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title systemrescuecd-x86-4.8.1 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/systemrescuecd-x86-4_8_1.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title gparted-live-0.26.1-5-i686 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/gparted-live-0_26_1-5-i686.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title boot-repair-disk-64bit from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/boot-repair-disk-64bit.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title ATIH2014P_en-US from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/ATIH2014P_en-US.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title AcronisTrueImage2017 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/AcronisTrueImage2017.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title AcronisUniversalRestore from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/AcronisUniversalRestore.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title debian-8.5.0-amd64-netinst from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/debian-8_5_0-amd64-netinst.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title ubuntu-16.04.1-server-amd64 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/ubuntu-16_04_1-server-amd64.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title ubuntu-16.04-desktop-amd64 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/ubuntu-16_04-desktop-amd64.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff) title xubuntu-16.04-desktop-amd64 from partition 0 map --unmap=0:0xff map --unhook && map --rehook cat --hex --locate=PoLPu@ (md)0x3D0+0x130 > nul && echo Cannot continue if PLoP is active, please start this entry without loading PLoP first && echo && pause Press any key to return to the main menu && configfile /menu.lst set /a dev=*0x8280&0xff root (%dev%,0) set ISO=/ISO/xubuntu-16_04-desktop-amd64.iso ls %ISO% > nul || find --set-root --devices=hf /usbdrive.tag|| echo Error! Could not find usbdrive.tag && echo && pause Press any key to return to the main menu && configfile /menu.lst ls %ISO% > nul || find --set-root --devices=hf %ISO% || echo Error! Could not find %ISO% && echo && pause Press any key to return to the main menu && configfile /menu.lst map %ISO% (0xff) || map --heads=0 --sectors-per-track=0 %ISO% (0xff) || echo FATAL ERROR mapping %ISO%, please check if file is present and defragmented && pause Press any key to return to main menu && configfile /menu.lst #http://reboot.pro/topic/9916-grub4dos-isohybrided/page-2#entry88531 #http://www.rmprepusb.com/tutorials/tails set /a dev=*0x82a0&0xff debug 1 parttype (%dev%,3) | set check= debug off set check=%check:~-5,4% if "%check%"=="0x00" partnew (%dev%,3) 0 0 0 && partnew (%dev%,3) 0x00 %ISO% if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IN BIOS DEVICE %dev% IS ALREADY IN USE! && echo && echo To prevent possible data loss will not continue further && pause && configfile /menu.lst map --rehook root (0xff) chainloader (0xff)
Boot from USB
Booting your computer, select “Boot from USB”

Here are the available options of the multiboot USB in my case. Everything works fine!

Related Posts
You may also be interested in
- How To Setup A Workstation Computer With Ubuntu 16.04 Desktop Step by Step
- How To Setup a Workstation Computer With Xubuntu Desktop 16.04 LTS Step by Step
- Debian 8 Jessie Dedicated Web Server Setup Step by Step
Entrepreneur | Full-stack developer | Founder of MediSign Ltd. I have over 15 years of professional experience designing and developing web applications. I am also very experienced in managing (web) projects.
Your comments are welcome!