… for easier and faster setup using installer (recommended, as long as it works), see the main documentation page, otherwise, keep reading.
A brief explanation of:
USB disk will have 2 partitions:
- NTFS partition for all “Boot” files (ISO files, grldr, firadisk, …)
- NTFS partition for regular “Data” usage
- Windows OS allows access to only one partition for any removable device. So, making the “Data” partition accessible (visible) to Windows ensures security to all boot files (the entire “Boot” partition is hidden). Even if anyone tried to format your USB disk using regular windows format, it will format only the visible partition.
So, your boot files are protected as long as you set the “Data” partition as the visible one.
USB disk can boot from the following:
- Windows XP/7/10 installation ISO (you can install any version of windows)
- Windows PE (Preinstalled Environment) ISO
- Ubuntu ISO (i.e: live/installation)
- Hiren’s BootCD ISO
- Ultimate BootCD ISO
- Acronis Disk Director ISO
- Acronis True Image ISO
- Norton Ghost (2003/v15) IMG/ISO
- and possibly more …
- The grub4dos will be written to the MBR of the USB disk to boot from “grldr” file that exists at root of any partition.
- The “menu.lst” file is pre-configured and categorized based on existing ISO files. Recognized ISO’s are loaded directly. Unrecognized ISO’s are loaded through the boot choice “( Choose ISO )” which loads “boot/menuISOFileList.lst“.
- The “boot/menuISOFileList.lst” file is automatically generated by “.[ReOrganizeFiles].bat“, ideally.
- USB disk partition table will be like:

- Swapping/switching partitions can be done from booting options (thanks to Steve).
- “.[SwitchPartitions].bat” uses an embedded “.BOOTICE.exe” to modify partition table by setting parameter
/firstpart=1.
CAUTION: Make sure your USB disk has no important data. You take full responsibility of any data loss or HDD damage resulting from the following steps. However, if you followed the guide in a step-by-step manner, no data should be lost. DO NOT CONTINUE IF YOU DO NOT KNOW WHAT YOU ARE DOING.
-
Clone the “HBoot-Files“ (this repository)
-
Using “BOOTICE.exe” (in “HBoot-Tools.zip“), follow the screenshot below (blue marks are optional/changeable):
-
Copy the ISO files to the boot partition
(preferable by dragNdrop over “.[ReOrganizeFiles].bat“)
(download links can be found at the beginning of “menu.lst“)
-
Run “.[ReOrganizeFiles].bat” to ensure ISO contigousiness (i.e: defragemented) & to protect boot files.
-
Using “.[SwitchPartitions].bat” you can switch/swap between “Boot” and “Data” partitions.
You can switch also using “BOOTICE” => “Parts Manage” => “Set Accessible”
-
Using “.[ReOrganizeFiles].bat” you can:
- Copy files contiguously (if possible) by opening/dragging-dropping them with the “.[ReOrganizeFiles].bat” file.
- Verify that all ISO files are contiguous (must be so, to boot).
- Hide/protect critical boot files & show/unhide all other files (useful in case of some malware infection).
- Remove (from root folder only) :
- shortcut files (*.lnk)
- vbScript files (*.vbs)
- JavaScript files (*.js)
- “Autorun.inf” file created by some malwares
- “System Volume Information” folder
- “Recycler” folder
- “RECYCLE” file/folder created by some malwares
- Rebuild “Autorun.inf” file for elegant USB icon (also overwrites the inf file created by some malwares)
-
Any ISO file must be placed at the root of the “Boot” partition.
-
Some ISO files are pre-configured for booting, to make use of this, ISO file name should be as configured in “menu.lst” (for advanced users)
I hope this would be useful to someone.
Good Luck 😉
This tutorial was used to be a blog post since 2016, but is moved to a git repo for:
- tracking changes of
menu.lstdue to new releases of Windows and Ubuntu - easier maintenance of files here than google drive
