Giter Site home page Giter Site logo

mexit / multios-usb Goto Github PK

View Code? Open in Web Editor NEW
211.0 9.0 25.0 19.18 MB

Boot operating systems directly from ISO files

License: GNU General Public License v3.0

Shell 100.00%
grub2 multiboot usb bootable-usb iso-image boot linux loopback uefi-boot liveusb

multios-usb's Introduction

MultiOS-USB

One device with multiple ISO files. Easy to use: install once, add ISO files and boot computers from it

Main menu

Features:

  • 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 files
  • Boot Windows 10/11 installer from ISO (currently, SB must be disabled during installation)
  • 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

Tested ISOs

List of tested ISO images: new, (old)

Installation:

Go to Releases, download the latest version and unpack the downloaded archive.

Linux console

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 -l

This 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/sdX

Image based installation (experimental)

Recommended installation method for Windows. Go to Releases and download the appropriate file.
Installation details can be found here and in the downloaded archive.

First use

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.

Press OK
Press Enter

Choose: Enroll key from disk
Select: Enroll key from disc

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.

Update MultiOS-USB:

You can add support for new operating systems. No need to reinstall.
Download and unpack MultiOS-USB repository

Automatic update

To update configuration files, simply type the following command, replacing /dev/sdX with your chosen device path.

$ ./multios-usb.sh -u /dev/sdX
Manual update
  • Remove all files and directories on your USB in /MultiOS-USB/config/
  • Copy the downloaded files and directories from config to the above directory.

multios-usb's People

Contributors

dependabot[bot] avatar mexit avatar sopor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multios-usb's Issues

error: device not found

2
3
4

  1. Three ISO files of linuxmint are correctly recognized.
  2. Choose any file -> Enter -> Esc
  3. Choose any file again, error: device not found.

How to fix it, thanks.

Installer options?

Usage: sudo $scriptname [options] device [data_size]

What options are available for the installer? I cannot find any documentation.

Boot Windows directly from the ISO

Nice project.
I see on windows_support.md that it says

Currently, you have to extract the files from the ISO image. In the future, we plan to run Windows directly from the ISO image.

How are you going to implement it? Any good ideas? I might be able to help you.

Not all ISO files detected

Is it possible to boot undetected files such as a Windows 10 installation ISO? After placing it in the ISOs folder, only some Linux ISO's are detected and displayed. Is it a case of making a config file for the missing images or can I force GRUB to display all files found?

certificate ubuntu 22

ubuntu image file name:
ubuntu-22.10-desktop-amd64.iso

motherboard:
gigabyte z2709-D3

i installed certificate from EFI/BOOT/cert/MultiOS-USB.cer
Select Continue and confirm (Yes) key enrolling
but security violation error
i disabled secure boot but same error again

Read-only partition with extx filesystems

Hello and thank you for your usefull project !

I installed a first time my USB key on default fs, but Ubuntu complete iso is 5Go… So fat32 is not sufficient.

I installed the tool with ext4 and… the partition is now read-only, I can only write it with sudo rights.

Do you have any idea why ?

Command used to install the tool
sudo ./multios-usb.sh -f ext4 /dev/sdb 20G

Thanks !

Unable to locate .SQFS file

I am trying to boot the latest Parted Magic ISO

Snipped contents of grub.cfg:

set default_settings=""
set live_settings="boot=live eject=no"
set linux="/pmagic/bzImage"
set initrd_img="/pmagic/initrd.img /pmagic/fu.img /pmagic/m.img"
set default=2
set message="Loading kernel and initramfs. Please wait..."

menuentry "1. Default settings (Runs from RAM 4GB+)"{
	echo $message
	set gfxpayload=keep
	linux $linux $default_settings
	initrd $initrd_img
}

This is what I am testing:

# For Parted Magic

iso_subdir="partedmagic"
iso_pattern="pmagic_*.iso"
grub_configfile=""

for isofile in $iso_dir/$iso_pattern $iso_dir/$iso_subdir/$iso_pattern; do
	if [ -e "$isofile" ]; then
		regexp --set=isoname "$iso_dir/(.*)" "$isofile"

		submenu "$isoname ->" "$isofile" {
			iso_path="$2"
			loopback loop $iso_path
			isocfg=""
			bootoptions=""
			linux_path="(loop)/pmagic/bzImage"
			initrd_path="(loop)/pmagic/initrd.img (loop)/pmagic/fu.img (loop)/pmagic/m.img"

			menuentry "Parted Magic - 1. Default settings (Runs from RAM 4GB+)" {
				echo "Loading kernel and initramfs. Please wait..."
				set gfxpayload=keep
				linux $linux_path $bootoptions $isocfg
				initrd $initrd_path
			}
		}
	fi
done

The ISO boots correctly and loads the above images.

Then it tries to load a .SQFS file which is the main OS in a compressed file. But it fails to locate it and drops out to a shell.

Frome there I try to locate the contents of the ISO but cannot find where it is mounted.

Any ideas what I can do to locate the file and boot?

Black screen

After installing to a drive from Linux and copying an ISO to the appropriate folder, my computer boots to a black screen. No messages, menu or other display at all. Secure boot is disabled. Other removable drives boot without issue. Can anyone suggest any troubleshooting tips?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.