This site now replaces www.easy2boot.com (due to technical difficulties which could not be fixed).
My name is Steve Si and I am an experienced (i.e. ageing) Computer Development Engineer from the UK. I was made redundant in 2011 and so I am currently unemployed/retired. This website is funded out of my own pocket and due to the popularity of E2B, the bandwidth charges are now costing me over £200 a year, hence the ads help and eBook sales help and any donations would be most welcome 😉
Over the last 30 years, I have been involved in most things to do with PCs in an OEM/System Builder company, e.g. modifying firmware, writing functional test software in x86 assembler, designing circuits and PCBs, developing apps and BIOS level (x86 assembler) backup/restore software, memory test s/w, hardware and software validation, mainboard and system validation, writing boot managers, developing fully automated production test software and Windows installation processes used to install onto over 1 million new computers in the factory, writing technical knowledge base articles and loads more stuff that is too boring to mention and I can’t even remember now!
I have been interested in USB Flash drives ever since they first appeared (their small size, speed and large storage capacity is amazing compared to the storage media that was available 30 years ago!).
Whilst working for my former employer (RM), I wrote RMPrepUSB (RM‘s Prepare USB utility). RM have allowed me to continue it’s development privately and have allowed it to be made publicly available for non-commercial use. As I had some time on my hands after being made redundant, I decided to experiment more with USB drives and grub4dos. I got lots of help and inspiration from the great guys at reboot.pro and I also should make a special mention of chenall and yaya who maintain grub4dos and have fixed and improved it greatly over the last few years. I have also added many tutorials to the RMPrepUSB website. These are mainly derived from my experiments with USB drives and USB booting – and also they document the many pitfalls and ‘gotchas‘ that I found along the way – many of which are also chronicled in my blog! Easy2Boot is really an evolutionary product – it has slowly evolved due to people asking me ‘Can I have xyz?’ or ‘What if it did this?’. One offshoot was FakeFlashTest which is a much faster way to detect fake Flash memory devices (I guess there is a clue in the name!).
I have now written some eBooks (PDFs) which I hope you will find useful. They contain step-by-step exercises as well as information on grub4dos, grub2, E2B, agFM, etc.
How E2B was born
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. I found solutions like Multiboot, YUMI, XBoot, etc. very frustrating, often they would not work with old or very new releases of Linux LiveCD ISOs and you then had to wait for the next version to be released before you could boot the latest Linux distro.
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 (i.e. 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! We can now boot 99% of ALL Linux ISOs even if the developers change the kernel and default parameters every week! 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 – I could automatically add both the Firadisk or WinVBlock driver AND the correct mass storage driver for that chipset. My DPMS2 implementation is also used (with permission) in WinSetupFromUSB.
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. This package has now been superseded by agFM.
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) is based on grubfm and 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 unreliable). The agFM system has been adapted to work with E2B and can boot to WinPE ISOs and .imgPTN files too.
11. In 2020 Ventoy came onto the scene. This grub2-based boot manager contains very clever code and interesting features (such as injecting files into Linux or WinPE without needing to modify the ISOs/payload files). For Linux ISOs it is not quite as dependable/compatible as the E2B\agFM partnew method and does not support DOS\XP, however it is being constantly developed and improved. A re-compiled version of Ventoy was then added to Partition 2 which allows us to Legacy boot to Ventoy from the E2B menu or UEFI-boot to Ventoy from the agFM menu system.
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 contributors and developers (sorry if I missed any of you out of the list!).
You can learn more about E2B, grub4dos, agFM, .imgPTN partition images, Secure booting, etc. from my eBooks.