
How E2B was born
Actually E2B was not really born - it just evolved.
1. First, I started investigating grub4dos and other boot managers/boot loaders such as syslinux and grub/grub2 in order to boot different payloads from a USB drive. I spent a lot of time on the reboot.pro forum and experimenting with USB drives! There was lots of information, but it was spread out all over the forums. There did not seem to be a good single source of information. Along the way, I added many 'Tutorial' and 'How to' articles to the RMPrepUSB.com website.
2. The first 'eureka moment' came from a casual post by 'cdob' on reboot.pro. He mentioned the use of the grub4dos partnew command to boot linux ISOs that I had not seen mentioned anywhere before. I tested this method and quickly realised that here was an almost universal method to boot linux ISOs from a USB drive which no-one else seemed to have picked up on because it could only be used on writable media (not CDs/DVDs)! I used the partnew trick with some simple 'auto-menu' grub4dos scripts (which were adapted from grub4dos scripts written by chenall) and Easy2Boot was born! The only downside is that the payload files (ISOs) need to be contiguous - but you can't have everything in life...
3. I then took this a step further by using the partnew command to also mount ext2-formatted files and use them for persistence for some linux ISOs. I added the ability to create these files to RMPrepUSB.
4. People then wanted to be able to directly boot lots of different Windows 7/8/10 Install ISOs from the same USB drive, so I used \AutoUnattend.xml (together with ImDisk to automatically mount the Windows Install ISO as a virtual DVD before Setup started looking for the Install.wim file). Windows PE has a handy feature of automatically scanning Removable media for XML files so there was no need to edit the ISO files.
5. I then investigated methods of installing Windows XP from ISO and found chenall's DPMS grub4dos utility. I improved this (DPMS2) and adapted it to work with the latest Driver pack so that we could install XP to SATA systems straight from an unmodified XP Install ISO. I also worked out a way of adding two virtual F6 floppies (one for firadisk/winvblock and one for the correct mass storage driver) so that the user did not need to press F6 and manually select the correct drivers.
6. Next, I wanted to perform UEFI-booting and installs. Using a multiboot UEFI-boot manager/loader turned out to be horribly complicated and unreliable. One day I had the idea of making an image of a UEFI FAT32 partition and using the grub4dos partnew command to replace the whole partition table with a single entry for that FAT32 partition. I tried it and it worked! This also had the advantage that it does not break the secure boot 'chain-of-trust' because no extra bootloader code is involved and it keeps each 'image' completely separate so that they can be simply added or deleted from the E2B USB drive. I am a great believer in the KISS principle! The big disadvantage is that you need to be able to boot in MBR-mode to grub4dos in order to select the partition image in the first place, so I wrote the Switch_E2B.exe utility to 'switch-in' the partition image under Windows first (so not quite as perfect as I would have liked - but hey, it works!).
7. I realised that grub (not grub4dos, but grub2) could boot, via UEFI, directly from an ISO. It required special 'bespoke' grub commands which are specific to each ISO, but it did allow us to boot some linux ISOs that could not be booted using .imgPTN files (because those ISOs did not actually contain UEFI boot files!). This led to the additional grub2 menu system which can be added to E2B.
8. My attention was drawn to the Snappy Driver utility (which can install Windows drivers), Chocolatey (which can install applications) and WSUS Offline Updater (which can install Windows Updates offline), so I devised a way to be able to automatically install Windows drivers + applications + updates without needing to change the Microsoft Windows install ISOs in any way, using SDI_CHOCO scripts.
9. I found that the iPXE wimboot project was capable of 'injecting' files into the X: RAM drive when booting a boot.wim file. This allowed me to inject a startup.bat file into WinPE and then load the ISO using ImDisk without needing a special entry in the XML file and without needing an extra removable type of 'WinHelper' USB drive. E2B v1.A8 and later versions allow us to directly boot Windows Install ISOs using WIMBOOT, but you can still skip it and use the 'old' method. Later (2019) iPXE WIMBOOT support was added to grub2, so I devised a way to directly UEFI-boot from Windows Install ISOs using grub2.
10. In early 2020 I came across the developer a1ive's grub2 and grubfm projects on github. a1ive has managed to improve grub2 and has add extra UEFI modules to support such features as wimboot, dd and partnew. At last we have a boot manager that has equivalent functions to grub4dos but is UEFI-bootable. The agFM (a1ive grub2 File Manager) allows you to navigate the partitions and boot from the files using the same techniques developed and used in E2B. I also added a Secure Boot shim which allows us to Secure UEFI64-boot on most systems without needing to use MokManager (which is highly unreliabe). The agFM system has been adapted to work with E2B and can boot to WinPE ISOs and .imgPTN files too.
Along the way I have developed a few 'helper' utilities and scripts to make the USB-booter's (and my!) life easier and also I helped with the development and improvement of grub4dos.
Easy2Boot would not have been possible without being able to 'stand on the shoulders of giants' such as chenall, yaya, tinybit, cdob (all grub4dos), Olaf (ImDisk), Marco (WinContig), DavidB (VMUB), Chandra (Split_WinISO), a1ive (agFM) many of the contributors on forums such as Wonko/Jaclaz on reboot.pro, plus other various contibutors and developers (sorry if I missed any of you out of the list!).
See also 'How E2B Works'.
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)