
How E2B Works
Many multiboot solutions such as YUMI, Multisystem, XBOOT, etc. work by recognising what the payload/ISO file is (or you need to tell it what type it is) and then it will create it's own special menu which is specific to that version of linux ISO. They typically use special 'cheat codes' to boot directly from an ISO, or need to extract files from the ISO or re-make the ISO and patch the files. This means that these types of utilities need to be constantly updated by their authors, because linux distro versions continuously change. This also makes changing and deleting payloads from the menus difficult. E2B avoids this because, for linux ISOs, it uses a special grub4dos feature to map the ISO file as a special partition on the USB drive which linux can access as a 'CD filesystem'. You also get the full original linux boot menu - see below for more details and also 'How E2B was born'.
- Easy2Boot then starts from \_ISO\e2b\grub\menu.lst. The number of ISO and .imgPTN files in the \_ISO\Windows folders are counted - if no files are found, then the 'Install Windows Menu' entry will not be displayed in the Main menu.
- All files (except .cmd, .txt and . files) in the \_ISO\MAINMENU folder are then enumerated in alphabetical order and added to the E2B menu which is held in memory at memory 'sector' (md)0xa000 (all sub-folders under \_ISO\MAINMENU are also searched for all .mnu files and these are also added to the E2B menu)
- As each file is added to the E2B menu file held in memory, any special 'Keywords' like $HOME$ and $$STRxxxx are translated\expanded ($$STRxxxx keyword text is obtained from a STRINGS.txt file - there is a different one for each language)
- Sub-Menu folders are detected by the \_ISO\MAINMENU\ZZSubMenuAll.mnu file (the actual filename of .mnu files is not important)
- If there is one or more .ISO or .imgPTN files in each of the \_ISO\WINDOWS\xxxx folders, the Windows Install menu entry is added to the Main menu.
- If any of the sub-menu folders are completely empty of all files and folders, there will be no menu entry for that sub-menu in the Main menu.
-
The EFI boot file is loaded from the 2nd FAT32 partition (\EFI\BOOT\BOOTx64.EFI or \EFI\BOOT\BOOTIA32.EFI if 32-bit UEFI BIOS)
It is normally possible to Secure UEFI64-boot. - The main a1ive grub2 EFI boot file \grubfmx64.efi is loaded (if 64-bit)
- An initial startup menu is displayed which lists non-empty folders under \_ISO (you can edit your own startup menu)
- If a folder is selected, the a1ive grub File Manager allows you to navigate to any folder/drive and select a payload file.
Partitions
Tip: Use RMPrepUSB - Drive Info - 0 to view the MBR on any disk.
For some functions, e.g. booting linux ISOs with Persistence using a special .mnu file, E2B also requires the MBR 3rd partition table entry to be free. If the 3rd partition table entry is not empty, then you will be unable to use these special .mnu files and E2B will warn you that the partition table is already in use if you try to run such a menu entry.
ptn 2 = FAT Primary ptn (empty or containing agFM EFI boot files)
ptn 3 = if empty can be used by some E2B .mnu files for persistence else optional Primary partition (NTFS)
ptn 4 = MUST always be empty and unused - E2B writes the ISO file start position here if booting from an ISO
Tip: Use RMPrepUSB - Drive Info - P1 to view the first partition sector (PBR).
.MNU Files
MNU sub-folder and .mnu files
MBR\Legacy Only
Windows Install ISOs
Unless E2B uses 'WIMBOOT', Vista and later OS Install ISOs also require an AutoUnattend.xml file to be on a removable drive (i.e. a USB Flash Drive which shows as the Removable type in RMPrepUSB). WinPE v2/3/4 (which is booted to from Windows Setup) picks up the AutoUnattend.xml file automatically - it searches all removable drives for that filename as soon as it has booted and the wpeinit.exe command is run. If your USB drive is not of the Removable type, you will need to convert the ISO to a .imgPTN file or add a WinHelper Removable flash drive.
Sequence for VISTA/Win7/8/10, etc. using a Removable E2B USB drive
Note: You may be offered to run Startup Recovery (StartRec.exe), OS Repair (RecEnv.exe) or MSDart32 if they are present in the ISO.
Windows XP 32-bit Install using DPMS
Windows XP Installs using the 2-Step + F6 method (non-DPMS)
If you are using DPMS2 then please follow the instructions above instead of the ones below.
If you get a BSOD in Step 1 or XP cannot detect your internal hard drive, then reboot and press F6 and select FiraDisk32+WinVBlock32 (if installing XP 64-bit use the 64-bit drivers).
If you have a system which uses a SATA AHCI HDD controller, also add that driver too.
See Tutorial 30 for how XP ISO installs work using FiraDisk/ImDisk.
See here for a list of AHCI drivers included with the F6 XP install process used in E2B.
You can identify your AHCI controller using the List Disk Controller PCI IDs [L] menu.
For 64-bit XP, your system will need to contain an IDE\Legacy Hard Disk controller.
Windows XP ISO install using a Vista/7/8/10 WinPE 'Helper' ISO on an Removable USB drive
Payload files (.ISO/.IMA/etc.) and booting using QRUN.g4b
Payload files (e.g. .ISO. .IMA, etc) which are placed in the \_ISO\MAINMENU folder (not sub-folders under \_ISO\MAINMENU) and in other \_ISO\XXXX folders (not sub-folders) are automatically listed in a dynamic menu which is made in memory. However, .txt, .cmd and . (no extension) files are not listed in the menu. If a .txt file exists that exactly matches the payload filename, the first line from inside the .txt file is used as the menu entry title instead of just the payload filename (so the text in the .txt file should always start with the word 'title' or 'iftitle' followed by the grub4dos menu text that you want displayed).
(a very simplified example):
- :.iso
- :.isoxx
- partnew (hd0,3) 0x0 %1
- map %1 (0xff)
- map --hook
- root (0xff) || rootnoverify (0xff)
- chainloader (0xff)
- exit
ISOBOOT
Booting linux ISOs with persistence
So, for this trick, Easy2Boot USB drives require both the 3rd and 4th partitition table entries to be unused. This also allows us to have multiple linux ISOs all using casper-rw as a persistent filesystem but actually using different files for each different persistent file.
IMPORTANT: you MUST run WinContig (RMPrepUSB - Ctrl+F2 or \MAKE_THIS_DRIVE_CONTIGUOUS.cmd) before booting E2B. This is because the persistence ext2 (and .iso) files need to be contiguous - if they are not then the grub4dos partnew command will not work (you cannot have gaps in a partition!).
# For persistence, create an ext2 file called casper-rw in the root of the boot drive using the RMPrepUSB - Create ext2 FS button# Then rename the file to BT5-rw (do NOT create a file called BT5-rw - you MUST create a file called casper-rw and then rename it!)# Place ISO in \_ISO\Mainmenu\linux or \_ISO\XXXX\Linux (and this .mnu file too)# Run WinContig after copying all files to the USB drive.iftitle [if exist %MFOLDER%/Linux/BT5R2-GNOME-32.iso] BackTrack 5 (1024x768) Persistent\nType startx to run GUI once booted#enable parttype outputdebug 1# make empty table entry in 3rd position in ptn tableparttype (hd0,2) | set check=debug offset check=%check:~-5,4%if "%check%"=="0x00" partnew (hd0,2) 0 0 0if not "%check%"=="0x00" echo WARNING: PTN TABLE 3 IS ALREADY IN USE! && pausedebug 1#clear ptn 4partnew (hd0,3) 0x0 0 0 0if not exist (bd)/BT5-rw echo WARNING: /BT5-rw persistence file not found! && pauseerrorcheck offif "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)/BT5-rwerrorcheck onmap %MFOLDER%/Linux/BT5R2-GNOME-32.iso (0xff)map --hookpartnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/BT5R2-GNOME-32.isoroot (0xff)kernel /casper/vmlinuz file=/cdrom/preseed/custom.seed boot=casper persistent text splash noprompt vga=791--initrd /casper/initrd.gz
.imgPTN files and UEFI booting
All UEFI systems will boot from a FAT partition as long as the correct .EFI boot file is present. UEFI booting does not use the MBR or PBR sectors on a USB drive or run any sector boot code. Easy2Boot can replace the Easy2Boot partition entry (e.g. an NTFS partition) with a partition entry which points to a partition image file (an .imgPTN file).
An .imgPTN file is a sector-by-sector copy of a whole partition. E2B will replace the partition table on the USB drive with a single partition table entry which points to the .imgPTN file.
E2B USB drive - before switching (FAT32, exFAT, ext or NTFS E2B USB drive)
The example 2.5GB .imgPTN file is at about the 6GB position on the J: volume
After selecting the .imgPTN file in E2B
Once this is done, the E2B drive appears as a single FAT32 (or NTFS) partitioned drive. If it is a FAT32 partition and contains UEFI boot files then a UEFI BIOS will boot from it in UEFI mode. If you boot from it in MBR\CSM mode, the grub4dos menu will allow you to restore the original E2B partitions and thus return it to it's original state (or you can boot from the image in MBR mode).
Examples:
E2B USB drive in normal E2B MBR mode:
- ptn 1 E2B (any format - FAT32, NTFS, exFAT or ext2/3/4)
- ptn 2 User partition
- ptn 3 empty
- ptn 4 empty
After selecting a .imgPTN file from the E2B menu which has been formatted as FAT32 in E2B menu (CSM mode):
- ptn 1 FAT32 Image (.imgPTN file set as partition 1)
- ptn 2 empty
- ptn 3 empty
- ptn 4 empty
After selecting a .imgPTNLBA23 file from the E2B menu which has been formatted as NTFS (CSM mode):
- ptn 1 NTFS Image (.imgPTNLBA23 file set as partition 1)
- ptn 2 User partition
- ptn 3 empty
- ptn 4 empty
- ptn 1 FAT32 Ubuntuv1.imgPTN
- ptn 2 empty
- ptn 3 Ubuntuv1 image
- ptn 4 empty
- ptn 1 FAT32 Ubuntuv1.imgPTNLBA23
- ptn 2 User partition
- ptn 3 Ubuntuv1 image
- ptn 4 empty
In this way, we can boot to any bootable image. If you have a USB Flash drive that is bootable, you can easily make a .imgPTN file from it and add the file to E2B. You can add 100's of bootable images (including FAT32 UEFI-bootable images) to your E2B USB drive!
When you select a .imgPTN file from the Easy2Boot menu, it will replace the current partition table with one for the .imgPTN file. This requires you to boot in MBR\CSM mode first, however you can use the SWITCH_E2B.exe Windows utility to 'switch' partitions under Windows, or boot in MBR\CSM mode using QEMU or VirtualBox.
The MakePartImage.cmd file not only copies the files from the source (e.g. ISO), but if the source contains isolinux or grub configuration files, it looks for any references to 'labels', or 'UUID' or 'CD' references, etc. and changes them to work with a USB drive. Any isolinux files are changed to syslinux files and syslinux boot code is installed. This means that MakePartImage should be able to convert most linux ISOs to boot from a USB partition successfully and it does not need to know what type of linux it is dealing with.
I recommend you watch the YouTube videos to see how this works.
Note: Partition 2 can contain a FAT32 volume with UEFI boot files and WinPE OS files. This allows you to UEFI-boot from the E2B drive to WinPE and use SWITCH_E2B.exe to select any .imgPTN file you want to use - no MBR-boot is required. See here and eBook #3 for details.
Clover
Clover is a 'replacement UEFI BIOS' which can be loaded directly from a grub4dos menu. Clover can boot 32-bit or 64-bit UEFI files.
Clover is included in the MPI Tool Pack, so that when you convert a payload to a .imgPTN file, the resulting image file will also contain the Clover boot files. This means you can boot to Clover directly from the CSM (BIOS) Menu to a 64-bit or 32-bit UEFI boot file.
If the Clover boot option is in the CSM menu on a system containing a 64-bit CPU, there will be a \EFI\boot\bootx64.efi file present in the image. For instance, if you convert a 64-bit Windows 8 Install ISO to a .imgPTN FAT32 file, you can boot to Windows 8 Setup in UEFI-mode using the Clover menu entry in the CSM menu and install Windows via UEFI (with GPT partitions,etc.) - no need to directly boot via UEFI from the system's UEFI firmware.
You may see two Clover menu entries in the CSM menu, one for a 32-bit UEFI system and one for a 64-bit UEFI system when you have a 64-bit CPU present. If your system is a 32-bit UEFI system then only the 32-bit UEFI Clover option will work correctly. If your system is a 64-bit UEFI system, then only the Clover 64-bit option will work.
Clover is very hardware-dependant and so may not work on all systems. You can instead boot the system in UEFI-mode and your system's UEFI firmware should automatically boot to the UEFI payload without loading the CSM menu. If you see the CSM menu then it has MBR\Legacy booted!
Using NTBOOT to boot .WIM and .VHD files
The NTBOOT code comes from chenall (one of the major contributors to the grub4dos project) and some parts of it has been modified and added to E2B. It uses bootmgr to boot via a BCD file to a VHD or WIM file.
You may need to add the bootmgr file to the E2B USB drive, if it was not automatically copied when you made the E2B USB drive using MAKE_E2B_USB_DRIVE.cmd (due to copyright reasons it cannot be included in the E2B download).
NTBOOT contains a basic BCD file and it modifies the BCD file to contain the correct entries and paths for the WIM\VHD file. It then boots to bootmgr which reads the BCD and then boots to the WIM or VHD file.
Only WinPE (NT6) wim files which load the OS to RAM (X: drive) will work. NT6 VHDs can can contain a fully installed OS. The actual WIM and VHD files do not need to be contiguous and can be on another partition of the E2B USB HDD drive.
You can add any number of WIM and VHD files - just copy them all to the E2B drive (e.g. \_ISO\MAINMENU or \_ISO\WIN or \_ISO\WINPE) and boot!
WIMBOOT (E2B v1.A8+)
E2B will use the iPXE wimbo ot utility to boot Windows ISO files, if possible.
Wimboot allows E2B to inject a winpeshl.ini file and a batch fie into the WinPE ramdisk without needing to alter the boot.wim file which is inside the ISO file.
The batch file will then execute when WinPE runs and will load the ISO file as a virtual DVD drive (Y:) using ImDisk.
Because wimboot loads the boot.wim image into RAM, it requires twice as much memory for the boot.wim files and so requires at least 2GB of RAM.
Wimboot has the advantage that a Removable USB disk is not required, so a WinHelper USB Flash drive is not needed when WIMBOOT is used.
Grub2 menu system (MBR+UEFI) - discontinued
For details of this extra grub2 menu system (no longer in development) which can be added to E2B - see here.
agFM (MBR\UEFI32\UEFI64)
The grub2 developer a1ive has made the grubFM 'File Explorer' type front-end menu for his enhanced version of grub2. This also has the ability to turn off Secure Boot. agFM is the modified version of grubFM which is added to the second FAT32 partition of the E2B drive. The Kaspersky 64-bit UEFI shim is also added to provide UEFI64 Secure Boot support.
Ventoy for Easy2Boot (MBR\UEFI32\UEFI64)
This is a slightly modified and recompiled version of Ventoy so that it will run on an E2B USB drive. The UEFI versions must be run via agFM. This means that it can usually be booted on a Secure UEFI64 system. Ventoy brings a radical new method of booting ISOs, some ISOs may work better using Ventoy - some may not work as well.
Recommended for Easy2Boot (fastest flash drive!)
SanDisk Extreme SDCZ880-128G-G46
- Home
- Start & Intro
- Quick Setup Guide >>>
- DOWNLOADS >>>
- YouTube videos
- Tutorials and How To's
-
Make a USB Drive >>>
- Make a multi-partition E2B USB drive using RMPrepUSB
- Use an existing USB HDD for E2B
- Use LINUX to make an E2B drive + defrag
- How to Update E2B
- How to make a WINHELPER USB Flash Drive (fix 'Required DVD drive driver is missing')
- Multiple partitions on a USB Flash drive
- Using other partitions or drives
- Backup/Restore/Copy (clone) any E2B USB drive
- Make and burn an E2B DVD
- Using E2B with a Zalman/IODD
- Add E2B to your own grub4dos USB drive
- How to remove E2B
- E2B Menu System
- UEFI booting from E2B
-
How to add Payload Files and Use E2B >>>
- Make files CONTIGUOUS
- File Extensions recognised by E2B
- UEFI+MBR and how to make .imgPTN files
- MakePartImage and how to change the CSM Menu
- UEFI-Multiboot and rEFInd
- Using SWITCH_E2B with .imgPTN files
- Using the \_ISO\AUTO folder
-
WINDOWS payloads >>
- E2B USB HDD - Installing Windows with a 'WinHelper' drive
- Windows XP Install ISOs
- Install XP 32-bit + disk drivers (DPMS)
- Windows XP 64-bit
- Install XP using WinPE (one step process)
- Add XP Install ISOs using WinSetupFromUSB
- Windows Vista/7 Install ISOs
- UEFI boot from Windows 7 Install ISOs
- Windows 8/10 Install ISOs
- Unattended Installs
- XMLtoE2B.exe (Unattend.XML files)
- Adding >4GB Windows Install ISOs using .imgPTN files
- Automating Windows Installs from .imgPTN files
- Split_WinISO
- Add Windows ISOs to partition 2
- Windows AIO ISOs
- WindowsToGo
- WinNTSetup
- WinLite10 XML files
- SDI_CHOCO (install drivers, apps and updates) >>
- .VHD and .WIM files
- PassPass (bypass the Windows Password)
- Hack Windows Account Passwords (UtilMan.exe)
- Windows 2000
- Windows 98
- Multipoint Server
- Add the latest XP drivers (DPMS)
- Add a Windows Install menu entry
- LINUX payloads >>
- MSDart ERD ISOs
- WinBuilder, Medicat, Gandalf and WinPE ISOs
- Hirens/Strelec/DLC/F4 ISOs
- DOS (MS-DOS and FreeDOS)
- HAIKU
- MAC OS X
- FreeBSD
- MOVE_IMGPTN
- List of tested ISOs\payloads (with instructions)
-
Configure E2B >>>
- Menu settings (quick reference)
- E2B Menu Demo
- E2B_Editor
- E2B files and folders explained
- MyE2B.cfg - E2B configuration file >>
- Change the payload menu entries and help text using a .txt file
- Change the order of the menu entries
- Change the background wallpaper
- Different background wallpaper for each menu
- Default Menu and Timeout
- Change the Language, Headings, Menu and text
- Changing the default E2B menu entry order
- 'Change File Extension' prompt (Auto-Suggest)
- Change the Keyboard Layout
- About .mnu files
- Sample .mnu files
- PimpMyDrive.cmd
- Reduce the E2B messages
- Add a new Sub-Menu folder
- Stamps, Animation and Tunes
- Draw lines and boxes on the screen
- Write text/time/date to the menu screen
- Global Hotkeys
- Themes (Skins)
- Fonts
- Speeding up E2B (inc. FASTLOAD)
- One Single Menu
- The E2B F1 Help menu
- Add your own Help Menu
- Add Help text files (.help)
- Add Windows Install ISOs to the Main Menu
- Change the Windows Install Menu
- Passwords and Security
- Hide Payloads and Menu Entries
- Guest Mode
- GFX Boot Menus
- Dual Booting
- Change the CSM .imgPTN Menu
- Configure Clover
- Right-to-Left Languages
- Create new language files
- How to modify LOADISO.CMD (Repair message)
- Count number of boots
- UEFI - useful things know!
-
FAQ, Info, TroubleShooting, QEMU and Virtual Machines >>>
- 'File Not Contiguous' and 'Too Many Fragments' Errors
- 137GB 'BAD BIOS' bug
- TroubleShooting E2B
- E2B Error Messages
- Grub4dos Error Numbers
- Common problems with payload files
- Repair a corrupt E2B drive
- Known Issues and Bugs
- Slow and buggy BIOSes
- How E2B Works
- QEMU and Virtual Machines >>
- Using VBOX with a WinHelper USB drive
- Debugging E2B
- CONTIG.ISO
- ISOBOOT
- WIMBOOT (iPXE)
- grub4dos
- Useful resources
- Removable v. Fixed
- Gallery
- Guestbook
- Forum
- Blog
- a1ive grub2 File Manager (MBR+UEFI)
- Add Ventoy
- Site Map
- eBooks
- Contact Me >>>
- Donate
- Licensing
- Privacy policy (GDPR)
- Bespoke design service
- Grub2 Menu System (UEFI_GRUB2_PTN2)