One device with multiple ISO/WIM files. Easy to use: install once, add ISO/WIM files and boot computers from it
- BIOS and UEFI support
- Secure Boot support (boot, manage uefi keys)
- Load UEFI drivers
- Launch .efi executables and other boot loaders
- Boot Linux from .iso images
- Boot WinPE from bootable .wim images
- Boot Windows 10/11 installer from ISO
- Boot Linux installer from network (experimental)
- Boot locally installed systems: Linux, Windows
- Automatically update configuration files
- Without background services
- exFAT file system support
- Automatic detection of compatible ISO images (GRUB loopback)
- Support for systems without loopback support
- Allows customisation of ISO boot menu (for example: custom kernel options)
- Support for USB, SSD, nvme, mmcblk, loop, nbd and virtual disks
- Support for x86, x86_64
A list of tested ISO images can be found here
SparkyLinux
# Refresh the package list and install MultiOS-USB
sudo apt update
sudo apt install multios-usb
# Display available USB devices
multios-usb -l
# Install to the selected device (replace sdX with your target device)
sudo multios-usb /dev/sdXNix/NixOS
# run without permanent install (flakes must be enabled)
sudo nix run github:Mexit/MultiOS-USB -- /dev/sdX
# create shell with MultiOS-USB available
nix shell github:Mexit/MultiOS-USBArch Linux
# install using AUR helper like yay or aura
yay -S multios-usb-bin
# or install by cloning and executing makepkg -si
git clone https://aur.archlinux.org/multios-usb-bin.git
cd multios-usb-bin/
makepkg -si
# for usage instructions see SparkyLinux (usage is the same)From GitHub - Linux console
Go to Releases, download and unpack the downloaded archive.
Check and install the required packages (in most cases they should be installed by default):
- tar, bzip2, xz
- sgdisk, wipefs
- mkfs.fat, mkfs.exfat, ...
Go to the directory where you extracted the files and run the following at the console
./multios-usb.sh -lThis command will show you the USB devices available on your system.
To install MultiOS-USB, type the following command, replacing /dev/sdX with your chosen device path.
For example:
sudo ./multios-usb.sh /dev/sdXFrom GitHub - PowerShell installer or manual installation (UEFI only)
Recommended installation method for Windows. Installation details can be found here and in the downloaded archive.
From GitHub - Windows: image based installation (BIOS + UEFI - experimental)
Required external tools. Installation details can be found here and in the downloaded archive.
After installation, copy your ISO files to the /ISOs directory and boot your computer from USB.
You can also add your own configuration files to the /MultiOS-USB/config_priv directory. They will not be deleted during the automatic MultiOS-USB update.
If you want to change the configuration for a given ISO - copy the one you have chosen from the config folder, paste into config_priv and update it according to your needs.
The updated configuration will be detected automatically.
On the first boot with Secure Boot enabled on each new computer, a MultiOS USB certificate must be installed.
Select MultiOS-EFI as partition, then browse to the EFI/cert directory and select MultiOS-USB.cer, Continue and confirm (Yes) key enrolling.
You can also immediately add certificates (keys) from popular distributions in the same way.
If you want to add a certificate later, you can do it by selecting in the Main Menu:
EFI Tools --> and then Add UEFI key or hash.
You can add support for new operating systems. No need to reinstall.
Download zip or tar.gz archive and unpack MultiOS-USB repository
To update configuration files, simply type the following command, replacing /dev/sdX with your chosen device path.
./multios-usb.sh -u /dev/sdX- Remove all files and directories on your USB in
/MultiOS-USB/config/ - Copy the downloaded files and directories from
configto the above directory.
- https://gitlab.com/MultiOS-USB - full MultiOS-USB source code
- https://github.com/Mexit/MultiOS-USB - MultiOS-USB releases


