Skip to content

Boot from USB stick with multiple ISO files of: Ubuntu + Windows XP/7/10 + WindowsPE (windows live)

Notifications You must be signed in to change notification settings

hossam-magdy/hboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HBoot

A tool to enable booting directly from USB stick containing multiple ISO files.

Benefits

Using this tool you can have a USB stick divided into 2 partitions (Boot + Data) so you can still use the Data partition for personal storage. In the Boot partition you can simply copy any/all the ISO files you would like to boot from.

Example of the latest supported ISO files:

… and the list goes on to many older version of Ubuntu (18.04, 16.04, …), Windows (10, 8, 7, XP), CentOS, Fedora, Debian, … and more.

Also, not for boot but useful for windows maintenance is the MustHave_Win.iso.

Sample screenshot of the boot menu

Boot Menu Screenshot

It currently relies on GRUB Legacy/0.97 (GRand Unified Boot loader).

What it replaces

No need for Windows USB/DVD Download Tool, which is a great tool, but eventually extracts the Windows ISO making your USB stick unusable for any other OS installation (Ubuntu or even different other Windows ISO) nor even convenient for personal usage.

Also there are other tools, some of them are great, but lack some important features (as far as I have found), because they either extract the ISO content or limited to Linux distros (no windows). Some of these tools are: UNetbootin, MultiBootUSB, Rufus, YUMI… etc. Using HBoot, there is no need for them as well.

Setup… via installer (recommended)

  1. Run the installer:

    Ubuntu: curl -sSL https://raw.github.com/hossam-magdy/hboot/master/install/latest.sh | sh

    Windows: downoad the hboot files archive, extract it, and run install/install.bat

    Fot further details,… check the installer arguments

    Run install/install.sh (or install/install.bat on Windows). It can be run with or without arguments as follows:

    Ubuntu Windows
    install/install.sh [TARGET_DEVICE] [BOOT_SIZE=18] install/install.bat [TARGET_DEVICE] [SIZE_BOOT_GB=17]
    - TARGET_DEVICE:
    in the form of /dev/sdX
    - BOOT_SIZE [default=18]:
    integer in GB (1 GB = 1000 MB)
    - TARGET_DEVICE:
    drive letter (E:, F:) or Disk# (1, 2) as in diskmgmt.msc
    - BOOT_SIZE [default=17]:
    integer in GiB (1 GiB = 1024 MiB)
    Ex 1: install/install.sh Ex 1: install/install.bat
    Ex 1: install/install.sh /dev/sdb Ex 1: install/install.bat E: 10
    Ex 1: install/install.sh /dev/sdc 11 Ex 2: install/install.bat 1 10 , (1 is Disk#1)

    Please proceed with the confirmation only if you are sure that the shown information are correct and expected.

  2. Copy any (or all) of the follwing ISO files to iso/ directory:

  3. Run iso/verify-iso.sh (or iso/verify-iso.bat on Windows), to ensure that the ISO files are possible to boot from.

Setup… manual

  • on Windows: using BOOTICE, follow along this tutorial.

  • on Ubuntu:

    • use the "Disks" manager, gparted, or parted for partitioning

    • there is no known solid way for GRUBLegacy installation on later than Ubuntu 12.04, except for restoring a backup bin file.

      A full backup file can be found in install/grub_mbr, which is of exact size of 9216 bytes including the MBR and few more bytes afterwards.

      Be aware that restoring 9216 bytes, overwrites not only the MBR (first 440 bytes), but also the PartitionTable, disk signature.

      The PartitionTable alongside disk signature should be existing on the disk in bytes 441 to 512. Also cloned, specifically for GRUBLegacy, to bytes 952(or 512+440) to 1024, see this page for thorough explanation of the first 512 bytes of GRUBLegacy.

TODO

  • in installers: being aware of pre-installed HBoot: no re-partitioning format? re-copy files, maintain ISO's, …
  • suffix downloaded gz file with date?
  • install/latest.bat for windows
  • list of supported ISO's
  • in GRUB2 branch:
    • load Windows ISO (again)… using memdisk (slow) AND chainloader/whatever
    • finalize the menu items in grub.cfg

References

Ref links for GRUBLegacy
Links for GRUB2 upgrade

About

Boot from USB stick with multiple ISO files of: Ubuntu + Windows XP/7/10 + WindowsPE (windows live)

Resources

Stars

Watchers

Forks

Packages