This site now replaces www.easy2boot.com (due to technical hosting difficulties which could not be fixed by Webnode). WARNING: I no longer own or have any connection with www.easy2boot.com!
This site contains Amazon Ad links. As an Amazon Associate I earn from qualifying purchases but it costs you nothing to use the links.
Hi
My name is Steve Si (Contact Me) and I am an experienced (i.e. ageing 60+) Computer Development Engineer from the UK. I was made redundant in 2011 (when my company stopped building PCs) and so I am currently unemployed/retired. This website is funded out of my own pocket and the ads and eBook sales help towards the website my costs.
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 such-and-such?’ 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!).
Recently, I have added a1ive’s grubfm menu system and Longpanda’s Ventoy to E2B to allow us to boot to UEFI32 and UEFI64 payloads and use grub2.
I have 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, Ventoy, etc. and common compatibility issues that I have discovered over many years. They will help you to understand the basics of Legacy and UEFI-booting, USB drive preparation, grub4dos and grub2 and the best way to set up and configure your E2B USB drive.
Table of Contents
The story of how E2B was born…
1. 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 randomly scattered all over the forums in multiple posts. There did not seem to be a good single source of information. Along the way, I added many ‘Tutorial’ and ‘How to’ articles to my RMPrepUSB.com website which I started for me and others to reference. I found the existing solutions like Multiboot, YUMI, XBoot, etc. to be very frustrating, often they would not work with old or very new releases of Linux LiveCD ISOs and you 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… Many people have used their E2B USB drive for years without reformatting it and have just added new Linux ISOs, etc. without ever having to update or re-make their USB drive.
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 ext2/3/4 files using RMPrepUSB.exe or with the Make_Ext.exe utility which is now included in E2B.
4. Users then wanted to be able to directly boot to 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 new 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 disk 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 complicated, buggy and unreliable – Secure Boot also added a level of incompatibility! 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 and original, so that they can be simply added or deleted from the E2B USB drive. I am a great believer in the KISS principle! One 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!). The Windows MakePartImage.cmd (MPI) script will convert ISOs, zip files, USB drives, etc. into a .imgPTN file. Note: Now you can UEFI-boot and switch in image partitions too!
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 deprecated and abandoned, and is 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. This allows fully automated Windows installs from MS Windows ISOs.
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 which requires a removable USB drive. 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 grub2 and grubfm projects on github (by the developer a1ive). a1ive had managed to improve grub2 and he added extra UEFI modules to support such features as wimboot, dd and partnew. At last we now had a boot manager that has equivalent functions to grub4dos but is UEFI-bootable. My modified version of 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. It also understands many of the ‘special’ file extensions also used by 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 by LongPanda 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.
12. In July 2021 I added the ability to download and make an image of the latest version of Ventoy. The image can replace Partition 2 and transforms the USB drive into a fully compatible ‘official Ventoy’ USB drive. It also includes a version of the partition image which can Secure Boot without having to use Mok Manager first (the Kaspersky shim is used) so you have three Ventoy ‘disks’ to choose from (Secure Mok-manager MBR, non-Secure MBR, Kaspersky Secure MBR). Once the E2B drive is switched to a ‘official Ventoy’ drive, you can also use the Ventoy Plugson.exe app to configure the \ventoy\ventoy.json file too.
13. The Launcher Windows app. was added to make configuring and using the E2B utilities easier.
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 anyone else out of this list!).
eBooks
You can learn more about E2B, grub4dos, agFM, Ventoy, .imgPTN partition images, Secure booting, etc. from my eBooks.