Site Map


  • About

    This site now replaces (due to technical difficulties which could not be fixed).

    This site contains Amazon Ad links. As an Amazon Associate I earn from qualifying purchases but it costs you nothing to use the links.

    About me


    My name is Steve Si and I am an experienced (i.e. ageing 60+) 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 and eBook sales which help towards these costs – any donations would also 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 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.

    The story of 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 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 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 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 use 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 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 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.

    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 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. 

    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 developer a1ive’s grub2 and grubfm projects on github. a1ive had managed to improve grub2 and he added 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. My version, 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 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 makes a fully compatible ‘official Ventoy’ USB drive. It also includes a version which can Secure Boot without having to use Mok Manager first (Kaspersky shim is used).

    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, plus other various contributors and developers (sorry if I missed anyone else out of this list!).


    You can learn more about E2B, grub4dos, agFM, Ventoy, .imgPTN partition images, Secure booting, etc. from my eBooks.

    • Contact Me

      Please use the ‘Live help’ chat pop-up on this page if you need help or you can use the form below:

    • Donations

      Support E2B

      It takes a great deal of time and a lot of effort to test and improve E2B, so a donation would be very much appreciated to help towards the cost of this site and also to buy the equipment required to test and further develop E2B. For instance, if an issue is reported when using a certain system or USB drive, I will sometimes buy the same system/notebook/drive from eBay, etc. so I can test, reproduce and fix the issue. 

      If you were thinking of buying an ISOStick or a Zalman or IODD drive caddy or maybe ten USB flash drives instead of just one, Easy2Boot has probably saved you a lot of time and money! 

      If you regularly use E2B in your business or your work place, then please make a donation. If you buy an eBook you can pay any amount you like above the minimum price and you can also get an invoice for the eBook which you can then pass on to your accounts department.

      Donations with an invoice

      I cannot provide an invoice for donations, however if you require an invoice for your accounts department, you can do this by buying one or more  eBooks and pay as much as you like. You will then be emailed a link to download an invoice for the purchase. If you do not need an invoice, I prefer donations because they are non-taxable (for both you and me!).

      XMLtoE2B.exe utility – quickly makes fully-automated unattended.xml files for use with Windows Installer ISOs on E2B. Free licence on request when you donate £10 or more or if you buy three or more eBooks. 

      Please subscribe to my blog here and YouTube Channel here.

      Private donations

      For small donations under $30 I suggest that you simply buy one or more of my eBooks.
      Note that eBook #1 contains instructions on how to remove the 5-second blue start up banner screen.

      To make an anonymous BitCoin donation please use the bitcoin address 1Npg7hmYrqaNVYxoLDPEa7WDJ3YgAiM6yq
      or for Ethereum use 0xE91BA23348e9Fe9A1F34e7E6bA0D0f2436Aaf323.

      Anyone who donates £5 (approx. $7) or more will receive instructions on how to remove the ASCII-text startup banner (Contact Me after donating).

      Donate to A1ive for grub2 File Manager (agFM)

      Please make a donation to a1ive (click Sponsor) if you like agFM.

      Donate to LongPanda for Ventoy

      Ventoy is a free open-source project by LongPanda. You can make a donation here.

    • E2B Guest Book

      Please sign my Guest Book.

      Tell us how you use Easy2Boot, give feedback or just say hello!

      Write a new entry for the Guestbook

      Fields marked with * are required.
      Your E-mail address won't be published.
      It's possible that your entry will only be visible in the guestbook after we reviewed it.
      We reserve the right to edit, delete, or not publish entries.
      4 entries.
      Jean-François Lapointe Jean-François Lapointe from Montreal Canada wrote on 2021-11-13 at 7:11 AM
      thank you for making people's life easier...
      George George wrote on 2021-10-05 at 11:19 PM
      Thank You! Very useful! Keep going...and thanks again!
      Jonathan Thompson Jonathan Thompson from Atmore, AL wrote on 2021-06-07 at 7:34 PM
      Thanks for this great tool. We can't thank you enough for the time and effort in research and programming. Also want to personally thank you for your responsiveness to questions and concerns. We wish you much success in all your ventures!
      Steve Steve wrote on 2021-05-12 at 7:33 PM
      Please leave a comment or just say Hi.

    • Licensing


      Summary [TL;DR] – Free to use by everyone but not sell.

      E2B download also contains bundled open-source GPL utilities plus my own Windows utilities which are closed-source but the sources can be requested. The E2B Menu system itself only uses Open Source components (grub4dos) + plain text scripts. The UEFI File Manager (agFM) contains a1ive’s version of grub2 and the grub2 File Manager (open source on GitHub).  Ventoy sources are also open source and available on GitHub.


      You may use E2B and the included utilities or any helper utilities at your own risk. I can accept no liability for any loss of data or other damage which may arise through use or misuse of any part of E2B or it’s included utilities. Some scripts\utilities can destroy all data on a drive, so make sure you pick the correct drive! 

      About the E2B project

      The Easy2Boot project download is FREE and is currently available as a self-extracting .exe or a .zip file.  

      The Easy2Boot menu system uses grub4dos and a few other unmodified GPL-licensed grub4dos programs. The E2B menu system is open-source and is comprised of plain-text grub4dos batch\menu files. 

      The complete E2B download also includes some of my own Windows .exe utilities and other unaltered 3rd-party software binaries which are aggregated/included in the download bundle for the convenience of the user. These are not used by the E2B menu system but can be used to make, modify and maintain your E2B USB drive.  

      Note: All 3rd-party free/licensed binaries included in the downloads are original and unmodified. My Windows .exe executables (see below) are not used by the E2B Menu system itself and you can delete them if you really want to – the E2B Menu system will still work without them. A few of my utilities call some unaltered, freely available, GPL-licensed executables via a command line interface (refaref1ref2) and so I am not required to provide the source code for them. Due to the space considerations of USB Flash drives, I only provide links to the source code to the bundled 3rd-party GPL utilities. This is in line with many other GPL multiboot utilities such as AIOBoot, YUMI, XBOOT, Unetbootin, MultiBootUSB, etc. which also do not include the complete source code of grub4dos, syslinux or all the other GPL binaries they contain neither do they make the sources of these additional GPL utilities available on their own repositories (the GPL sources are of course easily available elsewhere). Although the VB6 source code for my utilities is not made publicly available, developers can request a copy as long as they do not distribute or alter the sources (a small charge will be requested to cover my costs/time). Please use the Contact Me form or Live Chat if you have any concerns or requests. 

      Easy2Boot is Freeware/Donationware

      The Easy2Boot menu system mainly consists of grub4dos, grub4dos utilities (GPL) and grub4dos text-file scripts and these can be freely used by anyone (freeware).
      Also, because E2B uses grub4dos scripts (.lst, .cfg, .g4b), these files are the actual ‘source’ files of the E2B Menu system as are the various .cmd Windows scripts in E2B.  Anyone – private home users, public or private schools, Universities, businesses, technicians within any company (even a one-man & a cat company or a company with 1000’s of employees) – can use the E2B Menu System and the E2B utilities. However, you should not sell the original E2B s/w components (e.g. sell E2B multiboot USB drives on eBay) without contacting me first for permission or a licence to sell my E2B scripts/batch files or my executables (this does not affect your rights with any GPL or other 3rd party licensed s/w). A few 3rd-party grub4dos scripts in the E2B menu system carry a ‘not for commercial use’ restriction by their respective authors. 

      Please do not re-distribute the E2B download packages or the MPI Tool Kit. Instead just link to this site. 

      RMPrepUSB and RMPartUSB*

      RMPrepUSB and RMPartUSB are not open-source. These two programs are free for public use, but should not be used within a commercial product without permission. 
      Note that the MPI Tool Kit contains RMPartUSB.exe and so will any .imgPTN images made using it (though you can remove it as it is not essential). 

      List of executables in E2B project download (programs in bold are my utilities):

      \grldr  (grub4dos) License: GPL v2
      \E2B Launcher.exe
      \_ISO\docs\BOOT_ME_USING_QEMU\QEMU\qemu.exe (licence)
      \_ISO\docs\ChocBox\ChocolateStore.exe (github)
      \_ISO\docs\E2B Utilities\LZMA\lzma.exe Public domain s/w
      \_ISO\docs\E2B Utilities\MOVE_IMGPTN\getFileExtents.exe 
      \_ISO\docs\E2B Utilities\Protect\lzma.exe Public domain s/w
      \_ISO\docs\GFXBoot\cpio\cpio.exe  Free Software Foundation
      \_ISO\docs\Make_E2B_USB_Drive\grubinst.exe github GPL?
      \_ISO\docs\Make_E2B_USB_Drive\GWT.exe  GetWaikTools by JFX
      \_ISO\docs\Make_E2B_USB_Drive\LockDismount.exe free app.
      \_ISO\docs\Make_E2B_USB_Drive\wget.exe free s/w
      \_ISO\docs\Make_Ext\Mke2fs.exe GPLv2
      \_ISO\docs\WINCONTIG\WinContig.exe (free to use and distribute)
      \_ISO\e2b\firadisk\cli\amd64\imdisk.exe (free to use)
      \_ISO\e2b\firadisk\cli\i386\imdisk.exe (free to use)
      \_ISO\e2b\firadisk\svc\amd64\imdsksvc.exe (free to use)
      \_ISO\e2b\firadisk\svc\i386\imdsksvc.exe (free to use)
      \_ISO\e2b\grub\DPMS\FIRA\devcon.exe (Microsoft Public Licence)
      \_ISO\WINDOWS\installs\CONFIGS\SDI_CHOCO\capslock.exe (RJL s/w - free)
      \_ISO\WINDOWS\installs\CONFIGS\SDI_CHOCO\nircmd.exe (free)
      \_ISO\WINDOWS\installs\CONFIGS\SDI_CHOCO\nircmd64.exe (free)
      \_ISO\WINDOWS\installs\CONFIGS\SDI_CHOCO\scrolllock.exe (RJL s/w - free)
      \_ISO\WINDOWS\installs\SNAPPY\SDIO_Rxxx.exe (GPLv3)
      \_ISO\WINDOWS\installs\SNAPPY\SDIO_x64_Rxxx.exe (GPLv3)

      List of executables in MPI Tool Kit (programs in bold are my utilities):

      \Split WinISO v1.1.3.exe  (free s/w by Chandra developed for E2B, no sources)
      \7z\7z.exe (LGPL)
      \csm\e2b\MbrFix.exe (free - see MbrFix.htm in download)
      \csm\e2b\MbrFix64.exe (free - see MbrFix.htm in download)
      \ImDisk\imdiskinst.exe (free to use)
      \syslinux\Syslinux_375\syslinux.exe  (GPLv2)
      \syslinux\Syslinux_386\syslinux.exe (GPLv2)
      \syslinux\Syslinux_4\syslinux.exe (GPLv2)
      \syslinux\Syslinux_5\syslinux.exe (GPLv2)
      \syslinux\syslinux_6\syslinux.exe (GPLv2)
      \syslinux\syslinux_603\syslinux.exe (GPLv2)
      \syslinux\syslinux_603\syslinux64.exe (GPLv2)
      \Utils\df.exe (Paul Sadowski - for non-commercial use)
      \Utils\diruse.exe (free MS utility)
      \Utils\fart.exe (GPLv2)
      \Utils\secinspect.exe (free MS utility)
      \Utils\ssed.exe (GPLv2)


      XMLtoE2B.exe is a single standalone non-GPL (VB6 32-bit) utility which requires an additional encrypted licence file that contains the user’s name and email address – you should not distribute your licence file.

  • agFM

    agFM – a1ive grub2 File Manager

    The default agFM theme

    Menu systems on an Easy2Boot USB drive include: 

    • Easy2Boot – a grub4dos-based MBR\Legacy-only menu system
    • agFM – a grub2-based MBR\Legacy+UEFI32+UEFI64 menu system based on grubfm (optional)
    • Ventoy for Easy2Boot – a grub2-based MBR\Legacy+UEFI32+UEFI64 menu system based on Ventoy  (optional)

    Although agFM can also MBR\Legacy boot, I recommend that you use the E2B menu system for Legacy booting and the agFM menu system for UEFI booting. E2B has been developed and tested over many years and is usually more compatible than agFM or Ventoy when used with a Legacy BIOS.
    Ventoy may be more successful when booting some BSD-based ISOs and WinPE-based ISOs.

    Note: Some (but not all) boot options require the ISO file to be contiguous.

    Introduction to agFM
    • agFM is grub2-based. The agFM boot files are located on the 2nd FAT32 partition. Partition 4 should not be present on the USB drive.
    • MBR-boot to agFM from the E2B Legacy menu on Partition 1 or directly UEFI-boot to agFM from the 2nd partition.
    • agFM can boot payload files from any drive or partition. For example, you can add your ISOs, VHDs, WIM files to Partition 3 of the USB drive (or other drives\partitions).
    • Boot to Windows Install ISO files (even >4GB)), Linux ISOs, WIM, VHD, EFI and IMG files.
    • UEFI-boot from the second FAT32 partition – payload files are usually on first NTFS partition (but can be on other partitions or drives).
    • Windows ISOs do not need to be contiguous (but must not be highly fragmented).
    • Secure UEFI64-boot to most ISOs (even >4GiB Windows ISOs or non-secure ISOs) – uses Kaspersky shim.
    • If booting a .VHD, .imgPTN file or using the Easy2boot\partnew boot option then the file must be contiguous.
    • Secure UEFI-boot from FAT32 Windows Install .imgPTN files + other OS’s.
    • Secure UEFI-boot to FAT32+NTFS .imgPTN files (e.g. for large Windows Install ISOs >4GiB).
    • Switch-in different images into Partition 3 using the .imgPTNREP3 file extension (e.g. ext4, Linux swap or hfs Mac OSX partitions).
    • Configurable menu theme/wallpaper/text colours/layout.
    • Design your own initial start-up menu.
    • Add your own menu entries for special functions such as Linux+persistence, or UEFI64-booting and then running a Legacy-only Linux ISO, etc.

    Get the eBook!

    eBook #4 – a1ive grub2 File Manager for Easy2Boot (PDF)  – UEFI multiboot using the agFM grub2 File Manager. How to add Linux ISOs, DLCBoot, Strelec WinPE, HBCD, Gandalf, Medicat, Kaspersky, DrWeb, Eset, Norton Rescue, Avast, GData, Trend Micro AV, Adaware, Comodo AV, Windows Install ISOs, etc.

    To add or update agFM

    Run “\e2b\Update agFM\Download and update agFM_v2.cmd” on the FAT32 2nd partition 


    \_ISO\docs\Make_E2B_USB_Drive\Download and update agFM_v2.cmd” on the first partition if the 2nd partition files are not present.


    you can instead run Make_E2B.exe from the E2B download and click on the ‘Update E2B drive’ button to update E2B, agFM and Ventoy.

    If you have a USB Flash drive you will need a Windows 10 system to add files to Partition 2.

    Windows XP/7/8

    If you don’t have a Windows 10 system you can run the Install_agFM.exe utility (see eBook #4 for download)

    After you have made the E2B drive using Make_E2B.exe (make a two-partition USB drive), you then run Install agFM.exe which performs the following actions:

    • 1. Asks the user for the USB drive number – DO NOT ENTER THE WRONG DRIVE NUMBER!
    • 2. Deletes the second partition on the chosen drive
    • 3. Creates a new FAT32 second partition using the remaining space (Z:)
    • 4. Re-orders the first and second partition so that partition 2 is now accessible as drive Z:
    • 5. Downloads the currently released of agFM and extracts the files to the second partition
    • 6. Re-orders the first and second partitions back to their original order
    • 7. Re-assigns a drive letter to partition 1

    Using agFM

    When agFM boots, a brief information screen will be displayed first to show you the BIOS mode and Secure Boot details:

    agFM info is displayed only for a few seconds

    The agFM menu system can have an initial grub2-based menu, after which a ‘File Explorer’ type menu system is loaded. This allows you to select any file on any drive in the system (not just the files on the USB drive).

    To MBR\Legacy boot – first Legacy boot to the E2B Menu system – then select the ‘a1ive grub2 File Manger (agFM)’ menu entry as shown below:

    Easy2Boot Legacy menu will list the agFM Legacy menu entry

    0 Set default menu entry and timeout – set the Main menu default menu option and countdown timeout
    1 a1ive grub2 File Manager – loads the agFM grub2 menu system (Legacy mode)
    2 Clover 64-bit UEFI Boot – Clover is a substitute UEFI BIOS, use it to boot various .EFI files from a Legacy BIOS (it is better to directly UEFI-boot from Partition 2, if possible)
    3 Clover 32-bit UEFI Boot – Clover is a substitute UEFI BIOS, use it to boot various .EFI files from a Legacy BIOS (it is better to directly UEFI-boot from Partition 2, if possible)
    4 Ventoy – loads the Legacy grub2-based USB multiboot Ventoy menu system
    5 Disable UEFI64 secure Boot (blank screen BUGFIX) – some BIOSes will not load the Kaspersky shim which is used for bypassing Secure Boot. If you have Secure Boot enabled in your BIOS and you try to UEFI64-boot from partition 2 and get a blank screen on some systems, you will need to use this option to replace the Kaspersky Secure Boot shim and disable Secure Boot in your BIOS. Then UEFI64-boot using non-secure booting.
    6 Disable UEFI-booting from Partition 2 – this is a workaround for another BIOS bug. Some UEFI BIOSes will not offer the choice to Legacy-boot from the E2B USB drive unless you remove the UEFI boot files. This option renames the EFI folder so that these BIOSes will allow you to Legacy boot from the E2B drive (the same menu option is available if you UEFI64-boot to agFM). To re-enable UEFI-booting from the E2B USB drive, you must first use the ‘Enable UEFI-booting from Partition 2’ menu entry.
    7… – sub-menus and other options

    To UEFI-boot, use your BIOS Boot Selection pop-up menu to select Partition 2 on the E2B USB drive.

    To UEFI-boot, select the correct EFI BIOS entry (Partition 2)
    Default agFM startup menu
    Using the agFM File Manager menu system (F2), you can locate any payload file on any drive and select it.

    Tip: When you first boot to agFM, it will tell you what mode it has booted in (Legacy, UEFI32, UEFI64, Secure Boot, etc.)…

    agFM startup information

    Note: the default start-up menu does not allow you to press c to get to the grub2 console or e to edit a grub2 menu entry unless you first press the TAB key. Once you get to the agFM explorer interface the TAB key is ignored.

    Use the keyboard cursor UP/DOWN/PgUP/PgDn/Home/End keys.

    On first startup, agFM will load a special ‘startup’ menu before it runs the grubfm Explorer menu system. You can modify this startup menu if you wish, change contents and appearance, etc.

    F10 will reload the startup menu.

    Add payload files (ISO files, etc.)

    Although you can copy your payload files to any folder or partition on the E2B USB drive, it is best to use the standard E2B menu folders so that the files will also be listed by the E2B Menu system.

    Windows Install ISO files should always be copied to the appropriate E2B menu folder – e.g. \_ISO\WINDOWS\WIN10 for a Windows 10 Install ISO file. This allows you to use it with Easy2Boot and to use the XML files if required.

    All other types of ISO file can be copied to whichever menu folder that you like. For instance, you can copy an Ubuntu LiveCD ISO file to the \_ISO\LINUX folder or to the \_ISO\MAINMENU folder or even to the \_ISO\DOS folder.

    Ubuntu ISO in \_ISO\LINUX folder

    Select the payload file from any folder on any drive…

    The method of booting the payload file is determined by the file extension that the payload file has.

    The Secondary Menu allows you to choose several different boot methods…

    Secondary Menu for ISO files

    You can suppress the secondary menu by changing the file extension (use Windows Explorer or Linux to rename the file). This means you do not have to remember which secondary menu option works with which payload file.
    For instance, if the Ubuntu ISO boots successfully after selecting the ‘Boot ISO (partnew/Easy2Boot) [.isodef]’ option, rename the file to have a .isodef file extension.

    Note: The Ventoy Menu system will only list files with standard file extensions (e.g. .iso), so if you also want to use Ventoy, you must not change the file extension – instead you can change the filename and add a suffix (see below).

    The Ubuntu ISO’s boot menu

    Recommended file extensions

    You can use a special file extension which is ‘understood’ by the E2B menu system and some of these are also understood by the agFM menu system.

    e.g. Ubuntu 64.isodef

    E2B and agFM will now immediately boot to this file without any delay and without the user needing to select a secondary menu option.

    The E2B menu system understands a greater number of special file extensions than agFM.

    However, since the Ventoy menu system only recognises standard file extensions, you can keep the file extension as .iso but force E2B and agFM to boot the ISO file in a different way by using suffixes in the filename.

    Example file prefixes, suffixes and extensions

    Filename format: [prefix] name [_.xxxx] [.agfmyyyy] . file-extension (where name, file-extension, xxxx and yyyy can be any number of characters, same as *)

    Filename prefix

    A prefix can be used to change the order of the menu entries within the menu because the files are usually sorted alphabetically.
    E2B supports two formats of filename prefix:

    Prefix type 1: _*_ (underscore + any number of characters + underscore) – e.g. _123_
    Prefix type 2: …_ (any three characters + underscore) – e.g. d34_ (E2B v2.09 or later)

    E2B will display the filename in it’s menu system without the initial prefix part and without displaying any part after _. (underscore + period).

    Since agFM can only use the first initial letter as a hotkey. I recommend using the type 2 format to order your menu entries:

    d34_Ubuntu x64.iso
    j50_Tails v2.iso

    Tip: To view the order that will be displayed, use Windows Explorer and sort the files by clicking in the word ‘Name’ at the top of the filename column to sort the files by filename.

    In E2B, Ventoy and agFM, the menu entries are arranged alphabetically. If you precede the filename with _abcdefg_ (or xyz_) then E2B will not display that first part of the filename in the E2B menu. For example, _aaaaa_Ubuntu 64.iso or a20_Ubuntu 64.iso will appear first in the menu and be listed as ‘Ubuntu 64’ by E2B, but agFM and Ventoy always display the full filename and extension. If the filename starts with an underscore (Type 1 prefix – _abcd_), E2B sorts the filename alphabetically starting with 2nd character (it ignores the first _ when sorting).

    Valid agFM file extensions are those file types listed in the \boot\grubfm\types folder in the 2nd partition.

    The file extension determines how E2B and agFM will boot a payload file.

    To make an ISO automatically boot in the correct way with no secondary user menu, we can use file extension overrides within the filename.

    Two types of file extension override suffixes

    _.xxxx. (underscore – period – extension – period)
    .agfmyyyy. (period – agfm+extension – fileextension-period) are both override suffixes.

    If .agfmyyyy. exists it will always be used by agFM instead of the actual file extension.

    1. If _.*. or .agfm*. do not exist in the full filename, then the actual file extension will be used by E2B and agFM.
    2. If _.*. exists in the filename then E2B and agFM will always use it as the file extension (unless a .agfm*. is also in the filename).
    3. If .agfm*. exists in the filename (where * is a valid agFM file extension (see below)), then agFM will always use that file extension instead of the actual file extension. E2B ignores it.
    4. If both _.*. and .agfm*. is in the filename – e.g. Ubuntu x64_.isoPE.agfmisowin.iso then E2B will use .isoPE and agFM will use .isowin.

    Both E2B and agFM can understand some special file suffixes (_.*.) and .agfm* and file extensions (.zzzz).

    E2B will not display the prefix part that starts and ends with an underscore (_aaa_) or if character #4 is an underscore in the menu, but agFM and Ventoy display the complete filename and extension (so for instance:
    _001_Ubuntu x64.iso or a30_Ubuntu x64.iso will be displayed as ‘Ubuntu x64’ in the E2B menu – but agFM and Ventoy always display the full filename.

    agFM file extension overrides that are currently detected (must start with agfm string):
    isowin, winntsetup, isope, isohw, isoagfm, isomap, isodef, isodefault, isoloop, isoPE, iso01 (not case sensitive).
    e.g. xxxx.agfmisowin01.iso would boot as .isowin and if Legacy-booted it would make the boot drive the internal hard disk after booting (for HDD repair operations).

    The ’01’ suffix causes E2B and agFM to swap the USB drive and first internal drive number so that Drive 0 is the ‘boot’ drive once booted. This is especially useful when booting WinPE-based Windows repair ISOs, where some boot repair commands may install the Windows boot code onto the E2B USB drive if ’01’ is not used in the filename (e.g. DaRT ISOs, HBCDPE, etc).

    E2B and agFM both sort files alphabetically. You can select a menu entry using the initial letter when listed in the menu. e.g. Pressing the letter U three times will select the third menu entry that begins with u (if there is one). This does not work so well in agFM if you use numbers like _xxx_ at the beginning of each filename. So for agFM you will need to use the cursor keys or

    Note that in the examples below, only the files with a .iso file extension will be listed by Ventoy.

    • ubuntu-20.04-desktop-amd64.isodef – will automatically run the ISO when it is selected and boot using the ‘partnew’ method (no Secondary Menu). The full boot menu within the ISO will be displayed.
    • _001_ubuntu-20.04-desktop-amd64.isodef – same as above but will be listed first/near the top of the menu screen
    • _001_ubuntu-20.04-desktop-amd64.isoagfm – same as above but will use the agFM ‘Boot Ubuntu from ISO’ boot option automatically
    • _001_ubuntu-20.04-desktop-amd64.isoloop – same as above but will use the agFM ‘Boot ISO (loopback.cfg)’ boot option automatically
    • _002_DLCBoot 2019 v3.6_.isohw.iso – E2B will use the isohw boot extension method, agFM will display a secondary boot option screen
    • _003_Gandalf’s Win10PE x64 Redstone 3-07-10-2018_.isomap64.iso – E2B and agFM both ‘understand’ _.isomap64.ISO file extension, agFM will warn if not booted on a 64-bit CPU
    • _050_BobOmbsModifiedWin10PEx64.v4.8.isomap64 – will not be listed in E2B or agFM menu on systems with 32-bit CPUs (no Secondary menu)
    • _030_Sergei_Strelec_WinPE_8and10 x86x64_2019.02.04English.isowin – run Strelec with no secondary menu choice
      Recognised by Ventoy, E2B and agFM (keep extension as .iso)…
    • ubuntu-20.04-desktop-amd64.iso – unaltered (will be listed alphabetically and produce a Secondary Menu when selected)
    • a15_HBCD PE x64 1.0.1_.isomap64.iso – use a prefix to determine order in the menu (xxx_ format)
    • a10_Gandalf5_.isodef.iso – E2B and agFM will boot immediately (no Secondary menu) – extension must be .iso to work for Gandalf
    • a30_Sergei_Strelec_WinPE_8and10 x86x64_2019.02.04English_.isodef.agfmisomap.iso – run Strelec with no secondary menu choice, E2B will use .isodef, agFM will use .isomap.
    • a30_Sergei_Strelec_WinPE_8and10 x86x64_2019.02.04English.agfmisomap.iso – E2B will use .iso and so may prompt the user, agFM will use .isomap.
    • a01_ubuntu-18.10-desktop-amd64_.isodef.agfmisoagfm.iso – E2B will use .isodef, but agFM will use .isoagfm and so recognise the type of Linux and use the kernel parameters so that the ISO file does not need to be contiguous because partnew will not be used. If you just used the .isodef file extension, then both E2B and agFM would require the file to be contiguous.
    • a50_HBCD PE x64 1.0.1_.isodef0164.agfmiso0164.iso – test CPU is 64-bit, swap hd0 with hd1 before Legacy booting (to set boot device as the internal HDD and not the USB).

    Note: In the agFM menu system, if the filename does not begin with a letter, you will always need to use the cursor keys to select that menu entry because the initial-letter hotkey function will not work.
    In the E2B menu system, you can type the initial letter or the menu number (e.g. press 1 and then 2 to jump to item #12).

    For example:
    _030_Sergei Strelec WinPE 8 and 10 x86 x64 2019.02.04 English_.isodef.agfmisomap.iso
    will be displayed as ‘Sergei Strelec WinPE 8 and 10 x86 x64_2019.02.04 English‘ in the E2B menu (agFM displays the full filename) provided your MyE2B.cfg is configured to not display the file extensions.
    Note that a file called _030_Sergei Strelec WinPE 8 and 10 x86 x64 2019.02.04 English.agfmisomap.iso will be displayed as ‘Sergei Strelec WinPE 8 and 10 x86x64_2019.02.04 English.agfmisomap‘ by E2B because it contains no _.xxxx. string.

    How to determine the correct suffixes/file extensions

    Since Ventoy requires ISO files to always have the file extension .ISO, we must not change the file extension if we want to boot any ISO using Ventoy.

    Adding file extension suffixes will mean you will not need to remember which boot option to select for each different payload file.

    1. Make sure the ISO file is contiguous by running \Make_This_Drive_Contiguous.cmd under Windows. Remove all spaces from the filename (to start with) and use alphanumeric characters with – and _ only.
    2. First MBR\Legacy boot to the ISO using E2B. E2B may suggest an alternative file extension for that particular ISO. You can choose to accept the alternate suggestion (type Y and ENTER) or just press ENTER or let it timeout to boot as .iso. Make a note of which extension works best.
    3. Now UEFI-boot to agFM and select the same .iso file – you will be presented with some secondary boot choices (e.g. .isodef, .isoloop, .isowin, .isomap, .isomem, .isoagfm) – try each one until you find one choice that works.
    4. If the default (.isodef/E2B option) worked for both E2B and agFM, you can add the string _.isodef to the end of the filename (keep the extension as .iso) – e.g. Ubuntu x64_.isodef.iso.
      If agFM worked best using .isomap and E2B worked best using the default .iso, then add _.isodef.agfmisomap to the end of the filename – e.g. Ubuntu x64_.isodef.agfmisomap.iso.
      E2B will not display the last part of the filename after _.
    5. Since payload files are ordered alphabetically, you can add a letter/number _*_ prefix – e.g. a10_Ubuntu x64_.isodef.agfmisomap.iso. E2B will not display the prefix part of the filename in the E2B menu.
    6. You can add a ’32’ or ’64’ suffixes. e.g. if you use a10_Ubuntu x64_.isodef64.agfmisomap64.iso – E2B will not list the ISO file at all on 32-bit systems. agFM will list the ISO, but will warn you that the system is a 32-bit system and then load the secondary boot menu.
    7. Test the ISO using Legacy E2B, agFM Legacy, agFM UEFI, Ventoy Legacy and Ventoy UEFI.
      Ventoy and agFM will always display the full filenames.
    8. You can rename the filename and add spaces, etc. (avoid using the characters $, &, ( and ) which may cause problems). Some Linux boot methods do not work if the filename contains spaces. You can use a .txt file to change the E2B menu text.
      Note: If you find that Ventoy is the only menu system that works for some files, you can put them into a new folder – e.g. \_ISO\VENTOY\WINPE and \_ISO\VENTOY\LINUX. The files will not be listed by E2B.

    Special grub2 configuration files

    You can write your own grub2 menu file for agFM if you require special kernel parameters or need to specify a persistence file, etc. The menu file is normally placed in an E2B menu folder.

    A file with the extension .cfg will be treated as a grub2 menu file – it will be listed in the agFM menu and can be selected from the agFM menu.

    • \_ISO\LINUX\blackarch-linux-full-2020.12.01-x86_64.cfg

    See eBook #4 for more details.

    Example .grubfm

    A file with a .grubfm file extension must have exactly the same filename as the ISO. When the user selects the ISO file, an extra ‘User’ boot menu option will be listed in the Secondary ISO boot menu which will run your .grubfm grub2 menu code.

    • \_ISO\LINUX\blackarch-linux-full-2020.12.01-x86_64.grubfm
    • \_ISO\LINUX\blackarch-linux-full-2020.12.01-x86_64.iso

    menuentry "BlackArch Linux 64-bit (ISO boot) " --class=archlinux {
    set "grubfm_path=/_ISO/LINUX/blackarch-linux-full-2020.12.01-x86_64.iso"
    set "grubfm_file=(${grubfm_device})${grubfm_path}"
    probe -u ${grubfm_device}) --set=abc
    set pqr="/dev/disk/by-uuid/$abc"
    loopback loop "${grubfm_file}"
    set "params=archisobasedir=blackarch accessibility=on img_loop=$grubfm_path img_dev=$pqr driver=free"
    linux (loop)/blackarch/boot/x86_64/vmlinuz-linux ${params}
    initrd (loop)/blackarch/boot/intel-ucode.img (loop)/blackarch/boot/amd-ucode.img (loop)/blackarch/boot/x86_64/initramfs-linux.img

    You can find more example .cfg and .grubfm menus in the \e2b\Sample agFM Menu Files folder on the agFM Partition #2.

    Example .cfg: Puppy ISO with persistence (save file)

    • Copy the sample file on Ptn2: \e2b\Sample agFM Menu Files\LINUX\slacko64-7.0_persistent.cfg to Ptn1:\_ISO\LINUX folder
    • Download and copy slacko64-7.0.iso to Ptn1:\_ISO\LINUX folder
    • Rename file extension from .iso to .isopup
    • If your ISO is not named slacko64-7.0.isopup, you will need to edit the filename on one line in the .cfg file.

    Now when you run the slacko .cfg file from the agFM Menu system, the Puppy kernel will find and load the persistence file from the root of E2B Ptn1. When you exit Puppy, it will ask you if you want to save your changes. The first time you exit, it will ask for various options including save file size. Default persistence filename is usually \slacko64save.3fs.

    Note: The .isopup file extension is only required by E2B. The file extension can be kept as just .iso if you are not going to use E2B to boot it with persistence. If you select the .isopup file in the agFM menu system then persistence will not work. E2B Menu system will not list the .cfg file. If you do not want the ISO file to be listed in the agFM menu, you can move it to another folder (e.g. \_ISO\LINUX\ISOS) so that only the .cfg file is listed under the agFM LINUX folder menu (you will need to edit the path in the .cfg file).

    Changing the agFM menu background or theme

    The default agFM menu system uses a default in-built grub2 theme. You can use your own theme or use a unthemed menu with your own wallpaper background.

    agFM Seven22 theme (see eBook #4)

    You must create a file on partition 2 called \boot\grubfm\startup_menu.txt menu file (use one of the sample files in the same folder). Instructions are within each .txt file.

    Some sample themes are available from the Alternate Download sites (hitman, seven, slax, tela).

    Details on how to do add a theme or add/change the startup menu are in eBook #4.

    Windows ISOs

    Windows ISOs, when booted using isowin or isomap can detect if a \sources\install.wim or install.esd file is present and if a \sources\boot.wim file is present inside the ISO file.

    If an install.wim/esd file is found it will also list any XML files present in the same folder.

    If a .cmd file exists in the same folder and it has exactly the file name as the .iso file, then that .cmd file will be called as soon as WinPE loads. This means you can add drivers or registry commands before Setup runs, or even run your own installation procedure. One use of this is to run some registry commands which disables Setup from checking for a TPM in Win11 Setup.exe. (agFM v1.72 and later).

    Partition Image files (.imgPTN/.imgPTN23/.imgPTNREP3)

    agFM can switch in Partition image files in the same way that E2B can. A Partition Image file can replace one of the MBR partitions on the E2B USB drive.

    For instance, you can UEFI-boot to agFM, switch-in a .imgPTN file and then boot to the files in the new partition. When you next boot to agFM, you can restore the original partitions from the agFM menu.

    If you select a .imgPTN file, then partition #1 is replaced but partition #2 (the agFM partition containing agFM and the EFI boot files) and partition #3 are also removed.
    For this reason, it is best to rename the .imgPTN file to use the .imgPTN23 file extension (’23’ means keep partition 2 and 3).

    An image partition file with a file extension of .imgPTN or .imgPTN23 should be located on partition #1.

    If used, An auxiliary image partition file which has no file extension should be located on Partition #3 of the USB drive, e.g.
    Ptn #1: \_ISO\LINUX\Ubuntu64.imgPTN23
    Ptn #3: \Ubuntu64

    The .imgPTN23 file will replace partition 1 and the auxiliary image file will replace partition 3. In this example, the Ubuntu64 image file could contain an ext3 filesystem with a full install of Ubuntu.

    Any image partition file with the file extension of .imgPTNREP3 should be located on Partition #3, e.g.
    Ptn #3: \xxx\Catalina.imgPTNREP3
    The .imgPTNREP3 file will replace only Partition #3. The image can contain any filesystem (e.g. ext4 or hfs). If it is bootable, you can use the agFM F3 menu to boot to it (or select the boot file using the F2 menu).

    For instance, you can switch-in a bootable hfs partition image and then boot to it via the agFM menu system.

    I recommend the Sandisk Extreme Pro USB 3

    • Things to know about UEFI

      Useful things to know about UEFI

      How do I UEFI-boot from E2B?

      With E2B v2 + agFM, you can UEFI-boot to the agFM grub-based menu system on the 2nd partition and then select a payload file.

      1. Insert E2B USB drive into USB port
      2. Switch on the system
      3. Press repeatedly the BIOS Boot Selection key (e.g. F8, or F10 or F12 – depends on BIOS)
        Do NOT set the first boot device as the E2B drive or change the BIOS boot order)
      4. Select the EFI or UEFI boot option for the USB drive

      From the agFM menu, if ‘Ventoy for Easy2Boot‘ has been added, you can also launch the Ventoy menu system.

      A signed UEFI64 Secure Boot ‘shim’ has been added to the agFM files on Partition 2. If Secure Boot is enabled on your system, you should still be able to UEFI64-boot, however the DBx BIOS blacklist may contain an entry to specifically block the ‘shim’. In this case you can:
      1. Disable Secure Boot
      2. Go into your BIOS settings and clear the DBx blacklist database
      3. Convert your secure-boot ISO (payload) to a .imgPTN file and switch-in the .imgPTN file

      E2B and agFM also supports .imgPTN Partition Image files. So to UEFI-boot, you can instead convert the ISO (or payload source files) into a .imgPTN file using the MPI Tool Kit. You then add the .imgPTN file to your E2B USB drive – the original .ISO file is not required to be on the E2B drive. You can then boot to the E2B or agFM menu and select the .imgPTN file or use the _ISO\SWITCH_E2B.exe utility to select the .imgPTN file (see here).

      This will remove the E2B partition #1 and replace it with a FAT32 partition (which contains the contents of the .imgPTN file).

      You can then both MBR-boot or UEFI-boot (including Secure Boot) from the new partition on the USB drive.

      You can boot to linux, Windows and other payload types via UEFI, in this way.

      How can I have a multiboot USB drive that will boot to UEFI and MBR mode?

      The easiest and most versatile way to UEFI-boot is to add a second FAT32 partition containing the agFM boot files. You are prompted to add agFM when you make a new E2B USB drive.

      An alternative is to switch-in a .imgPTN partition image file. This allows you to directly UEFI-boot (even Secure Boot) from the E2B drive.

      You can select a .imgPTN file from the menu system or use SWITCH_E2B.exe under Windows or WinPE to select any image from the hundreds of .imgPTN files that can be copied to your E2B USB drive.


      1. A FAT partition is required for UEFI booting (some systems can also UEFI-boot from an NTFS partition, but many cannot).
      2. Some systems will not MBR-boot (i.e. Legacy\CSM boot to E2B) from the USB drive if any EFI boot file is present on the USB drive (on a FAT partition) – the only option presented by the BIOS will be a UEFI-boot option. A workaround is to rename or delete the \EFI folder to prevent it from UEFI-booting.
      3. When you Secure UEFI-boot, only signed ‘secure’ EFI files can be loaded and (apart from Windows) there are not many of these available.
        Some implementations (e.g. E2B REFIND images and E2B grub2 menu system) allow you to boot to unsigned files (or you can use MOK manager to ‘whitelist’ unsigned boot files, but this makes changes to the system BIOS’s NVRAM which can be difficult to remove\change at a later date). agFM uses a signed Kaspersky shim which allows us to Secure Boot but then disable Secure Boot so that we can load an unsigned grub2 version and then boot to insecure/unsigned payloads.

      FAT32 or NTFS for UEFI booting?

      The UEFI specification says that a UEFI BIOS must be able to load the EFI boot file from a FAT partition (either an MBR partition or a GPT partition).

      You do not need an GPT partition to UEFI-boot. UEFI can boot from both Legacy\MBR and GPT partitions.

      For this reason, ext2/3/4, exFAT and NTFS volumes are not usually used as UEFI boot partitions because, unless the UEFI BIOS supports that filesystem, it won’t be able to ‘see’ any files.

      So it is best to place the .EFI boot files on a simple FAT16 or FAT32 partition on a USB drive or the FAT32 EFI partition of a USB GPT-partitioned drive.

      Some UEFI BIOSes also include an NTFS filesystem UEFI driver as well as a FAT filesystem driver – this means that they can also load the EFI boot file from an NTFS partition. However, there is no guarantee that your BIOS will contain an NTFS UEFI driver, so we must use a FAT12/FAT16/FAT32 volume for best compatibility across all systems.


      There are four Primary partition table entry ‘slots’ available in an MBR partition table – no mention is made in the (loosely written) specification on how to determine if they are FAT-based or if the BIOS should search each one for a valid .EFI boot file or in what order they should be searched or if the four Primary partitions must be in ascending order or if the partitions can overlap each other or what to do if there is more than one valid partition with valid boot files!

      The UEFI specification does not mention which MBR partition to boot from (just that it does not need to be marked as ‘active’=bootable in the partition table).

      This then leaves it up to the BIOS writers to decide how to enumerate FAT partitions when looking for EFI boot files, so of course, we end up with a complete compatibility mess!

      • Some BIOSes only look at the first FAT partition for EFI boot files and then give up!
      • Some BIOSes list any partition in the UEFI boot menu (even if they are not FAT-based).
      • Some BIOSes list any USB drive that is FAT-based in the UEFI boot menu (even if it does not contain a suitable EFI boot file – e.g. no BOOTX64.EFI).
      • Some BIOSes will always UEFI-boot (if a valid EFI boot file is present), even if you tell them to MBR-boot!
      • Some BIOSes will not boot from a Primary partition if it starts at a lower sector position than the previous partition entry.
      • Some BIOSes will look for a \EFI\BOOT\GRUBX64.EFI file and list that as a boot option (e.g. Linpus lite UEFI) and completely omit an entry for the standard default boot file at \EFI\BOOT\BOOTX64.EFI!

      The writers of the UEFI specification missed a golden opportunity to collaborate with BIOS writers to accurately define both Legacy and UEFI boot processes from MBR- and GPT-partitioned drives! The specification does however seem to allow nested MBR partitions (Section 13.3.2) and so implies that all Primary and nested (=Logical?) partitions should be searched for all FAT partitions and list all valid partitions as UEFI-bootable entries. i.e. The UEFI developers expanded on the MBR specification but failed to standardise the MBR boot specification!

      MBR and PBR

      MBR = Master Boot Record – first 512 byte sector on an MBR-partitioned disk.

      PBR = Partition Boot Record (also known as VBR = Volume Boot Record, i.e. VBR == PBR) – first 512 byte sector of a partition. A floppy disk does not have a MBR, the first sector of a floppy disk is the PBR.

      Tip: To see the bytes in the first sector of your USB drive, use the Disk Info button on RMPrepUSB and enter 0 as the sector value. To see the PBR sector, enter P1.

      A 512-byte MBR usually contains a 64-byte Partition Table starting at byte 1BE (hex). This can contain up to 4 Primary partition entries (16 bytes each entry). Each 16-byte partition table entry contains this information:

      • Active Flag (the BIOS will boot to this partition if bit 7 set – typically 80h)
      • Partition Type – gives a hint as to what filesystem is contained in the partition – e.g. 0C or 0B = FAT32, 07=exFAT or NTFS.
      • Partition Start – the disk sector where the partition starts and where the PBR can be found (in CHS format)
      • Partition End – the last disk sector of the paritition (in CHS format, only used if <137GB)
      • Partition Start (LBA) –  the disk sector where the partition starts and the PBR can be found (<2TB)
      • Partition Size – number of sectors in the partition (<2TB)

      The PBR typically contains BIOS Boot Parameters (BPB) which contains data about the filesystem in the partition and more boot code which will boot the operating system that is on that partition. Typically, the boot code expands into many of the sectors that follow the PBR sector and there may be a second copy of the PBR.

      The UEFI specification states that the MBR partitions must not overlap each other.

      For more details on the MBR and PBR see here.

      IBM-compatible BIOS and UEFI systems

      There are two types of Intel x86 CPU computer PC systems, those systems with ‘MBR\IBM\Legacy BIOS’ firmware and those with ‘UEFI’ firmware. Firmware is the non-volatile code in a PC which is first executed when you turn it on – it is typically used to select and load boot code from sectors on a boot disk. It also provides basic display and keyboard input support functions.

      The older ‘BIOS’ type of system cannot access files on a disk, it has to load code from sectors contained within the MBR and PBR and so must boot from drives with MBR-type partitions or floppy drives containing a PBR. The newer UEFI-type of system firmware (BIOS) can directly access files on FAT partitions (not NTFS or exFAT or ext2/3/4, etc.). The UEFI specification says that booting from a FAT filesystem must be supported. Other filesystems may or may not be supported by the UEFI BIOS (optional).

      Most UEFI BIOSes usually also contain extra code called a ‘Compatibility Support Module’ (CSM) in it’s firmware. This is an extra ‘block’ of firmware code which allows a UEFI system to boot in MBR mode using a BIOS code module that boots in the same way as the old BIOS firmware does (this is often called CSM-mode). MBR-mode, CSM-Mode and BIOS-mode are therefore equivalent but are completely different from UEFI-mode.

      New Windows 8/10 systems shipped by an OEM manufacturer will all be UEFI systems and they will boot in UEFI-mode and the internal hard disk will contain GPT partitions. To boot from an external USB drive in MBR\CSM mode, you will need to disable Secure Boot and enable CSM-mode (which may be called ‘Legacy’ mode in some Setup menus). You may also need to disable ‘Fast Boot’.

      A few UEFI-based systems can also boot from .EFI boot files on NTFS partitions (e.g. Asus Z87 mainboard) – this is not typical of all systems however. 

      How does BIOS\MBR booting work?

      Hers is a typical boot sequence for a BIOS-based MBR\CSM system:

      1. Switch on system
      2. Firmware (BIOS) code inside the system executes
      3. First sector (MBR) of each disk is read (order depends on how user has configured BIOS)
      4. If the sector is a valid bootable sector, the sector is read into memory and executed by the CPU

      Note: Some (bad) BIOSes will not run step 4 unless one of the partitions in the MBR is marked as Active. From this point onwards, the BIOS has no control of booting. Normally the code in the MBR will do the following…

      • Look at the four partition table entries in the MBR
      • If one is marked as Active, load the data contents of first sector of the active partition (PBR) into memory and execute the code

      i.e. the code in a ‘standard’ MBR looks for a partition entry in the MBR which is marked as ‘Active/bootable’ and then loads the code from the first sector of that partition (the PBR).

      • The boot sequence for Windows 7 (MBR mode) is: Power on – MBR – PBR – bootmgr
      • The boot sequence to boot to grub4dos (installed to PBR, not MBR) is: Power on – MBR – PBR – grldr
      • The boot sequence to boot to grub4dos (installed to MBR) is: Power on – MBR – grldr
      • The boot sequence to boot to syslinux (installed to PBR) is: Power on – MBR – PBR – ldlinux.sys
      • The boot sequence to boot to FreeDos (installed to PBR) is: Power on – MBR – PBR – kernel.sys
      • The boot sequence to boot to MS-Dos (installed to PBR) is: Power on – MBR – PBR – io.sys

      The code in the PBR is usually responsible for booting from a file within the partition (e.g. ntldr or bootmgr). This code typically finds and loads more code, which is then able to understand the filesystem used in the paritition and thus access any of the files on the disk. Note: Some ‘bad’ BIOSes use a different sequence (which is often incompatible and can cause boot issues!)

      1. Switch on system
      2. Firmware code inside the system executes
      3. First sector of each disk is read (order depends on how user has configured BIOS)
      4. If the sector is a valid bootable sector and contains a partition marked as Active, read the first sector of the Active partition (PBR) into memory and execute the code. Note that the code in the MBR is skipped completely!

      When booting from a USB drive, the BIOS will assign the USB drive as the first drive (BIOS drive 0 = 80h) and the first internal hard disk will be assigned as the second drive (BIOS drive 1 = 81h). Typically, the boot drive will always have a BIOS designation of 80h – drive 0 (only if MBR\BIOS – not UEFI).

      Note: Floppy drives are given a BIOS ID number of 0-3, ‘hard disks’ from 80h-9fh and CD\DVDs A0h-FFh (but only if you boot from them).

      Most modern systems will treat a USB drive (Removable-type or Fixed disk type) as a ‘hard disk’ and thus give it an ID number of 80h when it boots from it.

      E2B will often swap over drive 0 (the E2B USB drive = 80h) with drive 1 (the first internal hard disk = 81h) before it boots to a payload – this is so that the operating system that you boot to does not see the E2B USB drive as the system boot drive – otherwise if you are installing an OS, the installer might write the boot files onto the E2B USB drive instead of the internal hard disk! E2B file extensions ending in ’01’ will make this 0<>1 disk number ID swap for you.

      Boot chain:
      BIOS (PCAT) -> BootMgr { BootMgr stub -> embedded BootMgr.exe } -> WinLoad.exe -> Windows
      64-bit (U)EFI -> bootx64.efi -> BootMgFw.efi -> BootMgr.efi -> WinLoad.efi -> Windows

      How does UEFI booting work?

      UEFI systems boot in this sequence  (if in UEFI boot mode):

      1. Switch on system
      2. Check non-volatile memory to see what boot device and boot file has been defined by the user or a previous OS as the first boot device
      3. Check for a valid filesystem in each partition (FAT12/FAT16/FAT32 or GPT EFI)
      4. Look for the designated boot file (default = \EFI\boot\bootxxxxx.efi where xxxxx depends on the CPU architecture – see below)
      5. Load the boot file into memory and execute the code

      For a 64-bit x86 UEFI system, the default EFI boot file is \EFI\boot\bootx64.efi
      For a 32-bit x86 UEFI system, the default EFI boot file is \EFI\boot\bootia32.efi 
      A UEFI system either has 32-bit UEFI firmware or 64-bit UEFI firmware – it cannot have both. 
      A few systems may have UEFI firmware which can access NTFS partitions, however this is not required by the UEFI standard specification and is rare. 

      Most UEFI-capable Operating Systems can tell the UEFI BIOS which boot file to load in future – for instance, Windows 8 can specify that the UEFI firmware should load the \EFI\microsoft\boot\bootmgr.efi file instead of the default  \EFI\boot\bootx64.efi file. Thus if we have installed both Ubuntu and Windows 8 to the system, the UEFI may allow the user to choose to boot to either of these via the UEFI boot menu, because each OS has added a boot option into the UEFI non-volatile RAM storage area. In a typical UEFI setup menu, you can view these boot options and delete or clear the entries if you wish.

      If no valid boot files are specified in the UEFI non-volatile RAM storage area, then the default boot file will be used (e.g. \EFI\boot\bootx64.efi for an Intel x86 64-bit UEFI system).

      Beware: Just because a system has a 64-bit CPU, does not mean it has 64-bit UEFI firmware! Some systems with 64-bit CPUs have 32-bit UEFI firmware and will only UEFI-boot to a 32-bit OS (they look for the EFI boot file \EFI\boot\bootia32.efi).

      A 64-bit UEFI system cannot boot from 32-bit UEFI boot files. 64-bit UEFI code is not compatible with 32-bit UEFI code because the CPU is in a different mode.

      Note: The file \bootmgr.efi is used by UEFI systems to boot from a CD/DVD (el Torito specification), it is not used for USB/hard disk booting.
      Boot chain:
      BIOS (PCAT): bootmgr { BootMgr stub -> embedded BootMgr.exe } -> WinLoader.exe -> Windows
      64-bit (U)EFI: bootx64.efi  or BootMgFw.efi -> WinLoader.efi -> Windows

      How to boot E2B from a UEFI-only system (e.g. Surface Pro 3, Asus T100, T200)

      Some systems do not have a Legacy\MBR\CSM option in their firmware (i.e. they have no IBM-compatible ‘BIOS’).

      This means that you cannot boot to the E2B Menu System from them because E2B uses grub4dos which only boots on MBR\CSM BIOS systems.

      Before you start, make sure you have updated the firmware (BIOS) to the latest version.

      If you want to boot from a payload file on your E2B USB drive using one of these UEFI-only systems:

      1. There are two types of UEFI Intel x86 firmware, 32-bit or 64-bit. We need to know what type the target system has. Check what OS was originally shipped on the system. If it was a Windows 64-bit OS, then you have 64-bit UEFI firmware. If it was shipped with a 32-bit Windows OS, then you have 32-bit UEFI firmware. Note that the CPU inside the target system may be 64-bit, but the UEFI firmware may be 32-bit! Systems with limited internal storage tend to have 32-bit UEFI firmware because 32-bit OS’s require less disk space than 64-bit OS’s.

      2. Once you know what type of UEFI firmware you have, you can select a compatible payload that is UEFI-bootable and supports the same UEFI type. For example, if your system originally came with Windows 8 32-bit, then you can use Windows 8/8.1/10 or linux 32-bit payloads but not 64-bit Windows/linux payloads.

      For your first test, I suggest you use a CloneZilla ISO because this contains both 32-bit and 64-bit UEFI boot files and so either type of firmware should boot from CloneZilla.

      Note that many payloads do not support UEFI-booting at all (e.g. Hirens Boot CD)! Look for a \EFI\boot\bootx64.efi or \EFI\boot\bootia32.efi boot file inside the ISO – these are the 64-bit and 32-bit EFI boot files and at least one MUST be present if it supports Intel x86 UEFI-booting.

      Before continuing, try just booting to the Partition #2 of an E2B v2 USB drive which has the agFM files on the second partition. If it boots to the agFM menu system, then you can simply copy over the CloneZilla ISO to the \_ISO\LINUX folder on Partition #1 and select it in the agFM menu system (or Ventoy menu system).

      If the agFM menu system does not boot…

      3. Convert the payload file (e.g. Clonezilla.ISO) to a .imgPTN file by dragging and dropping the file onto the MPI_FAT32 Desktop shortcut of your Windows system. You will need to install the E2B MPI Tool Kit first. It is often better to rename the file to have a .imgPTN23 file extension.

      4. Copy the .imgPTN23 or .imgPTN file to your E2B USB drive (e.g. copy it to the \_ISO\MAINMENU folder) and make it contiguous (run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd).

      5. Run \_ISO\SWITCH_E2B.exe, select the USB drive and double-click on the .imgPTN file – this will ‘swap-in’ the new .imgPTN file as a new FAT32 partition (the old E2B partitions will be replaced).

      Alternatively, you can run the \QEMU_MENU_TEST (run as admin).cmd script and boot to the E2B USB drive using QEMU and then select the .imgPTN file from the menu to get to the E2B CSM Menu).

      For the most flexible solution, I recommend creating a separate FAT32 USB flash drive containing WinPE. You can then boot to WinPE from any system (BIOS or UEFI) – run Switch_E2B.exe and ‘switch’ to any .imgPTN file on your E2B USB drive. See my blog post for more details.

      6. Now connect the USB drive to your target UEFI system and boot from it (you may need to disable Secure Boot and Fast Boot in the firmware settings first, because not all OS payloads are signed for secure booting).

      Restoring the E2B drive

      Once you have finished, connect the E2B USB drive to a Windows (or WinPE) system and run the \e2b\SWITCH_E2B.exe utility and click on the ‘Restore E2B Partitions’ button to restore the original E2B partition.

      Alternatively, you can boot it on an MBR\CSM system and choose menu #0 in the CSM Menu to restore the E2B partition.

      Instructions for Surface 3 USB booting (video here)

      What is CSM?

      CSM = Compatibilty Support Module (a block of BIOS code added to the UEFI firmware which emulates the older-type MBR BIOS) – basically, it is a complete IBM PC-compatible BIOS!

      Modern PCs have UEFI firmware (aka UEFI BIOSes) rather than the old IBM-compatible BIOSes.

      Older BIOSes boot by running the code in the Master Boot Record (first sector) of the disk and they use Interrupt 13h calls to access the disk. The CPU is in Real Mode and not Long Mode or Protected Mode. The BIOS can only run code that was written to run in Real Mode.

      Modern UEFI firmware can directly load and run code from a file (e.g. \EFI\BOOT\BOOTx64.EFI) from a partition on a disk – no BIOS Interrupt call mechanism is available. UEFI firmware is written in 64-bit or 32-bit Long Mode (depending on what UEFI firmware and CPU is present) – any code that it ‘boots’ to must be written to run in Long Mode. Therefore you cannot directly run old Real Mode code (such as DOS or grub4dos or Windows 98) when UEFI-booting.

      CSM is a mode that you can enable on a UEFI system that will boot in the same way that the older BIOSes boot, thus allowing you to boot from disks which have been prepared with an MBR and that contain boot code which use Interrupt 13h for disk access and runs the CPU in Real Mode. CSM basically adds an IBM-compatible BIOS firmware module, so that your system will boot in the same way as the ‘old’ type of IBM-compatible systems.

      About 32-bit and 64-bit UEFI and CSM\MBR booting

      For Intel x86 CPU architecture systems there are two types of UEFI firmware, 32-bit and 64-bit.

      64-bit CPUs can run 8-bit, 16-bit, 32-bit and 64-bit code, however UEFI firmware contained in a system typically only supports a sub-set of these modes – either 32-bit or 64-bit.

      • If a system contains a 32-bit CPU, then the UEFI firmware will only be capable of booting 32-bit UEFI OSs – typically it will start to boot from the \EFI\boot\bootia32.efi file.  The system may also support CSM booting which is the equivalent to MBR booting on older systems.
      • If a system contains a 64-bit CPU, then the UEFI firmware will usually be capable of booting 64-bit UEFI OSs – typically it will start to boot, by default, from the \EFI\boot\bootx64.efi file. The system may also support CSM booting which is the equivalent to MBR booting on older systems. However, some UEFI systems that have a 64-bit CPU may contain 32-bit UEFI firmware (e.g. some Asus T100 Tablets – because a 32-bit OS takes up less disk space than a 64-bit OS) – so just because the CPU is 64-bit capable, it does not necessarily mean that the UEFI firmware is 64-bit

      Although a 64-bit system could (in theory) support both 32-bit and  64-bit UEFI-booting, it would need to contain almost twice as much firmware code. Because each mode would require separate UEFI modules’, this would double the manufacturer’s firmware development and testing process and double the expense. So, in practice, UEFI-enabled systems containing a 64-bit x86 CPU, usually boot 64-bit UEFI OS’s via a bootx64.efi file – if however the UEFI firmware is a 32-bit version, it will only boot from a \EFI\boot\bootia32.efi boot file by default and run in 32-bit Long Mode. UEFI systems may or may not contain support for CSM booting. This is the old ‘legacy’ mode which is compatible with (most) older versions of linux and Windows (e.g. Windows XP). As CSM mode is not mandatory, not all UEFI systems support CSM booting. The UEFI specification states that it must be capable of loading an .EFI boot file from a FAT\FAT16\FAT32 volume. A few PCs are also capable of UEFI-booting from NTFS partitions, but this is an ‘enhancement’ and not typical. 
      Boot chain:
      BIOS (PCAT) -> BootMgr { BootMgr stub -> embedded BootMgr.exe } -> WinLoad.exe -> Windows
      64-bit (U)EFI -> bootx64.efi -> BootMgFw.efi -> BootMgr.efi -> WinLoad.efi -> Windows32-bit (U)EFI -> bootia32.efi -> BootMgFw.efi -> BootMgr.efi -> WinLoad.efi -> Windows

      Do I have to use GPT if I want to boot via UEFI?

      This is a common misconception!

      GPT is a disk partitioning scheme that allows you to have partitions greater than 2TB.

      UEFI is a new type of firmware (BIOS) that allows the computer to boot from a file or a selection of files on a FAT-formatted partition on a disk (an MBR disk or a GPT disk). It also allows you to add pre-boot drivers so that you can extend it’s function (e.g. add NTFS or HFS drivers or mouse or network drivers). It also provides a Secure Boot mechanism so that only signed ‘boot code’ will be executed – thus preventing viruses or booting from different unsecure media.

      So the two things are completely different!

      The EFI Intel specification includes details of the GPT partitioning scheme because one of the main objectives of EFI was to support drives larger than 2TB and this is not possible using the old MBR partitioning scheme.

      The reason that you see GPT and UEFI used together is that Microsoft Windows Setup.exe will insist on using a GPT partitioned disk as its boot disk, when you try to install Windows after booting the Windows Setup Installer via UEFI. So people often think that GPT and UEFI must be used together. The fact is that UEFI systems just need a FAT partition – the EFI partition on a GPT disk will be FAT formatted and will contain the .efi boot file(s) but you can UEFIboot from a single FAT-formatted MBR-style (non-GPT) partition as long as the OS that you are loading supports it. If you boot Windows 7/8/10 or later Windows OS’s in the old MBR\CSM mode however, GPT partitions are not supported and Windows won’t like it.

      Windows 7/8/10 Installers

      Boot in MBR mode – Windows uses MBR partitions and does not like or understand installing to GPT partitions

      Note: If a GPT partition exists on the hard disk, Windows Setup will refuse to install Windows to it even if you delete all visible partitions. You must use Diskpart – select disk 0 – clean – convert MBR  to remove the GPT partitions and then you can install Windows and create MBR partitions.

      Boot in UEFI mode – Windows uses GPT partitioning and will not want to install to an MBR partition

      This is a restriction imposed by Microsoft (Setup.exe) in order to simplify the installation of Windows. It is technically possible to UEFI-boot to Windows on a MBR-partitioned disk.

      It is also perfectly possible to boot Windows PE and Windows To Go via UEFI from an old-style MBR FAT partition (with an NTFS partition also present).

      Note: Many Intel Mac systems do not contain a BIOS-mode\CSM USB driver and so can only boot from USB drives in UEFI-mode. Some people have reported that some systems will only UEFI-boot from a GPT disk (e.g. some VAIOs?). If this is true, then those systems are not fully UEFI compliant!

      It is possible to MBR-boot to a GPT disk containing Windows 8/10 – but definitely not recommended!

      Is the term ‘UEFI’ actually a ‘BIOS’?

      UEFI and BIOS are both types of firmware. Many people believe that the two are completely different and you should never say ‘UEFI BIOS’. However, Asus UEFI firmware actually displays it’s Setup Menu as ‘UEFI BIOS’.

      To my mind, BIOS stands for ‘Basic Input/Output System’ and it is firmware that allows basic input (i.e. keyboard input) and basic output (i.e. characters displayed on a screen, disk I/O, etc.), So a modern smart phone or the old Altair 8800 both contain BIOSes. IBM also used the term ‘BIOS’ to describe it’s firmware in the IBM PC and so many people think BIOS = IBM PC BIOS. The IBM BIOS used software interrupts as a means of accessing the keyboard, display and disks (e.g. Interrupt 13h was used for disk read/writes). I prefer to call the old type of PC firmware an ‘IBM-compatible BIOS‘ and the new type of firmware a  ‘UEFI BIOS‘ because UEFI firmware is still a type of ‘Basic Input/Output System’.

      On this site however, I try to avoid using the term ‘UEFI BIOS’, as some people think that the two abbreviations are mutually exclusive.

      Note that many UEFI firmware implementations also include the old IBM-compatible BIOS type of firmware – this extra ‘bolt-on’ code is called the Compatibility Support Module or CSM. In CSM-mode, the UEFI firmware will behave just like a real-mode IBM PC-compatible BIOS and boot from normal MBR partitions to run real mode code contained in the first sector of the boot disk using software interrupts (e.g. Int 13h). The CSM code is, in essence, a virtually complete IBM PC-compatible BIOS! 

      In UEFI-mode, the CPU will run in ‘long mode’ and try to boot from a FAT partition containing an .efi boot file containing code written to run in ‘long mode’.

      • 32-bit UEFI-mode runs the CPU in 32-bit long mode and so can only execute boot code that is written to work in this mode. Software interrupts (e.g. Int 13h) cannot be used – 64-bit long mode code cannot be used.
      • 64-bit UEFI-mode runs the CPU in 64-bit long mode and so can only execute boot code that is written to work in this mode. Software interrupts (e.g. Int 13h) cannot be used – 32-bit long mode code cannot be used.
      • MBR BIOSes or UEFI systems in CSM-mode run in real mode on both 32-bit and 64-bit CPUs and can only execute real mode code. In this mode, CPU software Interrupts can be used (e.g. Int 13h is used to read or write sectors to a disk)

      It is not normally possible for UEFI-mode to run MBR\CSM boot code (unless a completely new ‘BIOS’ is loaded – e.g. you can MBR-boot and load Clover which is in effect a whole new UEFI ‘firmware’ that can then boot to and run the long mode type of code that is found in .efi boot files). Most linux kernels do not depend on BIOS interrupts and are capable of switching the CPU to a different mode – this means that it is often possible to UEFI- or MBR-boot to a boot loader such as grub2 and then load and run the linux kernel.

      Why doesn’t my old Hirens ISO (HBCD) boot on my UEFI system even though I converted it to a .imgPTN file?

      TL:DR – because old ISOs don’t contain UEFI boot files and the code uses the old BIOS Interrupt calls not the new UEFI API calls!

      E2B does not add UEFI-boot files, the MakePartImage utility only uses the UEFI boot files that are already present in the payload itself.

      So, you can only UEFI-boot a payload if the payload itself contains UEFI boot files. You cannot (easily) ‘convert’ a BIOS-bootable payload to a UEFI-bootable payload; older OS’s like DOS and XP can never boot via UEFI because they rely on BIOS calls even when fully loaded and running. Some linux OS’s and Windows OS’s can boot both via BIOS and UEFI, but these OS’s have been specifically written to include two different boot methods and once the kernel is loaded, the OS uses it’s own drivers to access the disks, etc.

      If the payload source does not already contain a \EFI\boot\bootx64.efi or bootia32.efi file, then it will not support Intel x86 UEFI-booting (however, it might be possible to load a UEFI boot loader such as grub2 and then load the OS – see the agFM menu system for more details).

      With the old type of BIOS, operating systems such as DOS, Windows 95/98/XP/2003, etc. would load the operating system using BIOS calls. For instance, these OS’s can read sectors from a boot disk into memory using BIOS Int 13h calls. The CPU is in ‘Real Mode’ and not in Protected Mode when booting via the BIOS. Using BIOS calls, the OS boot code can load the ‘kernel’ and drivers into memory and then, once the kernel code is running, the drive sectors can be accessed using the OS disk drivers rather than using BIOS calls.

      So the boot code (and in many cases the OS ‘kernel’ code), actually depends on BIOS calls.

      With a system that boots via UEFI, there are no BIOS calls available at all! Further still, the CPU is not even in Real Mode (UEFI uses Long Mode), so that the boot code must be written to use UEFI API calls to access the boot disk sectors (and files) and the code must be written to run in Long Mode. A further complication is that there are two sorts of UEFI Long Mode used, 32-bit or 64-bit – so 64-bit Windows 8 (for instance) cannot be booted from a 32-bit UEFI system and vice versa.

      In the case of older payloads such as Hirens, it typically contains Windows XP, DOS and older linux payloads. DOS and Windows XP use BIOS calls, therefore there is no way that you can boot and run DOS or Windows XP from a UEFI system (unless you boot it in CSM\MBR\BIOS mode). To boot linux payloads, the linux boot loader must be written to support UEFI (i.e. not use BIOS calls) or switch the CPU into a different mode. Most (all?) Hirens versions do not contain linux distros that support UEFI booting.

      Note: Many Linux distros contain kernels that do not depend on either BIOS or UEFI calls. It is possible to UEFI64-boot to say grub2 and then use grub2 to load into memory and then run the Linux kernel file which was written for a 32-bit or 64-bit Intel x86 CPU even – if that distro does not support UEFI.

      MBR partitions and UEFI boot behaviour

      The UEFI specification is not very explicit about how the firmware Setup and GUI interface should behave.

      In order to boot via UEFI from a USB drive, the system needs to be configured to either boot from the USB device as the first boot device (not recommended) or you must press a special key (e.g. F8) at an early stage to get a pop-up boot selection menu (aka BIOS Boot Selection menu or BBS menu).

      This menu will list the bootable devices available to the system.

      Many UEFI systems have their own ‘rules’ for listing UEFI devices in the BBS menu for normally partitioned MBR disks:

      1. May display one UEFI entry for each MBR partition (even if the partition is NTFS and does not contain a valid \EFI\Boot\bootxxxx.efi file) – e.g. Asus Z87
      2. The BBS pop-up list does not display the disk+partition number, so you don’t know which entry boots to which partition!
      3. If any of the MBR partition table start values are out-of-order then you may not get any UEFI boot options listed for that drive (see Examples 1 and 2) – e.g. Asus Z87, Dell Venue 11, HP PC (Asus T100 will boot from any partition if it contains EFI boot files!)
      Example 1: No UEFI boot option is displayed (ptns out of order)
      TABLE SLOT 1: NTFS  Start=8,194,236
      TABLE SLOT 2: FAT32 Start=2048
      TABLE SLOT 3: empty
      TABLE SLOT 4: empty
      Example 2: No UEFI boot option is displayed (2nd and 3rd ptns not in order)
      TABLE SLOT 1: FAT32 Start=2048
      TABLE SLOT 2: NTFS  Start=8,194,236
      TABLE SLOT 3: NTFS Start=4,098,048
      TABLE SLOT 4: empty
      Example 3: Three UEFI boot options displayed (even if partitions have no files)
      TABLE SLOT 1: FAT32 Start=2048
      TABLE SLOT 2: NTFS Start=4,098,048
      TABLE SLOT 3: NTFS  Start=8,194,236
      TABLE SLOT 4: empty

      If you are using .imgPTN files, and you are not seeing any UEFI boot option(s) for the E2B USB drive, check that the partitions are not out of order.

      You can use the MOVE_IMGPTN cmd script to check and re-order them. SWITCH_E2B.exe will also attempt to re-order the partitions.

      EFI boot files can prevent MBR-booting!

      Some UEFI systems will not offer an MBR  boot option to the user if there is an EFI boot file on a FAT32 partition. These systems only offer a UEFI boot option to the user.

      This means that if you have a FAT32 E2B USB drive containing EFI boot files on these systems, you won’t be able to MBR-boot.

      This behaviour means that these system will not be able to MBR\CSM-boot from a FAT32 .imgPTN file to the CSM menu, if it contains an EFI boot file. If you have an E2B+agFM USB drive, you may find extra menu entries which will rename the \EFI folder so that UEFI-booting is disabled and the BIOS may then give you a Legacy Boot option.

      In the agFM and E2B menu systems, you can rename the \EFI folder using the menu entry provided.

      Can I boot some linux ISOs that do not officially support UEFI-booting?

      Yes! It is possible by creating a special .cfg or .grubfm grub2 menu file which the agFM menu system will load.

      For instance the AntiVirusLiveCD ISO does not UEFI-boot, but the sample menu file “\e2b\Sample agFM menu files\ANTIVIRUS\AntiVirusLiveCD.cfg” can be used to allow us to UEFI-boot – see the article here.

      How do I Secure Boot using E2B?

      Newer computers, made since around 2008 include UEFI BIOS (Unified Extensible Firmware Interface). One of the new features of UEFI is ‘Secure Boot’ which does not allow loading of drivers, boot files or operating systems that do not have a valid digital signature. This stops malicious software and unauthorized operating systems from being loaded. All Windows 8/10 ‘logo certified’ OEM computers are required to ship with Microsoft Secure Boot enabled, but most computer manufacturers allow secure boot to be disabled by allowing the user to change the BIOS settings.

      Some modern 64-bit versions of Ubuntu, Fedora, CloneZilla (Ubuntu AMD 64-bit version only) and MemTest86 support Secure Boot.

      Typically, most linux Secure Boot distros only support 64-bit UEFI Secure boot (not 32-bit UEFI Secure Boot).

      Modern Windows OS’s support both 32-bit and/or 64-bit Secure Boot and they contain signed boot files (\EFI\BOOT\*.EFI).

      You can only boot using Secure Boot if the EFI boot files and drivers have been correctly signed or if you can ‘validate’ the boot file manually (e.g. by booting to a Shim and using a MOK Manager to register the EFI boot file on the particular UEFI-system that you are booting from).

      To get EFI boot files signed by a trusted authority for Secure Booting costs quite a few $1000, so only large organisations tend to have OS’s which support Secure Boot.

      For a guide on how Secure Booting works, see here.

      Add a payload to E2B using a .imgPTN file

      If the OS has secure-boot signed EFI boot files(s), you can usually Secure Boot from them by converting them to .imgPTN files (FAT32 format) and adding the .imgPTN file to your E2B USB drive. Then MBR\CSM boot and switch to the .imgPTN file or use SWITCH_E2B.exe to switch to the .imgPTN file. Then you can Secure Boot boot from the E2B USB drive on a UEFI system.

      The agFM grub2 menu system

      E2B also allows you to use the agFM a1ive grub2 menu system which is capable of MBR\UEFI32\UEFI64 and UEFI64 Secure booting (but not on all systems).

      The agFM files are on the 2nd FAT32 partition, so you must UEFI-boot to Partition #2.

      This uses the signed Kaspersky EFI boot shim which has a security vulnerability, so we can Secure UEFI64-boot to it and then disable Secure Boot to allow us to run an unsigned version of agFM and boot to both signed and unsigned payloads.

      Note that the Kaspersky shim EFI signature key may have been added to your BIOS firmware’s DBx blacklist (e.g. by a Windows 10 KBxxxxxxx update). In that case, you must disable Secure Boot in your BIOS settings because it will refuse to load the Kaspersky EFI boot file or you can clear usually the DBx list by using a BIOS Setup option.


      Why do I need to disable the BIOS Fast Boot option?

      The BIOS\Firmware ‘Fast Boot’ option, if enabled, prevents the BIOS from testing or checking for certain devices such as USB storage devices on switch-on or on a reset.

      Some BIOSes allow you to enable ‘General’, ‘USB’ and ‘Video’ fast boot optimisations separately.

      The exact function depends upon how the BIOS developers have written the code, but usually you must not enable Fast Boot for USB, because then the BIOS will not check for the presence of any external bootable USB devices that may be connected.

      Fast Boot = Disabled   (for detection of USB boot devices)

      Fast Boot is not only connected with the BIOS UEFI boot options, it applies to both CSM\BIOS\Legacy mode and UEFI-mode.


      Why don’t I get an E2B menu when I try to UEFI-boot to an E2B USB drive?

      The answer is simple – the E2B menu system is based on grub4dos and does not support UEFI booting. You will need to add agFM if you want to directly UEFI-boot to a UEFI menu system.

      E2B (legacy) only supports UEFI payloads by ‘switching-in’ a .imgPTN partition image file so that you have a new FAT32 partition on your E2B drive.

      You can however add a 2nd FAT32 partition to the E2B drive which contains agFM (grub2-based menu system).

      Note: Some system BIOSes have a very annoying bug – if a UEFI boot file is present on the USB drive, then that BIOS will not allow you to MBR\Legacy boot from the USB drive! This means that if you wanted to boot to the E2B menu in Legacy\MBR\CSM mode and run any of the 100’s of ISOs on it – you can’t! The BIOS will only let you UEFI-boot.

      As well as the E2B+2nd FAT32 agFM partition scheme, some other multiboot solutions use a FAT32 partition (UEFI boots from FAT partitions) and they contain both MBR and UEFI boot files and so these solutions will also hit this BIOS bug issue with certain systems:

      All of these will be susceptible to the ‘No MBR boot option’ BIOS bug mentioned above. You can temporarily disable UEFI-booting using the appropriate agFM (or E2B) menu entry:

      Why can’t I boot/see my internal hard disk when I MBR\Legacy boot?

      Some 2018 or later BIOSes are ‘UEFI-only’.

      There may be an option to enable CSM in the BIOS settings, however this only allows you to MBR-boot from external devices.

      The UEFI BIOS may not allow you to boot in Legacy mode from an internal drive.

      This means you may not be able to ‘see’ any internal drives if you MBR-boot and try to install an OS to the internal drive, OR it may allow you to install an OS to the internal drive, but when you try to MBR-boot from the internal drive it will fail to find any drive! 

      You must install an OS that will UEFI-boot. To do this, either UEFI-boot from the E2B USB drive (using a .imgPTN file) or MBR-boot and run WinNTSetup and ensure you install Windows to a GPT disk and enable UEFI-booting so that it will UEFI-boot to Windows from the internal hard disk.

      Tip: Some modern BIOSes also require you to select AHCI mode rather than RAID 0 mode before you can access the internal SATA drives.

      If your system has a internal NVMe drive, ensure you have updated to the latest BIOS version.

  • Articles
  • Best USB drives

    all links below are Amazon ad affiliate links.

    USB Flash drives (Removable)

    Sandisk Extreme Pro USB 3.1 (Gen 1) CZ880 (#Amazon ad link)  (review) Fast and most compatible

    Transcend JetFlash 920 (#Amazon ad link)  (review)

    USB Flash drives (Fixed)

    Corsair GTX USB 3.1 (review)

    Silverstone 2242 M.2 SATA III SSD to USB 3.1 Gen 2 Enclosure with Retractable (SST-MS09C-MINI) – add M.2 card for superfast USB!

    USB HDD/SSD (Fixed)

    For USB booting I recommend using a USB 3 enclosure (not USB 3.1 or 3.2) and an SSD drive (lower power requirement than HDD, more robust, no spin-up).

    USB CD\DVD Emulator

    IODD range – e.g. The IODD Mini SSD (recommended) also supports encryption. Can emulate Removable or Fixed USB drive.

    IODD’s can be loaded with 100’s of ISOs and VHD files. You can then load one or more of these via the IODD controls to emulate a CD\DVD\Removable drive\Fixed drive.

    USB Flash Encrypted

    Kingston DT2000


    USB 3 Y-cable – Useful when using USB HDD with higher power requirements

    USB 2 extension cable – Use between USB 3 port and USB 3 drive to force system to use USB 2 protocol and drivers.

  • Blog

    For the latest news, Betas, How To articles, etc. visit my Blog.

    Go here and click the Follow button to keep up to date.

  • Downloads
    Click the button to go to the super-fast FossHub downloads page.

    Windows 10 is recommended when first making an E2B USB drive.

    Get my eBooks from here. Learn how to boot anything from your E2B USB drive (includes step-by-step exercises, secret BIOS bugs, UEFI explained and much more)!

    The Downloads page contains:

    1. EXE Easy2Boot for Windows 10 users to make your E2B USB drive – (Recommended)
    2. EXE Easy2Boot for Windows 10 users + DPMS drivers for installing XP ISOs onto systems (includes 32-bit Windows XP drivers)
    3. ZIP Easy2Boot for Linux and XP users (no XP 32-bit drivers) – zip file password is e2b
    4. ZIP Easy2Boot+DPMS for Linux and XP users (includes XP 32-bit drivers) – zip file password is e2b
      also includes:
    5. ZIP Easy2Boot MPI_Tool_Pack – Windows utility for making Partition Image .imgPTN files (useful for UEFI+MBR Secure boot support or making images of existing bootable USB drives)
    • You will need to download either 1 or 2 or 3 or 4 (depending on what OS your system is running).
    • Use Make_E2B.exe to create an E2B USB drive.
    • The DPMS version of Easy2Boot is only needed if you intend to use Windows XP Installer ISOs.
    • The MPI_Tool_Pack is only needed if you want to make Partition Image .imgPTN files (works under Windows only).

    I also recommend installing RMPrepUSB – a Windows utility to make, repair, test, make bootable and edit drives (especially USB drives).

    PLEASE NOTE: Some anti-virus\anti-malware can prevent Make_E2B.exe from copying some files or installing boot code onto the USB drive. You may see a ‘Write error’ message. In this case you will need to temporarily disable your AV software until the E2B USB drive is made. Software such as Avast and Acronis Protection are known to do this. Check Task Manager for active AV software.

    Tip: Once you have made your E2B USB drive, use the \E2B Launcher.exe program on the USB drive…

    E2B Launcher contains links and information to help you use E2B.

    Alternate Download Sites

    You can download E2B, the latest Betas with bugfixes, enhancements and extra E2B themes, .mnu files, animations,  wallpapers, extra grub4dos scripts, archived files and lots of other stuff from one of the two Alternate Download Sites.

    Alternative sources

    Note: Do not download a ‘hacked’ version of E2B from anywhere else, they may contain viruses! – E2B is free so only use the official sources!

    I recommend the Sandisk Extreme Pro USB 3 flash drive for use with Easy2Boot

    • agFM Version History

      To update E2B and agFM, download the latest E2B version and run Make_E2B.exe then click on the Update E2B Drive button.

      Check contents of \agFM_version.txt for version number.

      v1.4 Requires FAT32 partition to be type 0C for .imgPTN switchingv1.5 FAT32 partition can be type 0B or type 0C – incl. latest Feb 03 2002 grub2v1.6 RESTORE_E2B.cfg file updated.v1.7 Automatically recognises .imgPTN, .imgPTN23, .imgPTNauto and .imgPTN23auto files (no need for .cfg file) + few bugfixes.v1.8 2020-02-10 Bug fixes for .imgPTN, more file extensions recognisedv1.9 2020-02-11 Improve .imgPTN handling, font size reduced, latest grub2\agFMv1.10 2020-02-13 .imgPTN* and .cfg files now run immediately they are selected (note: if you have existing .cfg files you will need to update them for the ‘Cancel’ operation to work. F3 boot menu now shows drive info inc. volume label, grub2 fixes for stat -c command not crashing.v1.11 2020-02-14 Allow user to define own file with default menu items + timeout.v1.12 2020-02-15 agFM now only lists bootable files in the menu. Added SHOW ALL FILES (agFM).cfg and SHOW ONLY BOOT FILES (agFM).cfg.v1.13 2020-02-17 Using extension of .isodef, .isodefault, .isodd, .iso01, .iso32, .iso64, .isoPE, .isoPE01 will now immediately boot the ISO using E2B\partnew. Add diagnostic menu entry to users menu, support E2B-style MBR-booting of .iso* and .wim files with spaces in filenames. Display ISO icons in menu after selecting the ISO. Clear type 0 partitions on boot.
      v1.14 2020-02-18 Improve direct booting of WinPE ISOs (HBCD PE, Win10XPSE, etc.).v1.15 2020-02-19 Add support for user-defined theme or text+wallpaper menu.v1.16 2020-02-20 menu improvements/bug fixesv1.17 2020-02-21 Change Font, add FAT32 file copy/rename options, use for ISOPE extensionv1.18 2020-02-23 WinBuilder ISOs (e.g. Gandalf) now should work correctly (no yellow triangle desktop icon) when using (map) option or .isoPE file extension.v1.19 2020-02-25 Support multiple .imgPTN files, add support for WinPE .ini files, wipe \autounattend.xml and \unattend.xml if booting from Windows Install partition, latest build of a1ive grub2.
      v1.20 2020-02-27 grub2 is no longer case-sensitive for filenames on NTFS,ext,exFAT partitions (see F4 option to enable case-sensitivity).v1.21 2020-02-28 grubfm now sorts files alphabetically, partnew command now only works on contiguous files, check files are contiguous and warns the user, language selection now possible from the menu.v1.23 2020-03-01 Win10 1909 x64_UNAME_PCNAME.cfg sample file added, bugfix for Legacy partnew booting of ISOsv1.24 2020-03-02 grub2 now accepts backspace key on user input, krd.grubfm sample file added to UEFI64-boot Kaspersky krd.iso
      v1.25 2020-03-03 Norton Bootable Recovery Tool nbrt.grubfm sample file added for UEFI64 boot from ISO, support Secure UEFI-booting from Windows Install ISOs and .wim files.
      v1.26 2020-03-04 Support for .isomem, .isoloop and .isomap file extensions, update .ini files for WinPE (e.g. Bob Ombs),v1.27 2020-03-06 update to allow for easy addition of theme folders, support medicat (use ‘Boot Windows from ISO’ menu entry),
      v1.27 2020-03-06 fix Windows Install error when MBR booting – ‘Windows could not update the computer’s boot configuration’
      v.1.28 2020-03-09 fix Windows Install issue of Windows Setup displaying on wrong monitor and so leaving the agFM menu displayed on the HDMI or notebook screen.
      v1.29 2020-03-11 Add keyboard scan code maps. Sort languages alphabetically. Sort files alphabetically by default.
      v1.30 2020-03-13 bugfix for Windows Install ISOs with \sources\Install.swm files, fix for bootmgr being installed to USB drive, add Download and update agFM.cmd so can update to latest version.
      v1.31 2020-03-15 Tidy folder structure, add sample submenu.txt file example, change sample theme menu background.png, fix krd.iso not working (and others), add example .cfg file for unattended install of Windows with user entry for Edition, User Name and Computer Name.
      v1.32 2020-03-17 .isopersist supported for Ubuntu-based ISOs, add Clover for UEFI-booting from E2B menu, move grubfm.iso to \e2b folder, revised a1ve grub2 filemanager.mnu file for Clover.
      v1.33 2020-03-23 Latest versions of agFM (small bugfixes for messages + delay), etc.
      v1.34 2020-03-27 Add En-us to F4 Language list, fix clover UEFI32bug in \e2b\alive grub2 filemanager.mnu, F1 now shows correct SecureBoot mode. v1.35 2020-04-01 Polish, Spanish, Hebrew, German languages updated.v1.36 interim beta build.
      v1.37 2020-04-05 Update languages, add Ukrainian uk_AU, change bootup message, add \version.txt file to hold agFM version number, add .isowin type, add .cfg files for DLC, nbrt.
      v1.38 2020-04-08 partnew\easy2boot and map options now automatically patch secure boot flag when booting an ISO, latest agFM language updates.

      v1.39 2020-04-11 Secure Boot flag is now disabled, remove F4 ‘override secure boot policy’ menu item (no need), add .isoagfm file extension so jumps straight to the linux menu (if works then file does not need to be contiguous), latest agFM.
      v1.40 2020-04-13 New English startup menu on boot, latest agFM, French language updates. Improve and add “\e2b\Update agFM\Download and update agFM_v2.cmd” for better update.
      v1.41 2020-04-15 Fix to allow non-contiguous Windows Install ISOs to run, latest grub2/agFM from a1ive, small French language corrections
      v1.42 2020-04-16 Latest grub2 with new partnew command option, True Hide and True UnHide .cfg files to protect partitions 1 and 2, support .imgPTN extensions with 23, auto, 32\64, pwd, 3GB\4GB (must be in that order).
      v1.43 2020-04-17 New grubfm/grub2, E2B file extension suffixes now won’t appear in the menu (e.g. .iso64 file will not appear if system has 32-bit CPU, .imgPTN234GB won’t appear in menu if system has less than 4GB of RAM). config file bugfix so variables are exported (e.g. pwd, themes),Fix for partition 4 needing to be erased after selecting an ISO using partnew\easy2boot option.True Hide\Unhide .cfg files in \e2b\Sample agFM Menu files\MISC\. .iso323gb, .iso3gb, .iso4gb, .iso644gb extensions now recognised. F1 now displays total memory in system. if using ‘pwd’ string in the extension, you must set pwd variable in your user startup menu (e.g. set pwd=”Hi Steve”) – beware of incorrect keyboard scan codes if using AZERTY or QWERTZ keyboards!
      v1.44 2020-04-20 Update True Hide cfg files to use 1C instead of EF to hide FAT32 partitions. Update SAMPLE_startup_menu.txt to tidy up environment variables.
      v1.45 2020-04-25 Add support for non-USA keyboards. Add menu entry into startup menu to disable UEFI booting by renaming the \EFI folder.
      v1.46 2020-04-27 New agFM boot files (+ Ventoy support), Some partition references changed to use (e.g.)  hd0,1 instead of hd0,msdos1,the variable grubfm_startbat can now be used to define a different start.bat file which is run at the start of Windows Setup. This just provides a way to ‘hook’ in a custom batch file and will not be of value to most users. SAMPLE_startup_menu.txt re-organised. \grldr and \boot\grub\menu.lst file added to allow a system to MBR boot to the agFM partition and then load agFM (grub2). Some README files added to \boot\grubfm folder. Load agFM startup menu.cfg copied to root of agFM folder to allow user to re-run the startup menu. Enable or Disable UEFI booting.mnu file added to \e2b folder (for copying to \_ISO\MAINMENU of partition 1 if required).
      *BUG*v1.47 2020-04-28 Latest agFM with language improvements, small tweaks to the SAMPLE_startup_menu.txt file.
      v1.48 2020-04-28 Same as 1.47 but bugfix for .imgptn files not working. Changing to using (hd0,1) instead of (hd0,msdos1) revealed a bug in agFM, so the start menu has now been changed back to use (hd0,msdos1) type names.
      v1.49 2020-05-05 Latest agFM, Screenshot driver and grub2 ahci driver removed as caused issues, support for direct boot of Strelec ISO with all apps, Total RAM displayed on startup, .winiso extension can be used to boot some WinPEs and Win Install ISOs, extra DLCBoot .cfg files and grubfm files added, new agFM drive icon for Explorer.
      v1.50 2020-05-xx Latest agFM. DLCBoot can now be boot as .iso or .isowin with no .cfg file needed. grub2 echo command now supports escape sequences for outputting coloured text. 
      v.1.51 2020-05-29 New search (F) button added (e.g. search for file types such a .iso, .wim). Boot Windows ISO option now runs X:\Setup.exe so that Repair option is offered if no XML file is specified. Allow use of file extension override suffixes (e.g. Medicat v18.10 stable_.isowin.iso) so extension can be kept as .iso but it will immediately boot with no secondary menu. Support _.winntsetup.iso file extension suffix for booting to Windows PE from Install ISO and directly loading the ISO into WinNTSetup.exe. Danish language. Bugfix for Auxilliary partition image file not detected as hfs type 0xAF (e.g. MacOS..imgPTN23+MacOS.), .imgPTNrep3 file extension now supported (file must be in partition 3). Add a check to prevent one .imgPTN* file from being used if a .imgPTN* file has already been switched in (thus preventing the backup MBR from being overwritten). The ‘Restore E2B Partitions’ menu entry in the startup_default.cfg menu is now displayed whenever the MBR partition table contains a ‘switched-in’ .imgPTN image. Ventoy boot option added (experimental).
      v1.52 2020-06-02 Add .isoventoy file extension support. Latest a1ive grubfm.
      v1.53 2020-06-03 Bugfix – parentheses e.g. (xxx) in Windows ISO filename caused Setup to restart.
      v1.54 2020-06-04 – Bugfix – No imgptn* files listed if Secondary Menu enabled – now fixed.
      v1.55 2020-06-08 – bugfix – remove HDCLONE entry in startup menu. Improve .imgptn Restore Partitions menu. Latest a1ive grub\grubfm version.
      v1.56 2020-08-05 – SAMPLE_startup_menu.txt revised – now only shows ‘Restore E2B Partitions’ menu entry if backup partition is valid MBR. Bugfix in agFM MBR code (grubfm.iso) to fix issue of some files reported as not contiguous (thanks to Anwar for reporting bug). hires variable can now be set in the menu so that WinPE runs at highest screen resolution available (e.g. in startup_menu.txt). wimboot code has changed – do not specify bcd, boot.sdi or bootmgr files in wimboot command list. MBR\Legacy also uses wimboot command now. Ventoy has now been removed from agFM by a1ive, so no Ventoy menu option.
      1.57 2020-09-09 – Fix for MBR\Legacy install of Windows Setup not allowing Internal hard disk to be selected, update agFM, Ventot support –  F5 now will boot to Ventoy if present on Partition 2, \_ISO\docs\MAKE_E2B-USB_DRIVE\Add_Ventoy.cmd can be used with to add or update Ventoy onto 2nd agFM Partition. \e2b\Update agFM\Add_Ventoy.cmd added (drag and drop Ventoy zip file onto Add_VEntoy.cmd to add Ventoy MBR+UEFI64).
      1.58 2020-09-14 – Fix bugs in \e2b\Add_Ventoy.cmd. wget.exe was failing due to old version plus core.img is now copied to \ventoy folder.
      1.59 2020-09-19 – can now suppress the grub2 c and e hotkeys in menu, latest grubfm, remove Ventoy menu options (use F5 to boot to Ventot).
      1.60 2020-09-23 – Add Update_to_latest_Ventoy_version.cmd (automatically downloads and installs current latest version of Ventoy),
      1.61 2020-10-05 – Add entry to startup menu to look for \EFI\BOOTX64.efi and \EFI\BOOTIA32.efi boot files
      1.62 2020-10-08 – Latest agFM with language file updates, default menu now uses first-letter auto-jump, hotkeys ‘c’ and ‘e’ disabled unless user presses TAB in first menu.
      1.63  2020-10-14 – adds a line of code to load font files from a user theme (SAMPLE_startup_menu.txt).
      1.64 2020-10-31 – update memtest86 EFI files to v8.4, grubfm MBR bugfix for some WinPE .wim files not booting – e.g. DLCBoot 2019.
      1.65 2020-11-01 – bugfix for F3 Boot Menu in v1.64.
      1.66 2020-12-04 – F3 now also shows winre.wim Boot to Windows Recovery entries if a Recovery folder is present. F10 hotkey will reload agFM without rebooting. Search hotkey is changed from Ctrl+Shift+F which did not work in MBR\Legacy mode to Ctrl+F. New Ctrl-F search function searches current level and one folder down only. User can search for any extension or use a hotkey. e.g. Ctrl+F P will list all .imgPTN* files in current directory and level below current directory. F5 now uses grubfm built-in code (/boot/grubfm/ no longer used). Bugfix for dd command where -c exceeds 63555. Ability to use Ctrl+F as menu hotkey (but not all Ctrl+ letters can be used!). The menuentry command now supports –help_msg option which can display help text in a themed menu (but is buggy, so I recommend you don’t use it in your menus!). The and files now use map -f to map as the first device when in efi mode. Add_Ventoy.cmd changed to work with latest e2b for Ventoy download. Update_to_latest_Ventoy_version.cmd file will now automatically add ‘Ventoy for Easy2Boot’ to the USB drive. The current E2B version of ‘Ventoy for E2B’ will be downloaded from the E2B server. Latest grubfm build (2020-12-01). /e2b/loadfm file added.  /ventoy/Sample Ventoy config files folder added (contains sample files which user can add to ptn1). Copy to \ventoy folder on ptn1 will allow you to boot agFM or E2B from the Ventoy menu. SAMPLE_slack theme fm.txt updated for Ctrl+F text display on menu. SAMPLE_slack theme fm.txt now supports timeout countdown so it can be used for startup menu with F1-F6 icons and timeout counter. Improved SAMPLE_startup_menu.txt – now can have more than 10 entries and define a different icon and hotkey for each menu entry.
      1.67 2020-12-06 – bugfix for .isopersist file extension (did not find -rw file if in same folder – only worked if -rw was in root)
      1.68 2020-12-11 – bugfix for .isodef, .isomap, .isomem, .iso01, .isoPE01 not booting in agFM Legacy menu system (1.66 and 1.67 had “No such command: /MAP” bug).
      1.69 2021-01-10 – Add blackarch linux .cfg and .grubfm sample files, Latest grubfm – uses new theme files for F1 hwinfo screens, language updates, F1 now shows grub, CPU, Mainboard and RAM info, Easy2Boot menu entry added if MBR\Legacy boot, Add more SAMPLE menu.txt files, \e2b\Sample agFM Menu Files\MISC\Test Sample Menus.txt menu file added, Some type and sample menus updated, F5 can boot to Ventoy and AIOBOOT, Add_Ventoy.cmd updated now adds, UEFI32 boot files when using Ventoy 1.0.32 or later
      1.70 2021-02-14 – Recognises .binacpi file extension (e.g. to run DSDT.bin files). Add Enable\Disable Kaspersky shim EFI menu entry. rEFInd by Rod Smith added (EFI boot manager). SAMPLE menu files now include new rEFInd entries.
      1.71 2021-06-18 – Support for Strelec ISOs on UEFI32 devices with 64-bit CPUs (e.g. Asus T100). Memtest86 v9 build 2020 EFI files upated. Add DrWeb+persistence .grubfm example to \e2b\Sample agFM Menu Files folder, .isopup changed to display menu, slacko_v7.grubfm and .cfg sample file added to \e2b\Sample agFM Menu Files\Linux folder for Puppy booting. agFM Ventoy menu now directly loads Ventoy menu (not via F5). Sample menu files updated.
      1.72 2021-07-11 – if .winiso is chosen to install Windows abc.ISO, then now abc.cmd is run as soon as Setup loads (if present). This means you can run any code including registry edits such as Win11 reg patch as soon as boot.wim loads (same function in E2B). Add support for Ventoy image download and creation and support for different three Ventoy partition 2 images in default menu. Improve .map/.isope so it loads ISO as Y: (to work with HBCD v1.0.2)
      1.73 2021-07-14 – add extra startup menu entry F7 to switch to Text mode (in case cannot see screen on boot). Workaround for ‘error: xz file corrupted or unsupported block options.’ error in agFM on some UEFI systems when loading Windows ISOs using isowin option (suspect bug in xzio.mod grub2 module). Legacy Windows BUG in this version.
      1.74 2021-11-09 – support for grub4efi, Add_Ventoy.cmd now adds arm64.efi and mips.efi boot files for Ventoy so can UEFI boot to Ventoy on these systems. Update Make_Latest_Ventoy_Partition_Image.cmd to make images compatible with Ventoy v1.0.54 and later. Legacy Windows BUG in this version.
      1.75 2021-11-27 – bugfix for Legacy boot of Windows ISOs crashing (grub2 loopback bug?).
      1.76 2021-12-28 – fix \e2b\Update agFM\Make_Latest_ventoy_Partition_Image.cmd so always downloads latest version, e.g. 1.0.63

      Beta versions

      Reported bugs

      Kaspersky shim can cause UEFI64 boot to black screen on some systems – solution is to replace Kaspersky EFI boot file and disable Secure Boot. You can use the ‘Disable Kaspersky UEFI64 Secure Boot’ menu option for this. 

      Strelec 2019-12-28 UEFI64 .isowin – some PCs report ‘File: \efi\boot\BCD status: 0x000c00D info: the boot configuration data for your pc is missing or contains errors – others OK. agFM 1.51 and 1.58 OK, 1.68 fails. Reason unknown (rep: ajinkya).

    • Alternate Download Sites

      Current release

      Main E2B download page

      Beta version and other useful files

      You can download E2B, the latest Betas with bugfixes, enhancements and extra E2B themes, .mnu files, animations,  wallpapers, extra grub4dos scripts and lots of other stuff from one of my two Alternate Download Sites…

      Note: Do not download a ‘hacked’ version of E2B from anywhere else because it may have a virus – in any case, E2B is free! 


      Also, checkout my blog here for details of any Betas and latest news.

      Full Versions (alternate sources)

      Download of Full Release versions:

    • E2B Version History

      To update E2B and agFM, download the latest E2B version and run Make_E2B.exe then click on the Update E2B Drive button. 

      To keep up to date with the latest changes, bug fixes and features, please subscribe to my blog.Also see this page: How to update your E2B USB drive.
      Tip: You can run “\_ISO\docs\Make_E2B_USB_Drive\CheckForUpdate.cmd” to find out if there is a new update available.

      E2B VERSION NUMBERING:  x.yz[l]x=0-Z   y=0-Z   z=0-Z   l = A-Z or a-z  (lower case letter indicates a Beta version, uppercase indicates a revised release version). Versions are numbered x.yz, where x is the major version and yz the minor version (may be followed by a suffix letter). 

      Suffix letter

      An upper case letter suffix (A-Z) indicates a re-released version with a small bugfix.A version suffix with a lower case letter suffix (a-z) indicates an interim BETA version. A BETA version will have bugfixes + new features.

      Beta versions

      The latest Beta versions will have the latest bug fixes and features. They can be found in the Alternate Download Areas in the  ‘Latest Betas’folder. The documentation on this site will always include the all latest features, some of these features may only be available in the latest Beta version. 

      Update or Downdate

      You can use ‘Update E2B Drive’ to update your E2B drive (or revert it back to an earlier version of E2B) without affecting your configuration. 


      v1.77   = First release version of 1.77v1.77A = Revised release version of 1.77 (minor bugfix that will not affect most users) (displays version as 1.77 in E2B)v1.78= Third BETA version – for testing latest features and bugfixes. When released it will be called v1.78.v1.78  = Release 1.78…v1.99  = Release v1.99v1.A0a = First BETA issued after v1.99 was released.v1.A0   = Full Release. Next released version after v1.99.v1.A0A = Full Release – Update of v1.A0 with small bugfix that won’t affect 99% of users.
      v1.A7a = First BETA version of 1.A7
      v1.A8   = Full Release of 1.A8
      v1.B0   = Full Release of 1.B0 Check the \_ISO\Sample_MyE2B.cfg file for any new configuration options and features.  


      If version is in red then do not use it – it was a buggy version!

      v1.00 2013-06-18 First Releasev1.01 2013-07-05 Few bug fixesv1.02 E2B
      v1.01 + DPMS2 Update Pack v 1.02 (2013-07-06)v1.03 2013-07-11 Requires new grldr, improved alphanumeric sort (not case sensitive), bug fixes, DPMS2 + auto-selection for XP ISO install, empty folders not listed in menu
      v1.04 2013-07-15 DPMS2 small bugfixes/improvements. Small changes in XP Install Step 2
      v1.05 2013-08-03 Ability to suppress the file enumeration messages when creating menus on startup. Jolene sample menu added!
      v1.06 2013-08-05 .mnu and payload files are now enumerated together instead of separately in two stages, so the menu order is determined by the alphanumeric filenames of the .mnu and payload files.
      v1.07 2013-08-24 Recognises .isoPE file extension and mounts the .isoPE file as a drive letter (virtual CD/DVD) when wpeinit runs. BugFix in automn.g4b (some sample .mnu files did not work since v1.00!). New grldr. Full alphabetical sorting (same order as in Windows Explorer). ISOASK variable supported. POSTCMD variable for WinPE ISOs.
      v1.08 2013-09-04 bitdefender mnu file added to docs folder, Windows 8.1 temporary Product Keys added, master pwd opttion in MyE2B.cfg
      v1.09 2013-09-14 Some sample .mnu files revised and added, .vhdmem, imz, imggz extensions supported, set DEFMENU=0 supported for no ‘set default’ menu item, .txt files now checked for ‘title’ keyword and user warned if missing.
      v1.10 2013-09-15 Bugfix for DEFMENU=0 (thanks Sergei for spotting this!), added NOUNIFONT=1 (does not load unifont font file for faster booting)
      v1.10a 2013-09-25 Sample .mnu files revised (note: The E2B+MassStorageDrivers download is still v 1.10 – if you want the latest .mnu files, download v1.10a and overwrite it).
      v1.11 2013-09-28 Bugfix – the Unattend.xml and AutoUnattend.xml files are now wiped on startup. NOF9R and NOF10H variables available to suppress F9 and F10 in menu.
      v1.12 2013-10-17 grub4dos 0.46a used if it boots as (fd0), 100K spaces.txt removed, global hotkeys, warning if file not contiguous, fix for .iso not booting in HP’s, extra variables – see Sample_MyE2B.cfg for details.
      v1.13 2013-10-18 bugfixes for v1.12!
      v1.14 2013-10-21 More variables for advanced menu changes, beep when main menu is loaded – see Sample_MyE2B.cfg for details. If only one XP ISO present then it is autoloaded. Same if only one xml file for Vista.Win7 installs.
      v1.15e 2013-10-26 Mainly bugfixes to v1.14 and  earlier versions of v1.15! 
      v1.16 2013-10-29 Same as v1.15e. Extra menu theme for beep demo added. DPMS integrated download with v1.16 available.
      v1.1.7 2013-11-15 .isoDOS extension supported for DOS-based ISOs. Checkaccess can be suppressed using a MyE2B.cfg setting. Some changes to finding of \autounatend.xml and \unattend.xml files.
      v1.18 2013-11-30 .isoDOS01 extension, extra font support and 34 different fonts added (see Sample_MyE2B.cfg), grub4dos version 0.4.6a used
      v1.19 2013-12-21  bugfixes: background corruption in 1024×768 fixed, re-load main menu now show all menu items, clonezilla sample mnu added, ENG language folder now used. Warning if using USB HDD and no removable flash drive when booting from Vista/7/8 Install ISO.
      v1.20 2013-12-31 Works with Win8.1 retail install ISOs, option to erase partition 4 if in use, 64-bit XP install ISOs will not use DPMS2 if there is ’64’ in the ISO name. 3rd level folders removed except for MNU folder, 8.1 Enterprise Eval product key added so can install from ISO. Windows Vista+ ISOs are now only loaded using ImDisk – the firadisk drivers are no longer used and have been removed (but still used for XP). See blog for more info.
      v1.21 2014-01-04 Bugfix in DMPS2 if two mass-storage drivers found. (Thanks to Levellak)
      v1.22B 2014-01-05 Bugfix in QAUTO.g4b (fix ‘file not found’ error when using PTN2_Menu.mnu and F7-F10 menus not added) (thanks to DvdK for the nice clear bug report). Note: 1.22DPMS was missing driverpack.ini – please use 1.22ADPMS. v1.22B has minor bugfix for NOF7HD variable not working.
      v1.23 2014-01-20 Allow for booting from a different USB drive than the E2B USB drive.
      v1.24 2014-01-22 Code in LOADISO.cmd improved in case where Helper drive contains E2B files. Some Sample .mnu files corrected (did not contain \%ENG%\ path)
      v1.25 2014-02-29 New $HOME$ keyword can be used in .mnu files. See blog entry here.
      v1.26 2014-02-05 Small changes so we can have individual XP ISO Main menu entries, some new sample .mnu files added (e.g. XP_Inst_from_MainMenu.mnu), latest grub4dos version,  \_ISO\docs\Make_E2B_USB_Drive.cmd batch file added to automate making of an E2B drive (requires RMPrepUSB pre-installed).
      v1.27 2014-02-06 Same as v1.26 (thought there was a bug in 1.26 but cannot reproduce it now!)
      v1.28 2014-02-12 .mnu example file added for BIOS string detection + support files.
      v1.29 2014-02-28 – new grub4dos (shows FAT32 filenames/folders with correct case), new .isomemF01 and .isofira01 file extensions. Windows batch files to help make .txt and .mnu files (just drag and drop the ISO onto it). Some new .mnu files added in \_ISO\docs\Sample mnu Files folder. See February 2014 blog entries for more details.
      v1.30A 2014-03-03 (released 2104-03-21) Convert $HOME$ in .txt files, support E2B on a logical partition of boot device, grub4dos 0.4.6 with USB driver option, .isoPUP, .isoWB, better error recovery if bad ISO, allow long XP ISO filenames, improve Make_E2B_USB_Drive.cmd script.
      v1.31 2014-03-24 allow new format of ‘Nightly builds’ of XP dpms, Winhelper detection code restored to same as v1.29 as problems with 1.30.
      v1.32 2014-04-13 XP install enhancements (new chkpci utiity, win2k,2k3 driver support), .SIF support, .imgPTN recognised for UEFI image booting. List PCI IDs, Utilities menu has XP driver search menu entries.
      v1.33 2014-04-15 Fixed issue with .imgPTN files showing jumbled menu text
      v1.34 2014-04-22 \_ISO\WIN payload folder added for non-Windows Install ISOs and .imgPTN files ,etc. For .imgPTN files – allows E2B to be on either 1st or 2nd partition. 1.34a has a change to QRUN.g4b to allow E2B drives with 2 partitions to run a .imgPTN file.
      v1.35 2014-04-25 If set master pwd now only asked for on reboot (not on menu refresh/reload), search for WINHELPER.USB Flash drive can be suppressed if using a USB Removable-type flash drive (see Sample_MyE2B.cfg file for settings)
      v1.36 2014-04-27 .imgPTNA file extension supported – same as .imgPTN but marks the partition Active – useful for WinToGo images – see blog. Bugfix – files an exact multiple of 4GB were not listed due to bug in grub4dos.
      v1.37 2014-05-01 .imgPTNAlba23, .imghPTNlbaA, .imgPTNlba, .imgPTNA23 support added. Make_E2B_USB_drive.cmd now installs grub4dos to MBR and PBR.
      v1.38 2014-05-10 A few small changes mainly in MyE2B.cfg support for moving the top menu heading down from the first line at the top, to any line (e.g. line 3) and also an option to adjust the offset that is applied to the heading and bottom help text. Some new ‘themes’ have also been added. Zorin_persistent .mnu sample files added.
      v1.39 2014-05-13 Bugfix – if FAT32 drive and make folder with .  (dot) in foldername then stopped enumeration with error.
      v1.40 2014-05-18 Supports dual partition images –  e.g. use fred.imgPTN for first partition and fred (no extension) for 2nd image.
      v1.41 2014-06-03 Bugfix for AUTO folder not enumerating sub-folders, memtest86 + UEFI added, more sample .mnu files added for OpenElec and Kali.
      v1.42 2014-06-10 CONTIG.ISO feature added
      v1.42a 2014-06-17 bugfix for v1.42 force.iso .mnu files gave ‘not contiguous’ error —– NEW ‘MULTI-LANGUAGE’ VERSION (Headings, MyE2B.cfg + other changes) 
      v1.50 2014-06-26 STRINGS.TXT file now used to hold English text, menu entries, help text, etc. See blog for details. Includes 500Mb CONTIG.ISO file.
      v.1.51 2014-07-03 .imgPTN is now equivalent to .imgPTNLBAa (use .imgPTNna for old .imgPTN behaviour), \_ISO\BACKUP_LINUX folder deleted, small changes to STRINGS.txt, bugfix aroung CONTIG.ISO size detection (failed size check if >2GB), small code/message changes, English strings.txt file is now always loaded after primary language.
      v.1.51a 2014-07-04 bugfix for XP Step 2 
      v1.52 Languages addedv1.53 More languages, bugfix to Make_E2B_USB_drive.cmd and small change to qrun.g4b to avoid possible .imgPTN grub4dos error
      v1.54 bugfix for forcing file extension using qrun.g4b, memtest86 32-bit UEFI boot file added. Make_E2B_USB_Drive now checks for Admin rights and also removes EFI folder if you format as NTFS. .imgPTNAUTO file extension supported (no user prompt to switch partitions). Added a ‘Measure USB Performance’ test in Utilities menu. Bugfix for isos with long filenames ending in .isoWB. Sample WinBuilder .mnu changed for same fix. New grub4dos 0.4.5c grldr version. File enumeration speed improvements. linux script added to format a USB drive as  an E2B drive under linux.
      v1.55 (XP bug!) Portuguese language STRINGS.txt added (thanks Carlos!). Tails.mnu sample file added. ‘CONFIG.ISO’ typo corrected in qrun.g4b. Sample Change_Wallpaper,mnu which changes background and Change_Theme.mnu added (allows you to add a menu entry to switch to any theme you like) and Blue Theme.mnu sample added. Can now switch themes using a file with a .cfg file extension (.cfg file extension support added to qrun.g4b). Sample E2B Templates folder name changed to Templates. \_ISO\docs\mythemes folder added for use with $Change_Theme.mnu file. Romanian language added (thanks Anto!). Desinfect .mnu files added for persistence and keeping updates. F1 Help menu added (English only). Latest grub4dos grldr versions. EXTOFF variable added for MyE2B.cfg file – if set to 1, files are listed in the menu without their file extensions. Qrun.g4b tweaked. linux script tweaked for older linux distros (thanks Todd!). Some AMI BIOSes didnt boot to the E2B menu, code added to \_ISO\e2b\grub\menu.lst work around this problem which seems to be a BIOS+grub4dos interaction issue.
      v1.55a – grldr (grub4dos) had bug (cannot see hard disk in XP Setup). This version has new grldr version.v1.56 new grub4dos \grldr fixes exFAT bug with >4GB files. CPU 32/64 bit & Total memory displayed in Main Menu heading and Windows Install menu, new Sample mnu Files examples. Weird characters such as ()!”&| may now work if used in Windows ISO and .imgPTN filenames. ‘Boot any key to boot from CD or DVD’ Windows install prompt suppressed. Aurora background compressed using lzma (reduced size). .iso64 family of file extensions recognised (only listed if 64-bit CPU). Fastload menu has changed (only seen if FASTLOAD is enabled) – now press F8 to refresh the menu instead of the separate REFRESH entry. Change Automn.g4b and Automn.g4b to use 56MB area of memory instead of 74MB area so can use E2B on systems with 64MB of memory or more. Can now install Vista/7/8 direct from a .mnu file by specifying a folder (don’t have to use \_ISO\WINDOWS folder) – Note that if you have made a .mnu file for installing Vista/7/8 you will need to change it).
      v1.56a – v1.56 was only released for a few hours when I discovered a bug in grub4dos \grldr file. 1.56a is re-release with new version of grub4dos with XP problem fixed. German STRINGS.txt updated. Wallpaper changed slightly. Various small tweaks. Add compatibility with FlashBoot for .imgPTN files. Polish language added. Change_Font.mnu added to docs\Sample mnu Files folder. If FASTLOAD is enabled then now no need to count Windows files on first boot.  Windows 10 folder added + menu. Fix for FASTLOAD counting Windows files.
      v1.57 – Release of final 1.56a with new grub4dos  2014-10-21. (removed after 1 day due to grub4dos bugs!)
      v1.58 – (v1.57aBeta) – large exFAT drive issue fixed (debug off in LstFExt.g4b needed due to grub4dos bug), .isopup fixed in QRUN.g4b. small fix to allow $$$main.mnu user file to load new splashimage for Main menu. Reduce file accesses in \_ISO\e2b\grub\menu.lst code for faster boot up. Added support for multiple wallpaper backgrounds even if FASTLOAD is used. Reduced number of redundant environment variables. New grub4dos for exFAT (no Warning messages). \EFI (memtest86) folder removed (stopped some systems booting to grub4dos!).v1.58a – fix for if HEADPOS set in MyE2B.cfg if HEADPOS set to line 1 or greater, then grub4dos header text was not cleared from submenu headings.
      v1.60 – new grub4dos, old HDG_xxx variables in MyE2B.cfg for submenu headings no longer supported, problem if too many variables used in MyE2B.cfg fixed, ZZSubMenuxx.mnu files combined into one ZZSubMenuAll.mnu file to improve menu load speed on slow systems. Old colour variables in MyE2B.cfg (e.g. %cyan%) now discontinued. Yellow warning text if \_ISO\STRINGS.txt test file is present (should use the LANG variable instead!). Fewer progress messages if redir set. FASTLOAD.YES now moved to \_ISO\docs\FASTLOAD folder (copy it to the root to enable FASTLOAD feature).
      v1.61 – German STRINGS.txt updated. Can now have .mnu for Windows Install ISOs in Main menu which specify .iso file AND .XML file. updated grub4dos. Menu Heading positions changed and HEADPOS now easier. Menu headings are now left-aligned instead of being centred. Help text Footer text no longer padded out by HPAD, so HBTM determines it’s absolute position in the menu. Italian added (thanks Fabrizio), isoboot.g4b added to try to boot non-contiguous linux ISOs if all else fails. FreeDOS288.IMA.gz changed to include a few useful FreeDOS utilities. .isonousb and .imgnousb file extensions now supported. More details here.
      v1.62 2015-02-18 – Revised spanish.Arcabit sample mnu file. patch “oempreinstall=yes” line in winnt.sif file so that E2B can install some XP versions (e.g. Micro XP Pro 1.11b.iso). .dmg, .dmgHFS and .HFSptn file extensions supported for Hackintosh OS X Installers – e.g. Yosemite-Zone.dmg.  File extensions can now be password protected (e.g. xxx.isopwd will prompt for a password). MyE2B.cfg file can contain menupwd setting to specify a different password needed to run any payload file from the menu. Parted Magic .mnu file for persistent changes. CRC32 and ISOBOOT can be run by holding down CTRL or SHIFT keys respectively when running a payload file from the menu. True partition Hide/Unhide sample menu file added. New grub4dos version 2015-01-16 fixes exFAT probems in grub4dos 0.4.6a. Fix knoppix in isoboot.g4b. macpup sample .mnu file. .isomacpup file extension added. Make_drive_contiguous batch file now on E2B drive + WinContig. Patch for silent startup in SampleMyE2B.cfg added. Support for payload files ending in 64 or 32. docs\E2B Utilities .txt and .mnu maker updated (can test for 32 or 64-bit CPUs). grab.g4b utility added (can copy screen text to text file – used for reporting issues). Haiku anyboot image support (.haiku).
      v1.63 – QRUN now suggests a ‘better’ file extension, Make_E2B and Update_E2B cmd files now ask to create a MyE2B.cfg file for language/kbd support. new grldr grub4dos 0.46a to fix NTFS bug. \_ISO\isoboot.g4b supported for user’s own version. QEMU test boot files added. FreeBSD, pfSenese and GhostBSD memstick images now supported. Make_E2B_USB_DRIVE.cmd now will detect all drives if no USB drive found in system. XP 32-bit Mass Storage DPMS drivers updated.
      v1.64 2015-03-30 – Fix XP Install from ISO changing HDD disk signature (fixes problem of if you quit Setup, the OS on the HDD BSODs), fix TXT Menu Maker script.
      v1.65 2015-04-16 – set CENTREHD=1 will now auto-centre menu headings. Menu hotkeys changed in all STRINGS.txt files, AUTOMENU feature added – can now press first letter of a menu entry to select it, current language displayed in footer HELPTEXT (can be changed in MyE2B.cfg). grub4dos letters, e.g. p for password entry and c and e now only work if SHIFT is pressed at same time. Small speed improvement in counting Windows ISOs. New version of hotkey utility (thanks chenall!). New grub4dos 0.4.6a.
      v1.66 – revised Spanish and German STRINGS.txt, E2B_Editor added.
      v1.67 – $NAME$ now supported in .mnu and .txt files, QAUTO.g4b and AUTOMN.g4b changed so .txt files with no \n (help) now end in \n to suppress g4d default help text. Only first line in .txt files are now used. RMPartUSB and grubinst added so RMPrepUSB no longer needed to make a USB drive. Update_E2B_Drive.cmd updated to use xcopy if robocopy not available for XP systems. Fixed problem with spaces in pathnames. New grub4dos 0.4.6a can write to small NTFS files (fixes long-standing bug/’feature’).
      v1.68 – New grldr 0.46a, autowin7.XML and Load_ISO (no prompt to Repair) XML files added. LOADISNP.CMD added (does not prompt to repair system).Bugfix to CountISOs.g4b. BugFix for .txt files stopping the menu entry from working.1.69 – fix graphicsmode command not working (bitmap needed to be exactly 800×600 or 1024×768 or got text mode menu!). Workaround for partedmagic ISOs not booting with grub4dos 0.4.6a. Subset of NTBOOT added for direct boot of .WIM, .VHD and .VHDX Windows 7/8/10 OS files. XP .VHD file extension now changed to .vhdboot. Make_E2B_USB_Drive.cmd and Update_E2B_Drive.cmd now copy bootmgr from C: drive if it is present (for NTBOOT function). new grub4dos 0.4.6a bugfix for UDF ISOs causing crash e.g. pmagic. Compress unifont and backgound files using lzma (smaller than gzip and faster to load).
      v1.70 2015-06-17 – Allow different backgrounds for WIndows menus and AUTO menu.
      v1.71 2015-06-26 – Some Sample mnu Files added + typo\bugfix for PTN2_Menu.mnu. Make_this_drive_contiguous.cmd will now run on any drive it is on (if \_ISO\docs\WINCONTIG folder is also present), so can use on another partition on an E2B drive. XP Step 2 bugfix if installing XP to 2nd HDD it would not boot correctly. JustBrowsing_with_config.mnu file added. German Strings.txt small tweaks. Payload enumeration now displays source directory correctly when listing payload files. ‘set ENUMWAIT=1’ in MyE2B.cfg will cause file enumeration to pause before displaying each menu – useful to see what order files are enumerated in for menu order. MAKE_E2B_USB_DRIVE.cmd tells user if disk is Fixed or Removable type. Fix bug in file/folder enumeration listing directories on screen.
      v1.72 2015-09-05 – If press SPACE key during any menu enumeration, then it will pause at end (ENUMWAIT now not needed). Right-aligned menu text (RTL). ! key during enumeration will display boot timings (same as set SHOWTIME=1 in MyE2B.cfg), If use UPDATE_E2B_USB_DRIVE.cmd or MAKE_E2B_USB_DRIVE.cmd, set NOHELPER=1 is added to MyE2B.cfg file if a Removable USB drive is detected. New grub4dos 0.4.6a version supported. UPDATE_E2B_USB_DRIVE.cmd now uses xcopy /d to update (if XP system only) – now only updates files with a later file date. Default menu timeout is now cancelled after you go to a submenu. Bugfix to Windows Install Menu not showing F9 and F10 in some languages. .JPG wallpaper supported (grub4dos 0.4.6a only). Arabic language (minimal support). Check for Win10 bootmgr added. New grldr_046. To get CRC of ISO, now use CTRL+SHIFT instead of just CTRL. blog post
      v1.73 2015-10-23 (THIS VERSION HAS AN XP INSTALL ISO ‘firadisk.cmd copy’ BUG, fixed in v1.74) – Fix XP 32-bit IDE driver problem for HP TX1320es in DPMS version only (see FAQ ‘ERROR: CANNOT FIND /IDECOI4IN.DLL’ for details). English F1 Help menu improved. Make_e2B_USB_DRIVE.cmd default now NTFS + UEFI tip added. Win10 keys added. SWITCH_E2B.exe 1.0.0 added. Swedish language added (thanks to DavidS). Dutch  (NL) language (thanks to JeroenM!) If .imgPTN extension and ptn #2=hidden type 21 then it will not be removed when switching partitions. This is to enhance bootability with some BIOSes (use any other extension of .imgPTN* if you don’t want this action – e.g. .imgPTNa.) also same action for SWITCH_E2B.exe. Fix ‘DRIVERPACK.INI firadisk.sys DPMS error when using grub4dos 0.4.6a. New Win10 compatible ImDisk version+small change to ImDisk_Installiso.cmd. New \grldr 0.4.6a version. Beta revision history here.
      v1.74 2015-11-06 – [Note: THis version has bug with some types of .imgPTN files] RMPartUSB v2.1.730. .vhdfira and .firavhd extensions added to QRUN.g4b, .vhdboot modified to include firadisk. XP Gold 2015 .mnu sample added. Fix for ‘Cannot copy firadisk.cmd’ on textmode file copy phase of XP Install ISO (bug in v1.73).
      v1.75 2015-12-02 – .isoBF file extension added (removes bootfix.bin from an ISO file so no prompt to ‘Press a key to boot from CD). .vhdgrldr added. New ImDisk version for Win10 Threshold 2 Install ISOs. .imgPTN files can now be added to \_ISO\WINDOWS\xxxx folders (except XP folder). Fix for some .imgPTNxxx file extensions not working (imgPTNa23LBA,imgPTN23aLBA). Fix for .mnu files not added correctly unless ends with carriage return. SWITCH_E2B.exe v1.0.2 (has extra MBR check before switching partitions). Server 2016 folder added. Language files tweaked.
      v1.76 2016-01-17 – SWITCH_E2B v1.0.6 with FlashBoot and WinToGo+.imgPTN support. .isoBF fixed (did not work in 1.75!). Zorin 9 persistent .mnu files added. Fix for Zorin 9 in isoboot.g4b. AuroraBin default wallpaper. Improve LZMA Encode/Decode scripts. Fix bug – if user deleted some of the Windows sub-folders then the other Windows sub-folders were not enumerated (e.g. \_ISO\WINDOWS\XP). Fix ‘Trouble!’ message if installing XP and > 1 drive in system. New grub4dos 0.4.6a version \grldr. Add check for Write-protected USB drive. Improve MAKE_E2B_USB_DRIVE.cmd to detect Removable USB drives and copy zip and 7z files. Language support added for ListDisks.mnu (ENG and GERMAN STRINGS.INI).
      v1.77 2016-02-12 – New version of grubinst.exe. MAKE_E2B_USB_DRIVE.cmd bugfixes for Removable drive detection. Switch_E2B v1.0.10. MOVE_IMGPTN added (see here – Method 4). If drive is write-protected, now uses ISOBOOT to boot from ISOs (treat USB drive as a CD). Ophcrack support added to ISOBOOT. QRUN.g4b warns if xxxx.imPTN file does not precede second xxxx. image partition file when switching in two partition images. E2B_Editor v1.0.83. Panda Vaccine AUTORUN.INF fix sample .mnu files added. \_ISO\TXT_Maker.exe utiity added. Menu system will now ignore .exe files. Improve QRUN.g4b when error and if E2B disk is not disk 0. Change all STRINGS.txt menu headings so they don’t start with two spaces (users should use HEADPOS in MyE2B.cfg if they want to move the headings). New redir/redirp and AVG Rescue sample menus.
      v1.77A 2016-02-16 – same as 1.77 but has TXT_Maker.exe v1.0.08 (comglg32.ocx not required).
      v1.78 2016-03-22 – New version of grub4dos 0.4.6a. Menu highlight bar is now full width of menu (like 0.4.5c) if background colour is used. If you want only the menu text to be highlighted and not bar across whole screen, see Sample_My2E2B.cfg file for instructions (use setmenu –highlight-short). Russian language files added. New TXT_Maker.exe (no comdlg32.ocx dependency). .isopup file extension bugfix (prevents hang) + add Save parameter so can boot from puppy/slacko ISO with save enabled. PassPass in docs folder. \_ISO\docs\Template\Animate template added. Lubuntu 15 + persistence sample .mnu file added. .isopup extension bugfix + now enables Save/peristence. Bugfix in QRUN.g4b for SHIFT key not running ISOBOOT. isoboot.g4b updated. STAMPs and ANIMATE supported + Sample mnu file. QRUN.g4b adds .isoWH file extension for DLC/Hirens ISOs which boot to Mini7/8. .isoxx64xx extensions deprecated. ListDir menu added to UTILITIES menu. Debug versions of Make_E2B_USB_Drive and Update_E2B_Drive scripts added (outputs results a log file). Extra startup debug added – if user presses SPACEBAR during early startup, screen will pause – press SPACEBAR twice to pause at next point or any key to continue. FONT24 large font support added. Protect.cmd added to \_ISO\docs\E2B Utilities folder to protect the MyE2B.cfg file from other users – see Add .KRN and .LKRN file extensions (e.g. for iPXE kernel files). ‘AUTO’ suffix can be used on any of the .imgPTN ‘family’ now. Suffixes (32\64, pwd and AUTO can be combined). Fix problem with using $$$$CONFIG .mnu files + FASTLOAD not working. .isoHW file extension for Hirens\DLC with XP+mini7. Sample Guest menu .mnu files. See this blog post. v1.78A 2016-03-24 – new version of \grldr grub4dos 0.4.6a 20160324. Bugfix: if tophelp set to off-screen to hide menu help text, did not work. Version withdrawn! v1.78B 2016-03-25 – 1.78A grub4dos still buggy (setting help off screen may cause graphics corruption!).
      v1.78C 2016-03-26 new grub4dos v20160326 (bugfix for tophelp > 34).
      v1.79 2016-03-31 – new NOWINXP parameter to suppress some menu items in the Windows Install menu. Small bugfix in AUTOMN.g4b (detected files with no extension), improved Protect.cmd to show more file info. Bugfix for bad error handling in QRUN.g4b (did not abort if error). E2B_Editors v1.0.85 (NOSUG and NOWINXP options added). Improve robocopy use in UPDATE_E2B_USB_DRIVE.cmd.
      v1.80 2016-05-10 – bugfix for Windows Install menus not displayed if FASTLOAD enabled. Change to centrehd.g4b batch file to allow for large fonts. Small change to German STRINGS.txt. Latest grub4dos 0.4.6a (ext4 and CDFS bugfixes). bugfix for uppercase extension .MNU and .TXT ignored. Fix for FASTLOAD with $$$$CONFIG files. No need for WINCOUNT special variable. Fix no display issue if use STAMPs in text mode (GFX=none). Update_all_e2B_drives.cmd added. Improved CopyFF.g4b batch file to workaround bug in fat utility which won’t copy files beginning with the letter o. New grldr 0.4.6a grub4dos 20160426. PTN2 .mnu files for UEFI_GRUB2_PTN2 toolkit.
      v1.81 2016-07-09  DO NOT USE – BUG IN MAKE_E2B_USB_DRIVE (run as admin).cmd – Alternate Power off sample .mnu file added for systems that where F10 does not turn off the system + SlackOS+persistence, MX-15+persistence, PTN2_boot_any_file, MainMenuOnly.cfg. $$AddWin2Main.mnu bugfixes for direct booting of Windows Install ISOs from Main menu. Change Admin detection test in MAKE_E2B_USB_DRIVE script so does not rely on Windows exe. Improve MOVE_IMGPTN script (was omitted from 1.80). Improve windows install from ISO for XML path specification and test /autounattend.xml is not empty. Fix %ISOC% being displayed instead of ISO filename. Fix .isope path problems and make work if iso on 2nd partition. New RMPartUSB v2.1.731. Check .VHD/.VHDX/.WIM full path for spaces. Check compatibe bootmgr used for direct VHD\WIM booting. QR code stamp option when making E2B drive added. Extensions .isoPECD and .iso01PECD supported. SWITCH_E2B.exe v1.0.12 (support .imgptn*2* as well as .imgptn*23* extension for special users – *2* is NOT supported by E2B though!).
      v1.81A 2016-07-12 – bugfix in MAKE_E2B_USB_DRIVE script which caused it to exit before completion. 
      v1.82 2016-08-13 – New grub4dos 0.4.6a ‘E2B.cfg missing’ bug fix. SDI_CHOCO (automated driver and apps install for Win 7/8/10) now added. New Win8/10 SDI_CHOCO XML files. Fix for Windows Setup refusing to install to internal hard disk if using E2B HDD+WINHELPER flash drive with some systems. Install from XP ISO hang/reset bugfix. Support for WSUS Offline update in SDI_CHOCO added. Small tweak to \_ISO\e2b\grub\menu.lst to remove unneeded screen clear. Improve LOADISO.cmd routine when searching for virtual Win7/8/10 ImDisk DVD drives. Added two new bootmgr versions to ‘whitelist’ for VHD booting.v1.83 2016-08-27 Bug in XP Install – please use latest version! – bugfix grub4dos so does not absorb key presses before menu is displayed. Make_E2B_USB_Drive (run as admin).cmd now checks for more versions of bootmgr (whitelist has new additions). Warning message if try to use .imz file extension (you need to convert to .ima). Add sample .mnu files for Remix OS x86 with persistence (thanks Sergio!). Small changes to German language files (thanks Frettt). Add script and udefrag utility to docs\linux_utils folder – can now make and maintain an NTFS E2B drive under linux. Update FreeDOS floppy image to allow access to NTFS files under FreeDOS (E2B drive = C: ). Updated SDI ‘Snappy’ executables.
      v1.84 2016-09-20 – Parrot+persistence sample .mnu file added. New feature: if user presses u key during early booting to Main menu, the grub4dos USB 2.0 driver will be loaded. Change to SDI_CHOCO Sample_MyStartup.cmd so that -y and unchecksummed packages are accepted. Add ‘Download Urls’ folder to \_ISO\docs folder. Add Win7 SDI_CHOCO XML files. Fix SDI_CHOCO.cmd so does not pause if installing Win7. Add E2B_WINHELPER_& for Zalman\IODD. Fix problem of F1 Help menu title not displayed. Fix bug – if animated icon in menu, then XP+DPMS install is broken (asks for floppy disk). Sample WinNTSetup diskpart script files added to \_ISO\docs\E2B Utilities\WinNTSetup folder. Add Disable_System_Volume_Information_Folder_Creation folder to \_ISO\docs\E2B Utilities folder which can be used to prevent Windows creating System Volume Information folders on USB drives. Cub Linux + persistence Sample Mnu File added. Official grub4dos 0.4.6a v2016-09-20 release added.
      v1.85 2016-10-18 – add udefrag linux utility for defragging NTFS files under linux. ZGRUB_USB_046.mnu menu improved. Improve errorchecking in MAKE_E2B_USB_DRIVE.cmd for wget/proxy issues (thanks to JH for reporting it!), German language update (thanks Frettt!).
      v1.86 2016-10-29 – Language files updated. Bug fix for wsusoffline Win8/2012R12 updates not working. Win8/10 Repair option now offered (press a key within 4 seconds). Self-extracting .exe versions available.
      v1.87 2016-12-10 – Fix typo in SDI_CHOCO which caused scrolllock.exe and capslock.exe error messages. Improve linux scripts to install grub4dos to PBR and make partition active using parted. Latest grub4dos 0.4.6a. Snappy updated to R513. Persistent .mnu files added for LibreELEC and Pentoo. Win10 support added to PassPass. Improved Restore File check in PPass.g4b to prevent restoring wrong file+improve search speed.
      v1.88 2017-01-27 – Add Server 2012 R2 Std Eval Product Key file, \MAKE_THIS_DRIVE_CONTIGUOUS.cmd now does not defrag user folders (only root and \_ISO), updated Wincontig, update SDI executables, fix .isofira extensions in QRUN.g4b to load the ISO as a virtual CD to allow Strelec and other firadisk ISOs to work correctly, new grub4dos 0.4.6a, new purple jpg default background, SWITCH_E2B.exe v1.0.13 (small bugfix to set size of partition to match the size set by grub4dos partnew exactly), Spanish language files improved (thanks DW!), MAKE_E2B_USB_DRIVE (run as admin).cmd can now be used to duplicate the E2B USB drive onto another USB drive (copies root files and \_ISO folder), Pi_pixel_x86_Persistent.mnu sample mnu file added for PIXEL isoGandalf sample .mnu files added, Boot_Recovery_WIM.mnu added (boot from any systems winre.wim), fix for case where grub4dos 0.4.5c tries to load jpg as wallpaper,
      v1.89 2017-02-08 – self-extracting exe download which runs new GUI Make_E2B.exe. NoF1F7F8F0F10.cfg added to \_ISO\docs\Templates (removes F1, F7, F8 etc. from menus). German STRING.txt file tweaked (thanks Frettt!), improve Utilities – Measure BIOS performance to print time in seconds, Switch_E2B.exe v1.0.14.
      v1.90 2017-02-18 – support for WinBuilder_ISO.mnu sample menu file (see here), remove 20 character filename limit for WinBuilder ISOs (.isoWB files), Auto-detect WinBuilder .ISO files and automatically update the .ini files to correctly boot and load the ISO as Y: drive, moved Sample Windows XML Unattend files to SAMPLE XML FILES folders (user must copy them up one level if needed), CONTIG.ISO is now not updated by update script, Make_E2B.exe updated, if user sets hidden attribute on USB:\menu.lst then Update script will hide files in root, .cmd scripts can be moved by user to \_ISO folder.v1.91 2017-04-09 – Fix ‘WARNING: WinBuilder ISOs must have .iso file extension’ message being shown when not a WinBuilder ISO, grldr 2017-02-04 latest version. sample ‘blacklist’ .mnu files, latest RMPartUSB, latest Make_E2B.exe , SCROLL LOCK = Verbose mode (turns on QRUN auto-suggest and all messages), new TSUG variable for auto-suggest, default delay for auto-suggest now 6s, reduce Main Menu messages if redir set,\_ISO\docs\Make_E2B_USB_Drive\CheckForUpdate.cmd added to show latest stable version and latest Beta version, latest grub4dos, check added to detect \sources folder on E2B drive (prevents Windows installs from ISO working), SHIFT key on boot = load grub4dos USB 2.0 driver.v1.91A 2017-04-12 – fix small bug in v1.91 (erroneous WARNING: grub4dos 0.4.5c message), update sample konboot .mnu files with extra option to patch konboot to prevent black screen problem on some systems, small change to Loadiso.cmd batch files to allow user to set ISO drive as A: or B:.
      v1.91B 2017-04-14 – new grub4dos 0.4.6a was buggy! Now reverted back to 2016 version!
      v1.92 2017-05-18 – (Win10 Creator update compatible) – Ukrainian language added (thanks ‘ruffian’), Vietnamese language added (thanks to TN), small bugfix to XPWINNT.g4b to allow SVR2016 folder to be selected, new Make_E2B to add Ukrainian lang, check added in Make_E2B_USB_DRIVE.cmd to check Windows find command is working, revised English F1.cfg help file, new RMPartUSB v2.1.739 to format the 2nd small hidden partition to prevent Win10 Format pop-up dialogue box and NTFS format issue, bugfix to XP DPMS2 sometime getting wrong PCI ID and hence wrong driver, \_ISO\PimpMyDrive.cmd will add extra options to Main menu, UtilMan account hack XML and CMD files added, delay added to linux scripts after parted command, WinLite10 Sample XML files added, \_ISO\mybackground.jpg will be used if mybackground.bmp is not present, \_ISO\docs\SysInfo added, PET template theme added, SanFrancisco Bridge now default background, new grub4dos \grldr, small changes to Utilities List drives and ls menu entries, change to .cmd file to use PowerShell to run as Admin if available, SDI version updated.
      v1.93 2017-06-18 – Offline choco package support added to  SDI_CHOCO.cmd template, \_ISO\docs\Chocbox\ChocBox.cmd for making offline choco packages, NoSpeak.tag and NoBeep.tag now detected by SDI_CHOCO, Chocolatey offline package added – version, Snappy Driver Installer ‘Origin version’ now used, QRUN.g4b changed – small change to .imgPTN so if second *. image file present it will get a partition type number of 7 if grub4dos does not give it one , Suppress suggestion prompt if *q.iso used (useful for WinBuilder ISO or other .iso files which don’t work if you use the .isodefault extension), Switch_E2B.exe v1.0.16 hidden file fix, OpenMandriva ISO sample mnu file added, New grub4dos 0.4.6a, GIFtoIMA.cmd script provided to make animations from GIf files, Make_E2B.cmd will now download bootmgr from internet and add it to E2B drive, \_ISO\docs\Make_E2B_USB_Drive\Add_Bootmgr_to_E2B_drives.cmd added, New default menu wallpaper.
      v1.93A 2017-06-20 – RMPartUSB v2.1.740 will assign a drive letter if Windows does not give the USB drive one (to fix a Windows Creator bug) – used in Make_E2B scripts when creating USB drive.
      v1.94 2017-07-21 – bugfix for TXT_Maker.exe as iftitle caused a ‘no title’ in .txt file error. Change_drive_Letter.cmd added to allow you to change 2nd partition drive letter on Removable Flash drive, Sample mnu files for linux ext3 comment added, .iso32 and .iso64 allowed in \_ISO\WINDOWS\xxxxx menu folders, latest grub4dos \grldr 2017-06-25, latest ImDisk driver, Spanish kbd now addded if Spanish language selected, Czech language (Beta) added,
      v1.95 2017-09-09 – Czech F1.cfg help added, bugfix for set NOHELPER=1 not working, XP ISO install issue of ‘Selected disk does not exist’ fix added, ‘0K low memory’ error fixed for some XP boot issues, Increase menu memory from 0x50 sectors to 0xA0 sectors for bigger menus, fix bug when using ‘set GRUB_USB=045’ in MyE2B.cfg, Greek language folder added, choose an E2B wallpaper.mnu file added (also in PimpMyDrive), 0x50 changed to 0xA0 in many Sample mnu files and language files to allow for large menus. New \grldr grub4dos 2017-08-30 (change in memory map handling – bugfix), increase size of FASTLOAD cache file for very large menus, Falcon4 sample menu file updated, Sample_MyE2B.cfg file updated, smal change to ENG English strings.txt file, BIOS beep code references added to \_ISO\docs\Download URLs folder, .isolinux file extension now boots \isolinux\isolinux.bin with ISO mapped as CD (e.g. SBCD.iso), warn user if MyE2B.cfg is invalid.
      v1.96 2017-10-20 – QRUN.g4b checks for fixed type of .VHD\.VHDX file – dynamic VHDs won’t boot, improve GIFtoIMA.cmd script to calculate size of .IMA file required, new wallpaper, new SWITCH_E2B.exe with improved file re-ordering for dual image payloads (see Method 4).  Check \_ISO\MyE2B.cfg begins with !BAT+bugfix, added disk1 sample XML unattended install files for Win7/8/10. GIFtoIMA.cmd now will add code lines to your MyE2B.cfg file (optional), if .txt file exists then don’t suggest extension unless SCROLL LOCK is on (QRUN.g4b), larger cmd shell window for UPDATE_E2B_DRIVE.cmd, bugfix for .isofira01 as used for Strelec ISOs and fix some other .fira extensions (QRUN.g4b), add linuxlite_persistence and linuxmint_persistence sample mnu files, small change to ENGlish Strings.txt (.imgPTN prompt, etc.).
      v1.96A 2017-11-16 !BAT bugfix for v1.96 – Fix $Default E2B Menu.cfg by adding !BAT to prevent initial error message after using PimpMydrive.cmd (bugfix). No !BAT string in MyE2B.cfg error message suppressed if no MyE2B.cfg file exists (bugfix).
      v1.97 2017-12-16 – Download now in self-extracting .exe RAR4 format instead of .zip format (less false-positive virus alerts!). Change to all E2B menus and language files – menu help text now does not have leading space at start of each help line. New hstart and hwidth parameters can be set in MyE2B.cfg to set the menu help text x start offset and the line width. You can now position the menu help text anywhere on the display. Make_E2B_USB_Drive.cmd now prompts user to delete or change the size of the 500MB CONTIG.ISO file. New Make_E2B.exe – the extract button now works even if no USB drive is detected and it was not run as admin. Also, it now warns that user will require WinHelper USB Flash drive for Windows Install ISOs if Fixed Disk type of USB drive is detected. Fix $Default E2B Menu.cfg by adding !BAT to prevent initial error message after using PimpMydrive.cmd (bugfix). ‘No !BAT string in MyE2B.cfg’ error message suppressed if no MyE2B.cfg file exists (bugfix). Snappy SDIO .cfg file changed to suppress GNU licence EULA on first run + updated version CENTREHD code revised for better centering of menu headings. Small bugfix to E2B_Editor.exe + it now lists both .bmp and .jpg files in open file dialog by default. New setmenu draw-box command added (see here). String command bugfix and documented on E2B site. New BoxDemo sample theme added to demonstrate new hstart, hwidth, drawbox, line and string features. Small \_ISO\Sample_MyBackground.jpg file added for use with E2B_Editor. Small changes to some .cfg sample themes. Desinfect 2017 sample .mnu file added.
      v1.97A 2017-12-23 – bugfix grub4dos \grldr for helptext colour and –string= fix, E2B_Editor.exe small bugfix for colours 6, 7 and 8. WinLite10 XML sample files updated to add amd64 section.
      v1.98 2018-03-09 (re-release)- patchme script now removes ‘If hangup , use ‘geometry –lba1sector (128)’ grub4dos startup message, variables SIZE_E2B and SIZE_HD1 can now be used in MyE2B.cfg files in HEADING and FOOTER (size of drive in GB), ‘GodMode’ folder added to \_ISO\docs\Download URLs for easy access to Windows GodMode list, DrWeb900_Persistent.mnu added, .isopersist file extension supported, support for *NCQ.iso suffix, add .isoBF to ‘ISOASK’ list, add .isoBF file extension to ‘isoask’ list, add .isopersist tip into auto-suggest,  change FreeDos+NTFS floppy image to increase amount of conventional memory from 310K to 530K and add mem.exe utility + extended memory driver for DPMI support, add DOS mouse driver to FreeDos floppy image, increase floppy disk size to 7.6MB so more files can be added by user, add TESTPLOP variable support for use with VMWare. Use Inno Setup as Self Extractor engine for less AV false positives. Bugfix for EXTOFF=1 not being set in MyE2B.cfg (suppresses file extension listed in menu). Typo bugfix (md)0x300+0x800 should be (md)0x300+200 in QRUN and menu.lst.

      v1.99 2018-06-16 – 

      • New Milky Way default E2B wallpaper. 
      • New grldr grub4dos version 2018-06-12 with beep command. 
      • grldr_046 updated to 2017-12-23 stable version. 
      • GIFtoIMA.cmd script now asks for transparency setting if .bmp chosen. 
      • Utilities – List Files menu now has option to list files in UTILITIES_MEMTEST folder. 
      • CONTIG.ISO is now not copied when using the red button in MAKE_E2B.exe GUI to make a new E2B drive. Saves 500MB of disk space on USB drive. 
      • Make_CONTIG.ISO.cmd added to \_ISO\docs\E2B Utilities folder so user can make their own CONTIG.ISO file. 
      • The .imgPTN23 extension now also makes partition active and uses LBA parameters (now same function as SWITCH_E2B.exe), and it is equivalent to .imgPTNLBAa23. This means that 99% of the time you just need to know about the two extensions .imgPTN or .imgPTN23. 
      • Non-contiguous files are flagged when enumerating files (press SPACEBAR quickly twice to pause listing). 
      • Non-contiguous .imgPTN files are flagged up in the menu (because they won’t work!). 
      • Force_Windows_Safe_Mode .cmd files added – useful to force a Windows 8/10 system to boot into Safe Mode. 
      • Updated “\_ISO\WINDOWS\INSTALLS\APPS\CHOCBOX\chocolatey-core.extension.1.3.1.nupkg” to 1.3.3. 
      • Automated bugfix added to fix menu.lst file in old .imgPTN files. 
      • UPDATE_E2B_DRIVE.cmd now repositions cmd shell window. 
      • Setting redir now suppresses the ‘System Hard Disk (hd1) not detected’ warning message. 
      • Fix in dpms2.g4b so doesn’t crash older versions of VBox . 
      • Update_E2B_Drive.cmd now has 2 second tolerance on file times (/FFT switch added). 
      • Fix bug for .imafdhdd0 file extension in QRUN.g4b. 
      • Small bugfix when payload files are enumerated to not display folder path in some cases. 
      • Bugfix for 0.4.5c detection in Utilities menu.
      • Improve POS2009 .txt instructions in Sample mnu files folder. 
      • Sample Tunes in \_ISO\docs\Tunes folder. 
      • Sample Run_ISO_With_Alarm.mnu added (sounds an alarm before running any ISO). 
      • PimpMyDrive.cmd updated to add Play Tunes menu entry. 
      • Fix for when using .isopwd is used but there is no password set. 
      • VIPRE Rescue URL added to \_ISO\docs\Download URLs folder. 
      • Desinfect_2018_with_Updates.mnu sample mnu file added. 
      • Improve Help in Make_E2B.exe
      • Add WIN10_Prompt_for_PCNAME_and_UNAME.mnu to sample mnu files.

      v1.99 2018-06-18re-release – revised update with  \grldr 2018-06-18 version which has small bugfix.v1.A0 2018-07-14 –

      • New grldr (2018-07-01) grub4dos supporting centering of menu entries and menu help text (setmenu command).
      • Small bug fix to remove extra space after menu entries in Sample .mnu files.
      • New SHORT_HL variable can be used to set the highlighted menu entry to only highlight the menu text and not the whole menu line. 
      • If FONT variable path contains “.f24” then 24-high fonts will be used. 
      • UPDATE_E2B_DRIVE.cmd now checks in case the user has renamed some of the standard E2B .mnu files (e.g. ZZSubmenuAll.mnu).
      • New E2B_Editor.exe now uses 24-bit colour values for the heading and footer colours
      • KBD_QWERTY_USA keyboard file added so can pick using E2B_Editor.
      • Three new Themes added to demonstrate centred text menus
      • STRINGS.txt files changed – no need to pad out menu headings.
      • New \_ISO\docs\Sample mnu files\E2B Menus\Adjust_E2B_Menu.mnu menu
      • Bugfixes to internal menu positioning, etc.
      • Bugfix for v1.99 – MAKE_CONTIG.cmd script is now copied across when making an E2B drive (running Update did copy it across but not Make_E2B).
      • UPDATE_E2B_DRIVE.CMD now displays latest stable E2B version and latest Beta version available (requires web access).
      • Small fixes to centre menu heading when UTF-8 characters used (e.g. Arabic, Chinese)
      • Fix to centre menu headings better when UTF-8 languages used with CENTREHD=1
      • Small changes to Check_for_Update.cmd and UPDATE_E2B_DRIVE.cmd to display E2B version numbers
      • .cmd files modified to use %WINDIR%\System32\find.exe in case Windows Path environment variable points to a different version of find.exe.
      • TimeDiskAccess.mnu added – allows user to test raw sector read speed under BIOS of all drives in system. Useful for comparing USB+BIOS driver performance.

      v1.A1 2018-09-02

      • New E2B_Editor.exe – fixes duplicate keyboard entries in dropdown list.
      • New \grldr grub4dos version.
      • \_ISO\SWITCH_E2B.exe v1.0.18 now asks for partition type for 2nd image
      • New default wallpaper.
      • \_ISO\WINDOWS\AIO folder now supported for All-in-One Windows Install ISOs (for .iso or .imgPTN files)
      • F8 in Main Menu changed so it does not reload grub4dos.
      • Server 2016 menu entry hotkey changed from ‘6’ to ‘D’.
      • Some old .hdr files removed and new MenuWinInstall.hdr added.
      • Sub-menu files \_ISO\xxxx.g4b, .bmp and .jpg are now automatically used if they are present (e.g. \_ISO\ANTIVIRUS.jpg will be automatically used when the AntiVirus menu is loaded) – see here.
      • PimpMyDrive.cmd now adds Adjust_E2B_Menu.mnu to make the Main menu tidier.
      • PatchMe script updated to suppress the grub4dos ‘A20 Debug’ message on bootup.
      • Small change to SysInfo2.hta.
      • Small changes to ZZSubMenuAll.mnu.
      • Improved language files.
      • Added ‘WARNING: Some types of AV software can cause ChocBox.cmd to run extremely slowly’ to chockbox.cmd. 
      • SUB_MENU_Maker.cmd file also added into the \_ISO folder for user convenience (same file as \_ISO\docs\E2B Utilities\E2B SUBMENU Maker.cmd).
      • .bat, .xml and .bak files are not listed in a menu if found in a menu folder.
      • .f24 and .uni.gz font files can be placed in menu folders and they will be loaded as new font when selected by user from the menu.
      • Few very minor bug fixes.
      • New Sample mnu files:
      • WIN10_Prompt_for_PCNAME_and_UNAME.mnu
      • WIN10_Prompt_for_UNAME_auto_serial_COMPNAME.mnu
      • Win10_PromptUser_for_XML_settings.mnu
      • DrWeb900_2018_Persistent.mnu sample menu file
      • Improve Adjust_E2B_Menu.mnu sample menu file – the user can change menu settings, etc. from within a single menu.

      v1.A2 2018-09-09 – bug fix for SUB_MENU_Maker.cmd adding space to .mnu file and prevents background wallpaper from being loaded for new user-made menu folders. Also special characters now should work and a UTF-8 .mnu file is written by .cmd files. Small tweaks to F1.cfg help files., add DOS menu to FreeDOS disk image.
      v1.A3 2018-09-27 – new grldr grub4dos 2018-09-19, fix QRUN.g4b for .jpg/,bmp wallpaper file extension if animation running then selecting a .bmp or .jpg file did not change wallpaper, warning added if win 7 .imgptn has bootx64.efi boot file missing, \_ISO\docs\Make_Ext\Make_Ext.exe utility added – allows you to make persistence files without RMPrepUSB, QRUN now displays contents of the \.disk\info file just before running an ISO (if it exists), SWITCH_E2B.exe re-packaged so will not trigger false-positives with AV software and sync.exe removed, comments changed in Sample .mnu files to mention Make_Ext.exe utility, FreeDOS .img file changed slightly for more memory with option 2.
      v1.A4 (bugfix for Make_Ext.exe) – 2018-10-11 – New file extension suffixes recognised (4GB=only lists file in menu if RAM>4GB, 3GB=only listed in menu if RAM <4GB). File extensions suffixes can now be in any order and not case sensitive (pwd,32,64,4GB,3GB,AUTO). File suffixes for .iso and .imgptn files in \_ISO\WINDOWS folders (except XP) also recognised. e.g. .isopwd4GB64, .imgPTN3GBAUTO. SnipStr.g4b grub4dos subroutine added which can remove a sub-string from a variable, Txt_Maker.exe now has option for 4GB RAM detection and CAPSLOCK hotkey, SWITCH_E2B.exe v1.0.20 has bugfix for sometimes E2B drive not listed, bugfix for Make_Ext.exe (v1.1.0), v1.0.0 did not correctly format the ext file.
      v1.A5 2018-10-16  (bugfix for Win7 install ISOs) – Bugfix for Win7 ISO installs (bug introduced in v1.A1 through to 1.A4), bugfix for AUTO file extension suffix not working with .imgPTNAUTO files, QRUN.g4b now displays tip to user to use .imgPTN23 if a 2nd partition is detected on the E2B drive, added support for .isoBSD file extension, now only .gz files which end in.uni.gz, .ima.gz or .img.gz are recognised, KEYB utility added to DOS floppy boot image (e.g. type KEYB FR for french keyboard under FreeDOS), bsd.imgptn now included in \_ISO\e2b\grub folder.
      v1.A6 2018-10-17  (bugfix for AUTO menu folder) – Fix for \_ISO\AUTO menu not working, .help text files now supported, Win7 Install ISO screen displays ‘USB 2.0’ reminder text.
      v1.A7 2018-12-21

      • Support for background images and multiple .help files using a .mnu file
      • HelpWithBackground.mnu file added to \_ISO\docs\Sample mnu Files\E2B Menus
      • DBAN_auto_wipe.mnu added to  \_ISO\docs\Sample mnu Files\Others
      • Win10_8_7_ISO_on_PTN2.mnu added to  \_ISO\docs\Sample mnu Files\Windows
      • .isoDPMS file extension supported for XP-based ISOs such as DaRT5\ERD ISO (will load 32-bit XP SATA\RAID\SCSI driver).
      • Robocopy Backup and Restore .cmd scripts added to \_ISO\docs\Make_E2B_USB_Drive folder.
      • Support for Vista/7/8/10 Windows ISOs placed on partition 2
      • Option to press U key to load grub4dos USB 2 driver if E2B warns you about BIOS 128GiB bug.
      • Windows Server 2019 folder added for install ISOs.
      • Few more URLs added to \_ISO\docs\Download URLs folder
      • WinContig updated
      • .help files now don’t display first three UTF-8 bytes in UTF-8 file
      • Small bugfix in Make_E2B_USB_Drive.cmd when using drive 10 and 11.
      • Small bugfix to Update_E2B_Drive.cmd for when used on an empty USB drive
      • Small fix to Add_Bootmgr_to_E2B_drives.cmd if empty floppy drive in system
      • Small changes to Make_Ext.exe, Make_MyE2B.cfg.cmd, isoboot.g4b, QAUTO.g4b, QRUN.g4b (does not warn if .help file is not contiguous)
      • Fix bug in SDI_CHOCO, %BIT% variable was not available in MyStartup.cmd or MySetupComplete.cmd
      • update WinContig.exe
      • Minor bugfixes to some .cmd scripts in case TEMP variable has spaces in path.
      • FreeDOS floppy image now does not load Norton ndos because it was causing problems when using * in commands (e.g. copy C:\*.com A:\ gave errors).

      v1.A8 2019-01-15 (can run Windows Install ISOs from USB Hard Disk using WIMBOOT)

      • Add WIMBOOT function to Windows Install menu so that Windows Install ISOs will work from an E2B USB hard disk without needing a WinHelper flash drive. If prompted, wimboot can be skipped if ENTER is pressed. 
      • QRUN.g4b now detects if an .iso file is a Windows Install ISO automatically so they can be run from any standard E2B menu folder and no WinHelper USB drive is required (1-2GB+ RAM required). 
      • MemTest86 (MBR+UEFI) .imgPTN file now added to the Utilities – Memory Test sub-menu (MemTest v8.1 Jan 2019)
      • New .isoPELD and .isoPELD1 extensions for WIMBOOT (loads ISO as drive Y:) PELD1 boots from image #1 in wim file.
      • Fix XML VM Disk1 typos (was ‘Diskid’ now ‘DiskID’). 
      • Can now add set NOREPAIR=1 into MyE2B.cfg to suppress the ‘Press any key for Windows Repair only…’ prompt for Windows 8/10/2016/2019 ISOs. 
      • ‘NOHELPER’ yellow text reminder is now displayed if the NOHELPER variable is set in the MyE2B.cfg file. 
      • Fix some language text issues in STRINGS.txt files. 
      • In case of a payload error, user can press Ctrl+F8 hotkey to completely reload E2B. Ctrl+U now used to load Utilities Menu from Memory test menu.
      • New default background. 
      • QEMU_MENU_TEST (run as admin).cmd now rescans drives on exit so if you select a .imgPTN file, Windows Explorer will show the correct contents when you quit QEMU.

      v1.A9 2019-02-11 Includes new file extension override feature.

      • New feature: can use extension override xxxxxx_.(override).iso in filename – e.g. hirens_.isowinvh.iso – override must start with _. and works for any extension. The extra text is removed from the menu entry.
      • New feature: xxxxx_.WinNTSetup.iso now causes any Windows install ISO (except XP) to run WinNTSetup automatically and supports dual x86+x64 ISOs – you can also use your own batch file to automate WinNTSetup by using the STARTUP variable in a .mnu file (blog here).
      • New feature: filename sort override prefix can be used (e.g. _aaa_Ubuntu 64-bit.iso is sorted as if it begins with aaa_ but is listed in the menu as Ubuntu 64-bit without the override characters). Can be combined with a _. extension override – e.g. _$$$aaa_Ubuntu x64_.isodef64.iso.
      • New feature: batch files added to \_ISO folder _Make_Ext.bat, _Snappy Driver Installer.bat, _Sysinfo.bat, _Download URLs – Shortcut.lnk
      • Improvement: grub4dos \grldr 2018-12-23 new version.
      • Improvement: Make_E2B.exe now has graphical buttons.
      • Improvement: E2B_Editor.exe revised to add 4 extra options for centering menu text, etc.
      • Improvement: minor changes to \menu.lst and \_ISO\e2b\grub\menu.lst for small boot speed improvements.
      • Improvement: remove countiso.g4b to speed up enumeration of Windows ISOs.
      • Improvement: .imgPTN code in QRUN.g4b now checks for grub4dos backup sector at LBA1.
      • Improvement: QRUN.g4b now detects HAIKU ISOs and suggests using the .HAIKU file extension.
      • Improvement: Windows Install ISO ‘Repair only’ prompt now changed to ‘Repair\Setup’ because pressing ENTER will now boot using WIMBOOT and so the ISO will be loaded as a virtual DVD and Setup will run without using an XML file.
      • Improvement: extension override now works for ’32’, ’64’, ‘3GB’ and ‘4GB’ suffixes so the menu entry is not listed in the E2B menu – e.g. Win10x64_.isodef64.iso – the menu entry is only listed on 64-bit systems.
      • Improvement: use –mem –top instead of –mem where the payload may be very large, e.g. Win10.vhdmem.
      • Improvement: Util_Man.exe hack now launches control panel automatically.
      • Extra: Extra Sample mnu Files\E2B Menus  .mnu files added so you can add your own F1, F7, F8, F9 and F10 .mnu files.
      • Extra: Added netrunner+persistence sample mnu file.
      • Bugfix: in QRUN.g4b for redir not suppressing all output if NOSUG is set.
      • Bugfix: fix QEMU_MENU_TEST bug when 9 or more drives in system.
      • Bugfix: TimeAccess.g4b sometimes miscalculated.
      • Bugfix: QAUTO.g4b and AUTOMN.g4b now does not use reserved memory at (md)0x230.
      • Bugfix: Menus were not always sorted alphabetically if file started with a number.

      V1.B0 2019-04-24

      • New X4 file extension suffix for partition images, .imgptnX4ffff will also add the partition image file ffff as the 4th partition.
      • File extension suffixes NCQ (non-contiguous+quiet), QUIETP (redir+redirp), QUIET (redir) added – e.g. WinBuilder_10PESE_x64_.ISONCQ.iso so that if the file is not contiguous it will boot without any ‘not-contiguous’ warning.
      • New .isoboot file extension to immediately run a linux iso using isoboot.
      • Make_E2B_USB_Drive.cmd now creates a large 2nd partition if USB drive is > 128GB (if removable USB drive, Win10 1703 or later is required to get 2nd large partition).
      • New default wallpaper.
      • WinNTSetup ALT_ISO variable support added and new \_ISO\docs\Sample mnu files\Windows\Install Windows 7 with USB 3 (WinNTSetup).mnu for installing Win7 on modern USB 3 systems.
      • New SWITCH_E2B.exe which also looks on Ptn2\_ISO for X4 file.
      • Greek language added (thanks to Jeider)
      • Bugfix in countfiles.g4b for windows ISOs with .iso324GB suffixes not being counted properly (the Windows folder had to have at least one .iso file to be shown in menu – now it will work if just one .iso32 or .iso4GB etc. file is present).
      • Bugfix – fix bug in PWD file extension suffix code in QRUN.
      • Bugfix – Add fix30.g4b batch file to fix ‘LBA30 contains code’ error after selecting a .imgPTN file.
      • Bugfix – menu not displaying correctly on some system if menu help text ‘tophelp’ is positioned above menu area.
      • Bugfix – Vista\Win7 background not changing if \_ISO\Win7.jpg\.bmp present.
      • Bugfix – AUTO\DIRECT menu heading.
      • Bugfix – if only one .XML or one .KEY file is present it will now be automatically used.
      • Bugfix – if X4 filename is > 16 characters,Fix bug if ‘3GB’, ‘4GB’, ’32’ or ’64’ found in X4 filename it could prevent file from being listed.
      • Bugfix – .imgptn32X4cccc and .imgptn64X4cccc (32 and 64 not working correctly).
      • Bugfix – some XP ISOs not booting when used for 2nd time (bootfix.bin).
      • Bugfix – improve start LBA calculation for imgpnt files.
      • Bugfix – WinPE+XP Install does not work if use WinPE10, so removed Win10/2016/2019 folder choices from menu.
      • Add new E820 variable (set E820=0 in MyE2B.cfg if get black screen when boot to XP Setup on some Dell/buggy systems).
      • Add more checks for XP install where no internal hdd exists.
      • grub4dos 0.4.5c removed (0.4.6a has been stable now for over 2 years).
      • Windows ISO files in \_ISO\WINDOWS\Vista/7/8/10/etc. will now use default.xml file automatically if it exists in the same folder as the ISO (e.g. it can be a copy of the ‘no key’ XML file).
      • .ISO and .imgPTN files under \_ISO\WINDOWS (except XP) can have _nnn_ sort prefix numbers (e.g. _100_Windowsx64.iso) if you want to change the order of the files that are listed in the menu.
      • Make_E2B.exe small tweak to tooltip+button graphics.
      • SDI_CHOCO – nircmd.exe from SDI_CHOCO folder is now a self-extracting, password-protected zip file which you must extract before using SDI_CHOCO to prevent false AV positives.
      • Latest version of grub4dos.
      • isoboot.g4b updated to work with latest v0.33 gparted ISOs.
      • If name ends in Q or NCQ then don’t show these letters in the menu if EXTOFF is set.
      • Add UUID and Volume label to the help text lines under menu if ISO file highlighted in menu.
      • PORTU_BRAZIL language improved.
      • Add SWITCHPE.mnu file to sample mnu files folder.
      • Add error check if bad command in MyE2B.cfg file + change blank $Default E2B Menu.cfg
      • Change to patch code for BOOTFIX.BIN file in Windows ISOs to prevent prompt to ‘Press a key to boot from CD\DVD’.

      v1.B0A – bugfix MyE2B may report error, allow E2B to have 3 partitions and use .imgptn+. dual image files, new drive icon in Explorer (thanks to Kapt).
      v1.B1 2019-05-21– bugfix for nircmd error in SDI_CHOCO, Hungarian language added (thank to Knyght), If Windows Install ISO filename contains string ‘WimBoot’ (not case sensitive) then E2B will not use WIMBOOT to boot the ISO (you must use a Removable USB drive or use a WinHelper Flash drive) – e.g. Win10 Home and Pro x64 1809 Oct English International (NoWimboot).iso, new grub4dos, add “(x present)” for number of XP ISOs present, E2B_Editor now recognises %day% %month% %year% %SIZE_E2B% and %SIZE_HD1% variables in the HEADER and FOOTER. ‘Easy2Boot’ banner is now displayed on boot to advertise eBooks, Vietnamese and Swedish kbd files added, add Change Keyboard Map .mnu file, add KBD_LATIN_USA.g4b keyboard map file
      v1.B2 2019-06-16 (NOTE: bug in XP Step 1 – fixed in latest 1.B3) – Improve VOL and UUID display below menu area, add improved Czech language files (thanks to Pepa) and new Czech kbd files, add Turkish language and kbd (thanks to Tayfun), bugfix for switching to .imgPTN after ptn2/ptn1 switched over using RMPrepUSB-Ctrl-O-2, improve E2B_Editor for MyCSM.cfg editing (will add language and kbd from a .imgPTN USB drive), improve change kbd and change wallpaper menus, change QEMU to use standard VGA graphics ROM instead of cirrus logic graphics ROM, tweaks to \_ISO\e2b\grub\menu.lst, Slovenian beta language files added and Make_E2B.exe updated (thanks to Peter K), bugfix grub4dos hangs when booting some Acronis ISOs, bugfix grub4dos blue\black color setting causes green background, new feature: %MEMSIZE% and %BITNESS% can now be used in HEADING and HELPTEXT or anywhere inside MyE2B.cfg (e.g. 2028 64), using color blue/black or light-blue/black now works correctly. Bugfix in countfiles.g4b – if user had deleted Windows subfolders it aborted.
      v1.B3 2019-07-10 – new grub4dos with minor bugfix, small change to menu.lst, small enhancements to checkdate.g4b batch file, bugfix Choose_lang.g4b was not changing LANG variable and so language was not changed when using ‘Change Language’ menu, eset-sysrescue sample mnu files updated, proxmox sample mnu file added, Sample_MyE2B.cfg updated, improve ‘List Disks’ in Utilities menu to show partition UUIDs, improve Turkish Help menu (thanks to dnecro), tweak WIMBOOT batch files to use X:\Setup.exe rather than DVD:\Setup.exe which doesn’t always work (e.g. on Small Business Server ISOs), bugfix for XP Step 1 ‘File ntkrnlmp.exe could not be loaded – The error code is 14’ error!
      v1.B4 2019-07-21 – bugfix for ’32’, ’64’, ‘4GB’ and ‘3GB’ overrides not working. Add/tweak some persistence .mnu files (incl. kali 2019), add new file extension .isopersistdebian for Kali and other Debian-based LiveCD ISOs which support persistence.
      v1.B5 2019-08-24 – 

      • Allow file extension suffixes on .wim and .vhd files – e.g. boot.wim64, Windows 7 Ultimate.vhd64pwd.
      • Spaces in .vhd and .wim filenames are now allowed.
      • Bugfix – fix ‘force’ing of file extension from menu – allows ‘QRUN.g4b force.iso xxxxx._yyyy.iso’ to override the yyyy file extension override. 
      • Bugfix – animation sometimes not shown on submenus.
      • New E2B_Editor.exe now displays opaque STAMPs (1-10) when a .cfg file with STAMPs is loaded (transparent stamp background is not supported).
      • New default wallpaper background.
      • New feature – display date & time anywhere on menu (updates each second)  – see here.
      • Add a $$TrueHidePtn2.mnu sample menu file
      • Add Display_Disk_Partitions.mnu to Sample mnu Files\E2B to display MBR partition table of disks in system.
      • Add Display_DateAndTime.mnu Sample mnu file
      • Add latest grub4dos with enhanced setmenu command. 

      v1.B6 2019-09-30

      • Bugfix – Easy2Boot download self-extracting exe no longer adds the Make_E2B.exe program into the Windows Start Menu
      • Bugfix – SWITCH_E2B.exe v1.1.25 – if C: drive compressed/encrypted will still work after warning
      • Improve SIZE_E2B and SIZE_HD1 values to nearest GiB instead of nearest 4GiB.
      • Licence readme files added for 3rd-party s/w – see \_ISO\docs\Licenses
      • E2B now checks for 2019-08-09 version of grub4dos 0.4.6a or later
      • MyPwd.g4b added to Sample mnu Files\E2B folder to show example of how to prompt for a master password and have different wallpapers when asking for password
      • Latest grub4dos (allows animation to play during user input, adds grub4dos ‘setmenu –keyhelp-on and –keyhelp-off commands)
      • KBD_DVORAK_USA.g4b keyboard translation file added (thanks to Alex R).
      • Latest version of RMPartUSB.exe
      • menu.lst changed to fix first frame of animation graphics being displayed just before Main menu (due to new grub4dos)
      • ArchiveOS link added to \_ISO\docs\Download URLs folder.
      • Change to \_ISO\e2b\grub\bsd.imgptn to fix bug of not booting if located past 2GB on drive (thanks to James for reporting and extensive testing!)
      • .isogrub file extension now directly loads \menu.lst if it exists (for all-in-one Acronis ISOs, etc.).

      v1.B7 2019-11-04

      • Support .isomemgrub file extension
      • Fix bug for .vhdmem file extension
      • SWITCH_E2B v1.1.29 (bugfix for ‘error 52’ issue)
      • Display date&time function now in new grub4dos
      • grub4dos help menu entries added to the Adjust_E2B_Menu2.mnu file (also included in PimpMyDrive.cmd)
      • Latest grub4dos 0.4.6a 20191028 for small bugfix and time+date update new function
      • “\_ISO\docs\Make_E2B_USB_Drive\Make_E2B_Choose_Size_of_Ptn1 (run as admin).cmd” added if you want to make a USB drive with smaller size Ptn 1.

      v1.B8 2019-12-31 – Improve E2B scripts to allow user to define more grub4dos environment variables in MyE2B.cfg (grub4dos max is 60), Add .vhdx file extension (was removed in last few versions), update Memtest86 UEFI free version to v8.3, add Tails_generic_for_USB_HDD.mnu for generic menu for booting Tails ISOs from USB HDD. New default background. Latest grub4dos.
      v1.B8A 2020-02-07 – ignore .grubfm files and .cfg files which are not grub4dos batch files (in case added for for a1ive grub2 file manager), bugfix for Windows ISOs + XML files, bugfix for firadisk/strelec ISO booting, bugfix in NTBOOT for .wim booting when using grub2 File Manager, Simplified Chinese STRINGS.txt updated, Make_E2B.exe utility now has a Drive Info button, RMPartUSB.exe updated, latest grub4dos \grldr file which has a bugifx in grub4dos for password prompt at top of screen if time&date used.

      v2.00 2020-03-24 E2B+agFM support for UEFI-booting

      • Make_E2B.exe and Make_E2B_USB_drive.cmd – downloads agFM if 2nd FAT32 partition is made. Allow user to define sizes in GB of ptns1, 2 and 3. Second partition will be FAT32 if < 32GB if AUTO install using Make_E2B.exe. if drive >128GB it always prompts user for partition 1, 2 and 3 sizes and type.
      • New default wallpaper.
      • .isoPE extension now updates the WinBuilder .ini files (e.g. for Gandalf ISOs) – use .isoPE extension if you get a yellow warning triangle on desktop.
      • \_ISO\docs\Wincontig folder can now be copied to any volume\folder
      • Update SDI_CHOCO scripts and add chocolatey.nupkg for offline install of chocolatey.
      • Add support for windows ISOs on ptn3 in qrun.g4b so can have Windows Install ISOs on ptn3 or ptn2 or ptn1 and use a .mnu file, add $$Install_Win10_from_Ptn2or3.mnu sample mnu file
      • Switch_E2B.exe now looks for auxiliary *. files on other volumes at \(path), then \_ISO, then \ – e.g. ptn1:\_ISO\WINDOWS\WIN10\Win10.imgptn23 and ptn3:\_ISO\WINDOWS\WIN10\Win10.
      • Bugfix – Latest grldr with bugfix for non-contiguous files
      • Bugfix – Fix EXTOFF not working in MyE2B.cfg

      v2.00A 2020-03-24 – Bugfix for Italian Windows due to Italian Diskpart displaying Kb not KB, this fixes Parition 2 not found error in MAKE_E2B_USB_DRIVE.cmd on Italian Windows OS’s.
      v2.01 2020-04-06 add .isowin to support booting Windows ISOs., Make_E2B fix for French Windows, GiB instead of GB used for partition size entry
      v2.02 2020-04-18 Latest WinContig.exe, Add .isoagfm extension (same as .isodef), Update new ChocBox.cmd and ChocolateStore.exe (now requires .Net 4.8), Bugfix in Make USB cmd – if  user specifies 32GB FAT32 then it failed to format it.
      v2.03 2020-05-14 

      • New Features
      • New X4 file extension suffix for partition images, .imgptnX4ffff will also add the partition image file ffff as the 4th partition.
      • File extension suffixes NCQ (non-contiguous+quiet), QUIETP (redir+redirp), QUIET (redir) added – e.g. WinBuilder_10PESE_x64.ISONCQ.iso so that if the file is not contiguous it will boot without any ‘not-contiguous’ warning.
      • New .isoboot file extension to immediately run a linux iso using isoboot.
      • Make_E2B_USB_Drive.cmd now creates a large 2nd partition if USB drive is > 128GB (if removable USB drive, Win10 1703 or later is required to get 2nd large partition).
      • New default wallpaper.
      • WinNTSetup ALT_ISO variable support added and new \_ISO\docs\Sample mnu files\Windows\Install Windows 7 with USB 3 (WinNTSetup).mnu for installing Win7 on modern USB 3 systems.
      • New SWITCH_E2B.exe which also looks on Ptn2\_ISO for X4 file.
      • Greek language added (thanks to Jeider)
      • Bug Fixes
      • Bugfix in countfiles.g4b for windows ISOs with .iso324GB suffixes not being counted properly (the Windows folder had to have at least one .iso file to be shown in menu – now it will work if just one .iso32 or .iso4GB etc. file is present).
      • Bugfix – fix bug in PWD file extension suffix code in QRUN.
      • Bugfix – Add fix30.g4b batch file to fix ‘LBA30 contains code’ error after selecting a .imgPTN file.
      • Bugfix – menu not displaying correctly on some system if menu help text ‘tophelp’ is positioned above menu area.
      • Bugfix – Vista\Win7 background not changing if \_ISO\Win7.jpg\.bmp present.
      • Bugfix – AUTO\DIRECT menu heading.
      • Bugfix – if only one .XML or one .KEY file is present it will now be automatically used.
      • Bugfix – if X4 filename is > 16 characters,Fix bug if ‘3GB’, ‘4GB’, ’32’ or ’64’ found in X4 filename it could prevent file from being listed.
      • Bugfix – .imgptn32X4cccc and .imgptn64X4cccc (32 and 64 not working correctly).
      • Bugfix – some XP ISOs not booting when used for 2nd time (bootfix.bin).
      • Bugfix – improve start LBA calculation for imgpnt files.
      • Bugfix – WinPE+XP Install does not work if use WinPE10, so removed Win10/2016/2019 folder choices from menu.
      • Improvements\tweaks
      • Add new E820 variable (set E820=0 in MyE2B.cfg if get black screen when boot to XP Setup on some Dell/buggy systems).
      • Add more checks for XP install where no internal hdd exists.
      • grub4dos 0.4.5c removed (0.4.6a has been stable now for over 2 years).
      • Windows ISO files in \_ISO\WINDOWS\Vista/7/8/10/etc. will now use default.xml file automatically if it exists in the same folder as the ISO (e.g. it can be a copy of the ‘no key’ XML file).
      • .ISO and .imgPTN files under \_ISO\WINDOWS (except XP) can have _nnn_ sort prefix numbers (e.g. _100_Windowsx64.iso) if you want to change the order of the files that are listed in the menu.
      • Make_E2B.exe small tweak to tooltip+button graphics.
      • SDI_CHOCO – nircmd.exe from SDI_CHOCO folder is now a self-extracting, password-protected zip file which you must extract before using SDI_CHOCO to prevent false AV positives.
      • Latest version of grub4dos.
      • isoboot.g4b updated to work with latest v0.33 gparted ISOs.
      • If name ends in Q or NCQ then don’t show these letters in the menu if EXTOFF is set.
      • Add UUID and Volume label to the help text lines under menu if ISO file highlighted in menu.
      • PORTU_BRAZIL language improved.
      • Add SWITCHPE.mnu file to sample mnu files folder.
      • Add error check if bad command in MyE2B.cfg file + change blank $Default E2B Menu.cfg
      • Change to patch code for BOOTFIX.BIN file in Windows ISOs to prevent prompt to ‘Press a key to boot from CD\DVD’.
      • Latest WinContig.exeAdd .isoagfm extension (same as .isodef)Update new ChocBox.cmd and ChocolateStore.exe (now requires .Net 4.8)
      • Bugfix in Make USB cmd – if  user specifies 32GB FAT32 then it failed to format it. 
      • a1ive grub2 File Manager.mnu and Enable or Disable UEFI Booting.mnu added to \_ISO\MAINMENU folder.
      • The three letters ‘MBR’ will be ignored if present anywhere in any file extension. This can be used to prevent agFM from listed these files. Useful if the files do not support UEFI-booting and only boot via the E2B menu system.
      • New version SWITCH_E2B.exe to fix small bug which affected the appearance only (not function). 
      • New default background
      • Internet ping test changed in MAKE_E2B_USB_DRIVE.cmd script in case ipv4 blocked. 
      • agFM Sample Mnu files folder added with examples files, 
      • WinContig files updated
      • Keyboard scan code files updated
      • KeyCheck.g4b test script added (type KeyCheck from grub4dos console and press down keys to get BIOS key status codes (e.g. NUM LOCK, CAPS LOCK, CTRL, etc.)
      • XP Step 1 now warns user if not enough memory to load XP ISO file into RAM
      • Example commented code added to SDI_CHOCO.cmd for detecting UEFI or MBR boot

      2.04 2020-06-02 – Update_E2B_Drive.cmd will now also upate agFM (if present). Danish language support added., add direct wim boot support for Strelec (use .isowin file extension). Add Danish keyboard file. small tweaks to be compatible with agFM v1.51. bugfix for ‘imdisk’ error when booting to Windows ISOs and using agFM v1.50 or later, support .isoventoy file extension (same function as .isodef).
      2.05 2020-09-09 – change sort code so E2B menu system can now work on 64MB systems. Bugfix in Make_E2B.exe for Chinese language not working, enhancement  – alphabetically sort files in LstFExt.g4b – so now XP ISO files are sorted alphabetically. Add_Ventoy.cmd added, Windows Install menu will display ‘HDD1=GPT’ if it detects that the first internal hard disk has GPT partitions.
      2.06 2020-11-09 – wget.exe version updated, Update Add_Ventoy.cmd, MAKE_E2B_USB_DRIVE.cmd, UPDATE_E2B_DRIVE.cmd (if more than one E2B drive is connected, the agFM files could be added to the wrong drive partition 2). Change download URLs. Update UtilMan password .cmd files to also change magnify.exe and use new account name of ADMIN9. Update Add_Ventoy.cmd to warn if core.img not present. Update memtest86 .imgptn23 to v8.4 Add GetKeyCode.mnu sample menu (for finding key codes to use in Guest menu .mnu files). SDI_CHOCO .cmd files updated (fix  BIT64 case-sensitivity). New ‘candle’ default background
      2.06A 2020-11-12 – bugfix in MAKE_E2B_USB_DRIVE.cmd (bad URL when fetching LatestVersion.txt file from E2B server) – may have caused a 3 second delay
      2.07 2021-01-11 – E2B Launcher.exe v0.5 Windows utility added. .ventoyignore files added to \_ISO\docs and \_ISO\e2b folders to speed up file enumeration under Ventoy menu system.
      2.08 2021-02-20 – add \_ISO\MAINMENU\DisableKasperskyShim.mnu, BUGFIX in Make_E2B_USB_Drive.cmd drive creation script due to XP Home not having tasklist.exe, BUGFIX for Win7 Repair option (did not swap hd0 with hd1), did not wait 3 secs on wimboot prompt on Dell PC – thanks to Jose C for reporting the issue, improve Trad Chinese language file, E2B now ignores .lua files, Test_file_access_speed.lua added to UTILITIES folder for agFM menu system (test file access speeds under agFM).
      2.09 2021-06-20 – New default background, Changes to UPDATE_E2B_DRIVE.cmd, E2B Launcher.exe, SWITCH_E2B.exe, SUB_MENU_Maker.cmd, E2B SUBMENU Maker.cmd, StartupCheck.cmd, Add_Ventoy.cmd, CheckForUpdate.cmd, Download and update agFM_V2.cmd, MAKE_E2B_USB_DRIVE.cmd, Sample mnu files added: PTN3_IMGPTNREP3_MENU.mnu, PTN3_MNU.mnu, PTN2_AUTO.mnu, PTN3_AUTO.mnu. PTN_LOG1_AUTO.mnu, Parrot_4.11.2_Persistent.mnu, REP3.g4b and RestoreMBR.g4b added, wimboot updated (bugfix for bootmgr), DLC and Strelec now always swaps hd0 with hd1 before boot, bugfix for .isopup extension, Fix Win7 install not swapping hd0-hd1, Add .imgPTNREP3 support, Support for xxx_ file prefix, .isodd no longer supported – use .isodef, SDI_CHOCO.cmd improved for Win8 installs (fix access denied error with some versions of Win8 fixed), PassMark Memtest86 .imgPTN23 updated to latest version 9.1 Free, fix .isopup extension bug, fix E2B Mainmenu ‘Disable UEFI Secure Boot’ menu entry being visible when no EFI files are present, wimboot bootmgr bugfix – new version 2.7.3. WinPE Legacy booting from ISOs fixed/improved (e.g. Atlas-OS.iso now boots), fix SDI_CHOCO.cmd issue for Win 8 installs where setupcomplete.cmd not copied to C:\WINDOWS\SETUP\SCRIPTS folder, file sort order prefix xxx_ can now be used where xxx are any three characters (e.g. a00-z99) followed by the fourth character which must be an underscore, add BIOS RAM map menu entry to Memtest menu.
      2.10 2021-10-11 – Bugfix for Strelec iso and DLC iso not booting to Windows (bcd file was missing), Bugfix  in /UPDATE_E2B_DRIVE.CMD which did not update agFM and Ventoy, Bugfix  in SWITCH_E2B.exe – fix not recursing directories below /_ISO/xxxx and ‘Only search /_ISO folder’ unticked not working. Also fix not always seeing USB drives if they have a high drive number (e.g. system has 4 drives but USB drive number is numbered 5 or higher). Bugfix for Make_E2B_USB_Drive.cmd for case where user has used a low network drive letter (e.g. E:) and 2nd ptn is assigned with same drive letter by Windows! Speed up counting of Windows payloads when loading E2B Main Menu.Bitdefender 2017 Sample .mnu files added. WIN11 folder added plus added Win11 XML files and TPM fix ReadMe txt file. PassPass updated for recent Win10 versions. New default ‘Winter’ wallpaper. Change E2BPlate.bmp to show and change format to jpeg. Change E2B website URL in F1 help files and other files ( >

      • 2.11 2021-12-19
      • Bugfix – all file extension overrides xxxxxx_.isodef.iso not working in 2.10
      • Add ReloadVentoy.mnu menu for when adding E2B to a Ventoy USB drive (and _ISO\docs\Sample mnu files\Ventoy\ventoy_grub.cfg file sample file for \ventoy folder)
      • Update Launcher.exe, latest RMPartUSB.exe
      • Update language strings
      • Update .cmd files to use windows find.exe in all places

      Beta Version History

    • MPI Tool Kit

      MPI Tool Kit

      The MPI Tool Kit allows you to convert a payload file or folder to a Partition Image file (using a Windows system).


      Tip: If you want the second partition on the E2B USB drive to remain accessible, use a file extension of .imgPTN23 to keep partitions 2 and 3 (if they exist). 

      Note: Easy2Boot v2 supports direct UEFI-booting of ISO, EFI, WIM, VHD files using the agFM grub2 menu system. .imgPTN files are only required if you have problems with payloads which won’t boot directly using agFM or Ventoy. .imgPTN files are particularly useful for multi-boot ISO conversion or when Secure Boot is needed. 

      MakePartImage includes support for English, German, Czech and Hungarian menu option (other languages can be added by user), extracts EFI boot files, includes syslinux v6.03, rEFInd (not secure) can be added as option. 

      Split_WinISO.exe is included for splitting large .wim or .esd files which may be inside a Windows Install ISO.  A new ISO can be made or it can be converted directly into a .imgPTN file.

      Note: Folder and file names must not contain the characters ! or $ or ( or ). 


      1. Download the MPI Tool Pack .zip file and extract the contents to a new folder on your Desktop
      2. Run ImDisk\imdiskinst.exe
      3. Run the CreateDesktopShortcuts.cmd to create the Desktop Shortcuts
      4. Drag-and-drop your ISOs onto the MPI_FAT32 Desktop Shortcut (for UEFI-bootable images)

      The MakePartImage.cmd Windows batch file in the MPI Tool Kit converts a bootable payload file (or USB drive partition) into a partition image (.imgPTN) file which can then be added to your E2B USB drive. 

      • This Windows MPI Tool Kit is required if you want to convert an ISO/payload for UEFI-booting (Windows, Linux, KonBoot, MemTest86, etc.) and for ‘special’ ISOs such as Windows All-in-One ISOs, Hirens ISOs, Falcon F4, Strelec, etc.
      • For UEFI-booting, convert the ISO using the MPI_FAT32 Desktop shortcut. Note: adding rEFInd+WinPE requires you to run MPI on a Win8/10 system.
      • If you are using a USB Hard drive, you can convert Windows Install ISOs to .imgPTN files and they will MBR- and UEFI-boot and no ‘Helper’ USB Flash drive is required.
      • Use SWITCH_E2B.exe to quickly ‘switch-in’ any .imgPTN file or ‘switch-back’ to E2B Menu mode using a Windows host system – no need to boot to the E2B menu first (E2B v1.73+ and MPI v0.055+)!

      IMPORTANT! If you are updating MPI , you should re-install ImDisk because new versions use a Windows 10-compatible version of ImDisk – see below.See MPI Tool Pack Version History for changes. 

      Alternate download sources (check here for latest\Beta version)

      To Update the MPI Tool Pack to a later version

      1. Download the MPI Tool Pack and extract the contents to a new folder on your Desktop
      2. Run ImDisk\imdiskinst.exe (newer versions will work on Windows 10)
      3. Run the CreateDesktopShortcuts.cmd
      4. If you added your own files into the CUSTOM folder of the previous version, you should copy the contents of the old CUSTOM folder to the new MPI Tool Packs CUSTOM folder. If you have a menu.lst file in your CUSTOM folder, please compare it with the menu.lst file in the csm folder to look for any changes. If there is a CUSTOM_PE folder, update the contents with the previous version.

      MakePartImage.cmd (MPI) user prompts

      Some of these questions may not appear, it depends on what command line parameters you have used and what source you specify. Default answers are indicated in square brackets by MakePartImage, usually you just need to press [Enter] to use the default answer. If you drag-and-drop into a Desktop shortcut, some questions may be omitted.

      1. Add multi-UEFI support ([1]/2/N/R) – adds the rEFInd UEFI boot manager GUI (non-secure) – default is No. Timeout in 30 seconds.
      2. Source ISO or Folder – specify either a path to an ISO file (or zip/7z file) (e.g. C:\fred\debian.iso) OR a USB drive that you want to ‘clone’ (e.g. G:\) or a folder that contains a copy of the source files (e.g. C:\temp\ExtractedWin8\). Note that the path should always end in a backslash. Remember, you can type TAB  on the command line during typing, to make Windows complete the path or filename for you.
      3. Use FAT32 for the new image (N=NTFS) (A/[Y]/N) :  – Type either FAT32 or NTFS or hit enter for the default which is indicated by the [square brackets] (Y=FAT32 is the default). If you are using a Windows ISO which has a file >4GB inside it, you must choose NTFS (but it won’t UEFI boot) or split the install.wim into smaller files – see here for details.
      4. Size for Image file (MB), min=38 – e.g. [1073] : – Enter the size that will be required for the partition image. Hit [Enter] for the suggested size (which is usually a tad generous). If the process fails due to insufficient space, run MPI again and increase the size.
      5. OUTPUT FILENAME for new Image (e.g. C:\temp\xxx.imgPTN) : – A DEFAULT path and name may be suggested – if so, just hit [Enter], otherwise type a valid path and filename. If the path contains spaces, enclose the whole path in double-quotes. Usually E2B will require a .imgPTN or .imgPTN23 file extension.
      6. VOLUME NAME for partition [LIVE] : – MPI will use ‘LIVE’ as the default volume name OR if using a USB drive as the source, it will use the same Volume Name as the source USB drive. If the image is made from an XBOOT drive, use the Volume Name of XBOOT. Max = 11. Avoid using spaces. If the source is a folder, you will be prompted for a Volume name.
      7. EI.CFG – if a Windows install payload is detected, you may be asked if you want to delete or make an EI.cfg file. This can enable more choices as often Windows Install ISOs contain multiple versions. If you are unsure what to answer – just press [Enter].
        Windows 8/10 ISOs usually do not contain an EI.CFG file – if you add one it will allow you to pick any version contained inside the ISO. It will also avoid you having to enter a Product Key and also allow you to use ‘split wim’ files (.swm files).
        If your source is a Windows 7 ISO, it usually contains an EI.CFG file – by using a modified EI.CFG file, you will be able to choose any version inside the ISO.
      8. Which version of Syslinux shall I use (37,38,[4],5,6,N=None) : – Normally it is safe to use the suggested version. Some versions of linux may require Version 6 (tip: if you see a ‘COM32R’ error when booting from the CSM menu, then try ‘6’ instead).
      9. Press a key to dismount – At this point you can inspect and change the contents of the ImDisk RAM drive volume (usually U:). Once you press a key, the volume will be dismounted and all contents saved to the image file.
      10. MENU.LST FOUND – OK  to combine them ([Y]/R/N) : – If a menu.lst file is found, it indicates that the source payload is grub4dos bootable. As MPI installs it’s own menu.lst file there is a problem! Normally the safest thing to do is combine the two menus, however you may find that some of the menu entries are redundant or don’t work. If the main CSM ‘Boot from this drive’ entry works, then re-make the .imgPTN file and answer R for Replace. You are strongly advised to NOT answer N because unless you use the MPI CSM menu.lst, you will not be able to easily restore the E2B drive partitions after switching to the .imgPTN partition (but see the RestoreE2B utility below). Unless the menu contains the correct commands, E2B will refuse to run the .imgPTN file.
      11. Title of the CSM menu : – If you did not use an ISO file as the source, then we need to know what the payload actually is, so we can display the name at the top of the CSM menu. You can edit this heading in the menu.lst file once the image is made.
      12. INFORMATION: xxx occurs in the .YYY files – AUTO-CORRECT these? ([Y]/N) : – If syslinux, grub, EFI config files or isolinux files have been detected (.cfg, .lst or .conf) then MPI can attempt to do ‘fixups’ on these so that it matches the Volume Label of the partition and the UUID of the partition, as well as change the parameters for USB booting rather than CDROM booting. Normally, just hit [Enter] to change all these automatically. For a Hirens ISO, you may need to answer No to ensure any linux files still boot.
        Tip: To see what it finds and what it changes them to, type set NOISY=1 at the command console before you run MPI.
      13. WARNING: Cannot dismount volume U: – This is quite common/normal on some systems if you have Explorer windows open, hit [Enter] and another attempt will be made to dismount the ramdrive.
      14. A Windows Explorer window will open if the image file was made successfully. If there was a problem the console background will change to a red colour and the ImDisk Manager Control Panel application may appear so that you can ‘Remove’ any ramdisk drive that is ‘stuck’.
    • MPI Version History

      The MakePartImage (MPI) Tool Pack runs on Windows systems only.It is used to create Partition Images from bootable ISO files, ZIP files, folders or drive partitions.

      Once you have made the image file, just copy it to your E2B USB drive. 

      • :: 0.002 2014-04-13 First version
      • :: 0.004 – bugfix for some isolinux ISOs like dsl which have no vesamenu.c32 file.
      • :: 0.005 – change menu.lst options, asks for volume label
      • :: 0.006 – add autorun.inf to show ISO name
      • :: 0.007 – payload file name inserted into CSM menu
      • :: 0.008/9 – using winrar
      • :: 0.010 – using 7zip first and then winrar if not successful (user must add winrar)
      • :: 0.011 – uses installed winRar or PowerISO, copies CUSTOM folder
      • :: 0.012 – more linux fixups added. QUIET option added for fixups.  BUG!
      • :: 0.013 – bugfix! Fixups not done in QUIET mode in 0.012!
      • :: 0.014 – fix issue if iso had a space in filename
      • :: 0.015 – support YUMI images, get vol name changed, path parsing improved
      • :: 0.016 – sizing of folder fixed, menu.lst custom tweaked.
      • :: 0.017 – use fsutil for volume label and fix echo bug in 0.016
      • :: 0.018 – improve menu.lst, tidy up code, bugfix for dsl and others which use \boot\isolinux folder
      • :: 0.019 – Add size of custom folder to image size calculation, bugfix if xcopy fails when copying CUSTOM files, syslinux 6 added, now updates chain.c32 if present
      • :: 0.020 – install of syslinux fixed for syslinux v5 and 6 – needs linux / in path! extra .c32 files added
      • :: 0.021 – menu.lst now shows EFI boot files under menu
      • :: 0.022 – new aurora background, E2B can be on hd0,1 or hd0,0
      • :: 0.023 – reduce amount of wasted free space, free space shown, check for zip/7z file and adjust size, AUTORUN switch added
      • :: 0.025 – getsparevol bugfix – if U: was in use (e.g. empty CDROM) it caused a problem! clear screen, improve filespec input (can use J: or j:\ or filespec with or without quotes)
      • :: 0.026 – PAYLOAD variable modified so PAYLOAD= does not appear in menu if left unmodified, increase image size for larger payloads – e.g. 2GB Windows install ISOs.
      • :: 0.027 – Imdisk images set to 255×63 geometry
      • :: 0.028 – bugfix for small source files (default .imgPTN name was not suggested)
      • :: 0.029 – changed syslinux for \system and \system\isolinux, set cmd console window size, 0.029a folder path need not end in \ now
      • :: 0.030 – Clover UEFI boot support added to menu.lst
      • :: 0.031 – Clover Lite added, auto-shortcut cmd file added to generate Desktop shortcuts (use set NOCLOVER=1 to not add clover to images)
      • :: 0.032 – 64-bit Clover files added – it is no longer necessary to add the separate Clover Pack 
      • :: 0.033 – Clover \EFI\CLOVER\config.plist file changed to support Asus Haswell-based systems, for older Asus systems, rename config.plist.Asus to config.plist

      :: 0.034 – Support for converting HP utility ISOs (using syslinux 4)
      :: 0.035 – bugfix for syslinux entry in CSM menu always appearing on very first boot, add menu entry for special case of NTFS+FAT32 so can boot NTFS Windows Setup via Clover.
      :: 0.035a – Restore E2B (run as admin).cmd changed so can right-click and run as admin from Explorer (instead of using a command console window). Latest version of ImDiskInst installer.
      :: 0.036 – Modified to cope with weird characters in path and file names
      :: 0.036a MakeDesktopShortcut.cmd file changed to fix possible bug if running as Admin.
      :: 0.037 – fix for weird & > () characters in pathnames by using ! instead of % in cmd file – RMPartUSB.exe included in e2b folder for restoring E2B partition using ‘RestoreE2B.cmd’ file. Fix for path problems when source is a folder (thanks Stephan!). 37a – small change to RestoreE2B\CSM to use CACLS instead of NET so works under WinPE. 37b – clover plist.config changed to reduce number of icons in GUI. 37c – increase size of 3gb and 4gb images. 37d – minor bugfix to RestoreE2B and RestoreCSM.
      :: 0.038 – no change to MakePartImage.cmd – RestoreCSM tweaked so will restore LBA31 instead of needing to have run RestoreMBR first.
      :: 0.039 – LREPLACE.cmd modified to remove  findiso (used in grub .conf files)
      :: 0.040 – increase default NTFS image size slightly, fix bug in WMIC /Format:csv to display remiaing free space (only works for en-US systems!)
      :: 0.041 – small changes thanks to feedback, suggestions from Vlad. Typo fix for CUST_SIZE-CLOVER_SIZE, double-check for spare drive letter using Net Use, use df.exe for free space report instead if wmic
      :: 0.042 – fix if using CD volume letter as source (thanks Stephan!)
      :: 0.043 – add extra Acronis True Image 2014 menu for Premium version
      :: 0.044 – add support for FreeBSD memstick images on (hd0,2) partition. v. 0.044a prompts for size if using MPI_FAT32 or MPI_NTFS shortcuts
      :: 0.045 – CSM menu.lst now swaps hd0 and hd1 if Windows Setup files detected. Can now install to virtual HDD using VM. 0.045a has Boot to Internal HDD option added back.
      :: 0.046 – 2015-03-24 LREPLACE.cmd changed to replace by-label parameter in .cfg files with volume label (e.g. eset rescue iso). Small change to CSM menu.lst spacingZZZ
      :: 0.047 – 2015-04-13 – menu.lst changes – freeldr.sys boot fix, add Easy Recovery EasyRE support to boot via kernel /bootmgr
      :: 0.048 – 2015-04-16 – menu.lst changes, headings centred, hotkey support + first-letter hotkey, new grub4dos 0.4.6a
      :: 0.050 – 2015-06-17 – menu.lst  NTFS+FAT32 clover menu tweaked.
      :: 0.051 – 2015-07-19 Clover 32-bit support added
      :: 0.052 – 2015-08-20 Support for grub2 on hd0,2  3rd partition
      :: 0.053 – 2015-08-20 Added backup \e2b\MBR.BIN in case MBR backups sectors at LBA30 and LBA60 are destroyed (e.g. by installing grub2).
      :: 0.054 – 2015-08-21 fix LREPLACE.cmd so does not modify binary files (fixes problem with bitdefender and other grub2 based payloads)
      :: 0.055 – 2015-10-23 Add SWITCH_E2B.exe. New Imdiskinst.exe version
      :: 0.056 – 2015-11-18 Win10 Threshold 2 (Win10 update) compatible ImDisk – please re-install ImdiskInst.exe to make Imdisk work on Win10Threshold 2 systems.
      :: 0.057 – 2015-12-06 Updated with Switch_E2B v1.0.4, extra syslinux boot option added.
      :: 0.058 – 2015-12-13 Updated with Switch_E2B.exe  v1.0.5 (later updated to v1.0.6)
      :: 0.059 – 2016-01-17 New SWITCH_E2B v1.0.7. BUG: If you have problems booting to CSM menu after using Switch_E2B, change to 0.0.60 for new Switch_e2B.exe
      :: 0.060 – 2016-01-19 – New SWITCH_E2B v.1.8 – if .imgPTN or .imgPTNAUTO and no 2nd image (with no extension) then  2nd partition type 21h is kept if present. 
      :: 0.061 – 2016-02-04 – bugfix – LREPLACE.cmd gave errors and did not run on all files – now fixed. Changed menu #1 slightly so tries grub boot before syslinux boot.
      :: 0.062 – 2016-02-11 – New Switch_E2B.exe v1.0.10. New version of 7z.
      :: 0.063 – 2016-02-19 – Return to older version of 7Zip (new version reports ‘extra data’ error on many ISOs). CSM Menu changed so that invisible grub entry is no longer in menu.
      :: 0.064 – 2016-03-11 – fix syslinux boot bug in csm\menu.lst
      :: 0.065 – 2016-02-26 – add usb driver menu entry for plop or to spped up USB 2 access, grldr 20160326, searches all drives from C: to Z: for ImDisk virtual drive.
      :: 0.066 – 2016-06-20 – new SWITCH_E2B.exe v1.0.11 added, small change to /menu.lst.
      :: 0.067 – 2016-08-07 – new grldr, now supports MyCSM.cfg configuration file (can use E2B_Editor to change menu) + supports GFXBoot menu. Add SDI_CHOCO Stage1.cmd+Stage2.cmd+XML files to e2b folder.
      :: 0.068 – 2016-08-19 – Add code to CSM \menu.lst to copy AutoUnattend.xml from .imgPTN partition to WinHelper flash drive (if present).
      :: 0.069 – 2016-10-24 – menu.lst checks for boot drive is hd0, makepartimage.cmd warns if FAT32 of 4GB limit.
      :: 0.070 – 2016-11-10 – Add \e2b\RestoreE2B_32_64.cmd and mbrfix 32 and 64-bit executables for can switch from CSM to E2B mode under WinPE for WinNTSetup. Note: CSm Menu version says ‘0.69’ not ‘0.70’
      :: 0.071 – 2016-11-25 – LREPLACE bug fix
      :: 0.072 – 2017-02-28 – New Switch_E2B.exe v1.0.13, small changes to \menu.lst, grldr updated, small change to MakePartImage for Win8/10 EI.cfg (text message only)
      :: 0.073 – 2017-03-27 – Fix for Windows 10 1607 vbscript bug which causes Desktop Shortcuts to be corrupted!
      :: 0.074 – 2017-05-15 – Better detection of isolinux version in iso
      :: 0.075 – 2017-05-21 – bug fix for heading in 0.074 not showing
      :: 0.076 – 2017- 06-16 – SWITCH_E2B v1.016, fix syslinux 3 bug in 0.075, now always asks user for syslinux version, uses \syslinux.bin instead of code in PBR now.
      ::0.077 – 2017-06-25 – latest  RMPartUSB, MakePartImage will not attempt to copy special files\folders from a source drive\folder such as $recycle.bin, System Volume Information folder, pagefile.sys, etc.
      ::0.078 – 2017-10-30 – change checkperms subroutine, change getsparev subroutine, tweak menu.lst for FreeBSD ISOs
      ::0.079 – 2018-0207   – fix createdesktopshortcuts so works with non-standard Desktop paths, small change to menu.lst for clover boot patch (should have no discernible affect), fix menu.lst for 3rd ptn not listed for FreeBSD images when Switch_E2B.exe is used.
      ::0.080 – 2018-01-09 – latest switch_e2b.exe, bugfix for syslinux.exe when files in root.
      ::0.081 – 2018-03-01 – bugfix for incompatibility with latest grubinst version – fixes the ‘ERROR: Please install grub4dos to the MBR of this drive using RMPrepUSB’ message. Please re-make your .imgPTN files if they have this issue. See blog.
      ::0.082 – 2018-05-19 – grldr updated, small change to csm\menu.lst for KonBoot menu, menu.lst now warns if no UEFI boot files are found, Chandra’s Split_WinISO.exe utility is now included in the download folder, add ‘set default menu and timeout’ menu entry to CSM menu, change to add clover menu for (hd0,2) EFI boot files, update to latest Clover 64-bit+plist.conf, improve FreeBSD menu (now works with Nas4Free), add ‘boot as floppy drive A: to DOS’ menu entry to \menu.lst.
      ::0.083 – 2018-07-10  – If user just presses ENTER when prompted for a file path for target .imgptn file, it now displays an error message instead of just aborting. Improve error handling and added a warning message if using Microsoft Storage Pool or virtual drive for .imgPTN file. Improve Convert_all_ISOs_to_imgPTN_Files (run as Admin).cmd script. If user presses ENTER at Syslinux version question, the default is now used. Now can set AUTOSYSL=Y so does not prompt for syslinux version. Uses 7zip to obtain the decompressed total size for more accurate suggested size.
      ::0.084 – 2018-08-01 – detect grub in PBR of (hd0,2) partition and add ‘Boot to Partition 2’ menu entry, adds 5MB if folder was source.
      ::0.085 – 2018-10-11 – add support for German menu, new grldr version, more language files can be easily added. Latest Switch_E2B.exe added, menu.lst file changed to use key strings for multi-language support.
      ::0.086 – 2018-10-14 – bugfix to RestoreE2B_32_64.cmd (helper) search, change blank colour in menu.lst to 0000 from 0122.
      ::0.087 – 2018-10-15 – EFI.IMG file is now automatically extracted and then deleted.
      ::0.088 – 2018-12-05 – Add syslinux v6.03, defaults to syslinux v4 instead of v3, now uses 7z.exe instead of the 7zg GUI for unpacking (doesn’t stop if ‘extra data found’ warning), menu.lst updated and some small bugs fixed, user can now add their own menu.lst file if using a GFX menu file.
      ::0.089 – 2018-12-15 – small change to support hotekeys in text mode menu system (GFX=NONE). The default CSM menu heading is now obtained from \heading.g4b file so that \menu.lst can be easily copied as a CUSTOM file without needing to change the PAYLOAD= line inside the menu.lst file.
      ::0.090 – linux script added to allow user to restore E2B partitiions under Linux, CSM menu now does not display key help if no \n in title, list install.* files in ISO if FAT32 copy fails so can see size of install.wim/install.esd.
      ::0.091 – Support for UEFI-booting of Dell Deployment Tool Kit (dtk) Platform-specific bootable ISOs which contan two BOOTX64.EFI boot files and expect a \isolinux\BUILD file to be present.
      ::0.092 – bug fix (wrong suggested size if no folders in image), add secondary menu.lst detection in CSM \menu.lst menu
      ::0.093 – bug fixes for syslinux 603 detection and some kernel parameters were not fixed-up, add rEFInd files and CUSTOM_PE folder for UEFI WinPE boot option. add bootx64.efi if missing from Win install and if user is running 64-bit Windows.
      ::0.094 – erroneous bug fix U:\SLAX error message, add ext2 and ext4 rEFInd driver files, bugfix – drag-and-drop folder now works.
      ::0.095 – add Hungarian language support (thanks to Knyght), improve menu for DLC2019, add syslinux 6.04pre1 (beta), new grub4dos version.
      ::0.096 – add Czech language for CSM menu, add E2B_Editor to MPI folder, KBD variable is now recognised to set KBD type, latest grub4dos, add all KBD translation files.
      ::0.097 – Slovenian language for CSM menu (thanks Peter K), add persistence support for krd2018 in CSM menu entry #1, detect grub.cfg.sig file and set default to ‘do not change .cfg files’ for AUTO-CORRECT question, latest version of RMPartUSB.exe
      ::0.097a – same as 0.097 but SWITCH_E2B.exe update
      ::0.098 – SWITCH_E2B updated, grldr grub4dos updated
      ::0.098A – bugfix for Clover32 booting to UEFI64 from CSM menu
      ::0.099 – small tweak for Batocera ISO

    • RMPrepUSB

      RMPrepUSB Download

      Download here or visit the RMPrepUSB website.

    • Ventoy For Easy2Boot

      Ventoy For Easy2Boot is almost exactly the same as the ‘official’ release, except it has been enabled to run on a E2B USB drive and has a different wallpaper. 

      You should update to the latest version of E2B and agFM first.

      Use \e2b\Update agFM\Update_to_latest_Ventoy_version.cmd to update and add the latest version. 

      v1.0.29 – First version based on Ventoy
      v1.0.29 – Legacy+UEFI64 only
      v1.0.31 2021-01-04 – based on v1.0.31 – Legacy+UEFI64 only
      v1.0.32 2021-01-10 – based on Ventoy 1.0.32 – Legacy+UEFI64+UEFI32 (requires agFM v1.69f or later for UEFI32)
      v1.0.35 2021-02-18 – based on Ventoy 1.0.35
      v1.0.46 2021-07-03 – based on Ventoy 1.0.46
      v1.0.47 2021-07-17 – based on 1.0.47
      v1.0.51 2021-08-28 – based on 1.0.51

    • XMLtoE2B Download

      XMLtoE2B is a Windows GUI utility that will convert an XML created by the Windows Answer File Generator to an unattended XML answer file suitable for use with E2B or other Setup\Install processes (even if installing from a multiple image WIM file or to a UEFI\GPT system). You will require a licence file for full functionality.


      You can download XMLtoE2B from the Alternate download areas.

      Licence is required

      A licence file is required to be able to save the converted XML to a new file. Free licences are available if you have purchased three or more eBooks, or have donated £10 or more, or have helped in the development of E2B or agFM (e.g. bug reports, etc.). Please contact me if you think you qualify.

      Version History

      v1.0.39 Last release of version 1
      v2.0.44 First release of version 2
      v2.0.45 Small bugfix (sometime indicated ‘x86 only’ when actually XML file had both x86 and amd64 sections). Also Single MBR Disk field is now updated when WAFG XML file is loaded.
      v2.0.47 2019 stable release
      v2.0.48 2019-10-11 – bugfix – fixes two RunSynchronousCommand lines added when SDI_CHOCO config option only is ticked.

  • Easy2Boot

    Please note: This website is the new official website for Easy2Boot ( is no longer maintained and may be out of date).

    Copy all ISO files to your USB drive and then Legacy or UEFI boot!

    New! Get an E2B $2 Sticker or T-shirt – shop is here!

    Recommended for SECURE BOOT from any ISO\VHD.
    The IODD Mini USB 3 SSD can load any ISO\VHD as a virtual drive and then boot from the new virtual DVD or HDD. Store 100’s of different ISOs and VHD files on just one small USB device!
    No more multiboot SECURE BOOT ISSUES!

    E2B – the free USB multiboot solution for professionals

    E2B v2 includes Ventoy.

    • Boot to (almost) anything (Legacy/UEFI64/UEFI32/Secure Boot) from just one USB drive for free!
    • E2B includes three menu systems – E2B grub4dos, agFM/grubfm and Ventoy for the best chance of booting any payload!
    • E2B and agFM use a generic method of booting Linux ISOs. This means it is often more successful than Ventoy.
    • Over 1 million downloads – E2B is used by techs, repair shops, schools and Universities all over the world.

    Latest versions

    • Latest Beta downloads here.
    • YouTube videos here.


    • Easy2Boot supports up to 3 different menu systems.
      1. Easy2Boot – original E2B Legacy\MBR booting based on grub4dos.
      2. agFM (a1ive grub2 File Manager) (optional) – for Legacy\MBR and UEFI32\UEFI64 booting based on open source a1ive’s version of grub2 and grubfm.
      3. Ventoy for Easy2Boot (optional) – for Legacy\MBR and UEFI32\64 booting based on open source grub2-based Ventoy project.
    • Secure UEFI64 booting is supported (unless blocked by UEFI DBx blacklist in BIOS) – Once booted to the agFM menu, secure boot is temporarily disabled so all ISOs can be booted,
    • MemTest86 and FreeDOS are already included.
    • Boot .ISO, .WIM, .EFI, .IMA, .IMG, .VHD, .VHDx, .HFS + others (files can be over 4GB as NTFS is used).
    • Generic method of booting Linux ISOs (no need to update E2B every few months because a new Linux distro no longer works!).
      E2B and agFM use the ‘Easy2Boot/partnew’ technique which is successful in booting over 99% of all Linux ISOs. Unlike other solutions such as YUMI, Ventoy, Multiboot, etc. which may break when a new distro is released.
    • Legacy boot to MS-DOS, FreeDOS, Win98, XP with SATA\RAID Mass Storage drivers automatically added, Linux, Windows Vista-10, ISOs, Windows VHDs, WIM files, etc..
    • Add multiple HFS (Mac OSX) partition images using .imgptnREP3 file extension for UEFI-booting.
    • Add partition Image files (.imgPTN files) – switch in any partition image and then boot to it. You can even make a partition image from other bootable USB drives.
    • Always have the latest version of Ventoy by downloading the latest release as an official Ventoy image.
    • You can add your own files and folders to the USB drive.
    • Implement fully automated Windows installs with automatic driver and app installation, etc. (SDI_CHOCO).
    • eBooks (PDFs) written by the developer are available with step-by-step exercises, explanations, details and advanced topics.
    • E2B, agFM and ‘Ventoy for Easy2Boot’ can be updated without losing your own files or configuration settings.
    • Free online help (GMT+0 time zone).

    Note: E2B requires a fast, writeable USB disk drive/flash drive – beware of fake USB flash drives!

    Up to three different menu systems

    There is nothing more frustrating that copying over an ISO and then finding that it does not boot! You then have to search the Internet for a solution which can take hours. With an E2B USB drive you have three different bootable menu systems to try. In addition, the E2B and agFM menu systems support .imgPTN files which allows you to switch-in an image of a partition (it’s like having 100 Rufus USB drives in one!).

    1. Easy2Boot Legacy – developed over many years to be reliable and compatible. Boots most payloads including DOS, Win98, XP Install ISOs, Win7-10, Linux, Windows VHDs and WIM files, .ima floppy images files, etc,
    2. agFM Legacy & UEFI – directly Legacy\UEFI-boot (with Secure UEFI64-boot bypass) – variety of boot methods (for Linux ISOs the ‘E2B/partnew’ method is the most compatible and successful)
    3. Ventoy for Easy2Boot Legacy & UEFI – may be more successful with some types of payload (e.g. some WinPE ISOs or FreeBSD) but sometimes not as successful on other payloads. When it works it is usually faster and slicker! Requires you to boot to E2B or agFM first.

    These three menu systems should give you the maximum chance of successfully booting from any of the payload files that you copy onto your E2B USB drive.

    Easy2Boot Legacy menu system (grub4dos-based)
    Ventoy for Easy2Boot Legacy+UEFI menu system (grub2-based, fork of Ventoy)
    agFM Legacy+UEFI menu system (grub2-based)

    You can configure each menu system separately (colours, style, font, theme, background, language, keyboard, etc).

    How to make an E2B USB drive

    Please note: For best results use a Windows 10 system if using a USB Flash drive.

    1. Download E2B

    E2B can be downloaded as a self-extracting .exe (or download the .zip file if you have a Windows XP system). You may need to ignore the Windows Defender SmartScreen warning about running a downloaded .exe file and choose ‘Run anyway’.

    A new folder will be created on your Windows Desktop which contains the E2B install files.

    Tips: If you have a Windows XP system, download the .zip version because the .exe self-extracting version does not run under XP. Extract the files to a new folder on your Desktop.

    If you intend to install Windows XP from an XP ISO file, use the E2B+DPMS download.

    2. Make a USB drive (Win10 recommended)

    Run Make_E2B.exe to make your E2B USB drive. You can use a USB Flash drive or a USB hard disk.

    Note that all partitions and contents on the USB drive will be erased.
    1. Select E2B Menu options.
    2. Select USB drive (if drive letter is visible).
    3. Click on the Big Red Arrow button (or click on the Gear Wheel button if you want special options/partitions or if no drive letter is visible).

    Make_E2B.exe Windows utility – use the ‘Gear Wheel’ button if you have a large USB drive and want 3 partitions or you want to choose the size of each partition.

    Type ‘Y‘es to install agFM if you want direct UEFI-booting.
    Type ‘Y‘es to install ‘Ventoy for Easy2Boot‘ if you also want to add the alternative Ventoy for Easy2Boot menu system.

    Note: To add the UEFI agFM files to the second partition for UEFI-booting, you will need a Windows 10 system if your USB drive is a ‘Removable’ flash drive. If your USB drive is a Hard Disk or the ‘Fixed Disk’ type of flash drive, then you can use XP/Win7/Win8 or Win10 to prepare the E2B USB drive. This is because only (recent) Windows 10 systems can access multiple partitions on USB Flash drives (USB SSD\HDD drives are OK on all Windows OS’s).

    Troubleshooting tip: If the cmd script does not work, run \_ISO\docs\Make_E2B_USB\Drive\DebugAll_MakeE2B_Admin.cmd as Administrator and after it fails, look at the log file (e2b.log). Disable your Anti-Virus software. Developer versions of WIn10/11 do not include wmic.exe and so will not work.

    3. Add payload files (ISO, WIM, EFI, VHD, etc.)

    3.1 Simply copy over your bootable files to one of the pre-defined menu folders on the first partition.

    • \_ISO\BACKUP
    • \_ISO\DOS
    • \_ISO\LINUX
    • \_ISO\WIN (e.g. WindowsToGo VHD/VHDx files)
    • \_ISO\WINPE (e.g. HBCD_PE, Strelec, DLCBoot, Gandalf)
    • \_ISO\WINDOWS\xxxx (Windows Install files)

    The menu folders are in capital letters just under the \_ISO folder on the first partition. For example, copy a Windows 10 install ISO into the \_ISO\WINDOWS\WIN10 folder or copy a Linux ISO to the \_ISO\MAINMENU or \_ISO\LINUX folder.
    Add your own new sub-menu folders by using a special batch file.

    3.2 After copying over all your payload files, run the Windows batch file \MAKE_THIS_DRIVE_CONTIGUOUS.cmd file on the USB drive. This makes all the payload files contiguous. This should also be run again if you later add any new payload files. Contiguous files are needed for some types of operation (not required for Windows ISOs).

    Tip: Use the \E2B Launcher.exe utility on the E2B USB drive to help you configure and use E2B.

    On the USB drive, E2B Launcher.exe will help you use E2B and E2B_Editor.exe will help your configure E2B.
    Configure the E2B Menu system using E2B_Editor

    Booting from your E2B USB drive

    Don’t use a cheap, slow USB 2.0 drive! I recommend a fast 16GB+ USB 3.0 USB flash drive like this one

    If you want to know how to add a certain ISO or payload to E2B, your first step should be to find it on the ‘List of tested ISOs‘ page. Note that the same ISO/payload/software may be listed in more than one place. 

    If no special instructions or links are given, then the ISO/payload should ‘just work’ if you copy it to a normal menu folder on the E2B USB drive. 

    For most payloads (except VHD\WIM fles) you will need to run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd too. 

    Test Legacy booting using QEMU

    Check it Legacy-boots by running \QEMU_MENU_TEST (run as admin).cmd from the USB drive (it should at least boot to the E2B Main menu). If it does not boot to the Main menu, you have done something wrong! If it does boot OK, then it should also work on a real system – if not then the problem is with your system’s BIOS/firmware settings – refer to the FAQ and Troubleshooting pages. The QEMU used is a 32-bit emulator and should fully boot 32-bit ISOs (as if booting from a hard disk) too! The 32-bit QEMU used will not fully boot 64-bit ISOs. VHDs or WIM files, etc. 

    Legacy/MBR booting on a real system

    To boot from the E2B USB drive, first configure the BIOS for Legacy booting from a USB drive:

    • Disable Fast Boot – this causes the BIOS to detect bootable USB drives
    • Disable Secure Boot – You usually cannot enable Legacy booting unless this is disabled
    • Enable Legacy\CSM – modern UEFI BIOSes often have this option to enable Legacy booting also
    • First Boot Device; Internal Hard Disk – do NOT set the USB drive as the first boot device

    To ensure that it boots from the E2B USB drive, connect the E2B USB drive, press the BIOS Boot Selection hotkey after switching on the system (depends on Make\Model): 

    ACER:              Esc, F9, F12
    APPLE:             Option/Alt key
    ASUS:              Esc, F8
    COMPAQ:            Esc, F9
    DELL:              F12
    EMACHINES:         F12
    HP:                Esc, F9
    INTEL:             F10
    IBM LENOVO:        F12 (or Fn+F12), F10, F8
    NEC:               F5
    PACKARD BELL:      F8
    SAMSUNG:           Esc, F12
    SONY:              F10, F11
    TOSHIBA:           F12

    Tip: If a laptop, try also holding down the Fn key first and then tapping the other Fxx key – e.g. Fn+F12. (check BIOS setting for Fn key option)

    To UEFI-boot, choose the second partition on the E2B USB drive.

    You may find this list of BIOS keys useful. 

    E2B menu (no user ISOs have been added yet)

    0 Set default menu entry and timeout – set the Main menu default menu option and countdown timeout
    1 a1ive grub2 File Manager – loads the agFM grub2 menu system (Legacy mode)
    2 Clover 64-bit UEFI Boot – Clover is a substitute UEFI BIOS, use it to boot various .EFI files from a Legacy BIOS (it is better to directly UEFI-boot from Partition 2, if possible)
    3 Clover 32-bit UEFI Boot – Clover is a substitute UEFI BIOS, use it to boot various .EFI files from a Legacy BIOS (it is better to directly UEFI-boot from Partition 2, if possible)
    4 Ventoy – loads the Legacy grub2-based USB multiboot Ventoy menu system
    5 Disable UEFI64 secure Boot (blank screen BUGFIX) – some BIOSes will not load the Kaspersky shim which is used for bypassing Secure Boot. If you have Secure Boot enabled in your BIOS and you try to UEFI64-boot from partition 2 and get a blank screen on some systems, you will need to use this option to replace the Kaspersky Secure Boot shim and disable Secure Boot in your BIOS. Then UEFI64-boot using non-secure booting.
    6 Disable UEFI-booting from Partition 2 – this is a workaround for another BIOS bug. Some UEFI BIOSes will not offer the choice to Legacy-boot from the E2B USB drive unless you remove the UEFI boot files. This option renames the EFI folder so that these BIOSes will allow you to Legacy boot from the E2B drive (the same menu option is available if you UEFI64-boot to agFM). To re-enable UEFI-booting from the E2B USB drive, you must first use the ‘Enable UEFI-booting from Partition 2’ menu entry.
    7+ sub-menus and other options


    Easy2Boot v2 adds agFM which allows you to UEFI-boot directly from the second partition (FAT32) of the E2B USB drive and select an ISO, WIM file, VHD file, IMG file, etc. 
    You can also load the Ventoy menu system from the agFM menu system (use F5).
    You can also switch a Ventoy partition image into Partition 2 and directly UEFI-boot to Ventoy.

    Partition Images

    E2B and agFM can replace a partition on the USB drive with a different partition.
    You can have any number of partition image files.
    The partition image files can contain anything (FAT/NTFS/exFAT/ext4/hfs/linux swap, etc.)
    You can then reboot to the replacement partition.
    .ISO/.IMG/.VHD/.ZIP. etc, files or disk volumes can be converted to partition image files.
    Partition image files have a file extension beginning with .IMGPTN

    • *.imgPTN – replaces Partition 1 (removes Partition 2 and Partition 3)
    • *.imgPTN23 – replaces Partition 1 (keeps Partition 2 and 3)
    • *.imgPTREP3 – replaces or adds Partition 3 (keeps Partitions 1 and 2)
    • ventoy.disk.image – replaces Partition 2 (keeps Partitions 1 and 3) – used only for ‘official Ventoy’ partition contents

    For UEFI and MBR booting (especially Secure Boot), you can switch-in a bootable partition image (.imgPTN/.imgPTN23 files): 

    1. Install the MPI Tool Kit onto your WIndows system.
    2. Convert the ISO (or payload file or existing USB drive volume) to a FAT32 .imgPTN23 file by dragging-and-dropping the ISO onto the MPI_FAT32 Desktop shortcut.
      For best speed, the source ISO should be on your hard disk and NOT on the USB drive.
    3. Copy the new .imgPTN file to your E2B drive (e.g. \_ISO\MAINMENU folder).
    4. Rename the file extension to .imgPTN23 so that partitions 2 and 3 are not removed.
    5. Run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd from the E2B drive.
    6. Boot to E2B or agFM and select the .imgPTN23 file from the E2B menu – OR – run \_ISO\SWITCH_E2B.exe in Windows and double-click on the .imgPTN23 file.
      The USB drive’s E2B partition #1 will be replaced by the new image.
    7. Now MBR/UEFI-boot from the E2B USB drive.

    To make a sector-for-sector partition image of a non-Windows readable partition such as hfs or ext4, you can use RMPrepUSB.exe – Drive -> File (see .imgPTNREP3 for more details).

    If your system does not have an MBR-boot option, you can UEFI-boot to the agFM menu or add WinPE files to the 2nd or 3rd partition so that you can UEFI-boot to WinPE and select a .imgPTN file.

    You can also copy partition image files onto Partition 3 of your E2B USB drive. The file should have a .imgPTNREP3 extension. When selected, it will replace the current Partition 3 with the contents inside the image file. This means you can switch in any partition containing any filesystem or swap file or raw partition. For instance, you could UEFI64-boot to agFM and switch-in an hfs partition image for installing Mac OSX onto a system.

    agFM also allows you to replace Partition 2 with an official Ventoy partition image instead of the agFM partition. This means you will be able to boot to the latest version of Ventoy.

    Need more help?

    Look for the ‘Chat’ icon


    I recommend the Sandisk Extreme Pro USB 3

    • Add Payload Files

      Add Payload Files

      The NTFS first partition of your USB drive should contain a \_ISO folder. This folder contains the E2B Menu folders.

      When adding any payload file (e.g. a bootable ISO file), you need to follow these steps:

      1. Check the ‘List of Tested Payloads‘ page on the website. See if there are any special instructions or tutorials for your particular bootable image.
      2. Download the payload file to your PC/Notebook hard drive (if required) and then copy it from your hard drive to the E2B USB drive (do NOT directly download it from the Internet onto your USB drive because it is slow and you will end up with a heavily fragmented file!).
      3. Double-click on the \MAKE_THIS_DRIVE_CONTIGUOUS.cmd file at the root folder of the E2B USB drive to make all files on the drive contiguous. Only files which are not contiguous are affected. Files which are already contiguous are not moved or re-written.
        — OPTIONAL —
      4. The order of the menu entries is alphabetical, you can use a filename prefix to change their order, e.g. _100_Ubuntu.iso, _120_Fedora64.iso, etc. E2B will not show the _xxxxx_ part of the filename.
      5. Once it is booting successfully, you can change the filename so that it is listed nicely in the menu (avoid special characters such as = $ ( ) ‘ ” and &. Spaces are usually OK (except when used in some WinBuiilder-based WinPE ISOs and LINUX ISO file names).
        Instead of changing the filename, you can add a .txt file with the same filename but whose contents will be used instead of the name of the file, e.g. _100_Ubuntu.iso and _100_Ubuntu.txt.

      E2B Menu Folders

      For the E2B menu system, you can only place payload files in folders which are recognised by E2B.

      Main Menu folder

      \_ISO\MAINMENU     – iso/payload files in here will be listed in the Main menu. This folder must not be deleted.

      Standard Sub-Menu folders

      \_ISO\ANTIVIRUS     – copy ISO and other payload files here. 
      \_ISO\DOS               – copy ISO and other payload files here. 
      \_ISO\BACKUP          – copy ISO and other payload files here. 
      \_ISO\LINUX             – copy ISO and other payload files here.
      \_ISO\UTILITIES       – copy ISO and other payload files here.
      \_ISO\WIN                – copy ISO and other payload files here. Use for Windows VHDs.
      \_ISO\WINPE            – copy ISO and other payload files here.
      \_ISO\UTILITIES_MEMTEST – copy memory test ISOs/payload files here

      The E2B menu system will detect and list files automatically on each boot.
      You can create new folders underneath these folders, but only .mnu files will be enumerated by E2B below this 2nd level.

      All the 9 standard folders have identical functions (only the menu heading is different). E.g. You can place a Linux ISO file in the \_ISO\DOS folder and it will work in the same way. You can add more sub-menu folders if you wish.

      Two ‘Special’ Sub-Menu folders

      Microsoft Windows Installer ISOs are a special case. You should place these in the appropriate sub-folder under the \_ISO\WINDOWS folder.

      \_ISO\WINDOWS\xxxx – copy your Windows install ISOs (and .imgPTN files into the correct sub-folders under here

      The AUTO folder is also special – it is the only folder in which payload files can be put into sub-folders which you can make and organise yourself:
      \_ISO\AUTO                – copy only ISO/payload files here or into sub-folders (any depth). All .mnu files are ignored. Direct Boot Menu – all payload files are detected and listed in a single menu.

      Recommended payload files

      • Linux LiveCDs – Ubuntu, LUbuntu, Mint (tip: for ISOs based on \casper, create a persistence file and use the .isopersist file extension)
      • Puppy Linux (tip: try .isopup file extension to save changes – E2B v2.09+) – for persistence with agFM, use the sample file provided: slacko64-7.0_persistent.cfg.
      • Microsoft Windows Install ISOs – place in correct \_ISO\WINDOWS\xxxx folder.
      • Hirens WinPE Boot CD – HBCDPE – suggested file extension .isomap64
      • Gandalf WinPE – suggested extension _.isodef.iso
      • Sergei Strelec WinPE – suggested extension .isowin
      • DLCBoot – suggested extension _.isohw.iso
      • DOS utilities (MS-DOS, FreeDOS, etc.)

        DOS utilities (MS-DOS, FreeDOS, etc.)

        If you have a DOS utility such as a BIOS Flash utility or small DOS-based diagnostic .exe or .com file, you can try using the E2B FreeDOS bootable image. This image contains an NTFS driver and so you can directly access files on a FAT32 or NTFS E2B drive. Simply copy on your DOS files to a new folder on the E2B USB drive, boot to E2B FreeDOS floppy image (see screenshot above) from the DOS Menu and run the DOS program! 

        The user can change the keyboard type, by typing keyb UK, etc. – type keyb /L for a list of countries (E2B v1.A5+). 

        To change to a different folder on your E2B USB drive (e.g. \MyDOS  – use names of less than 9 characters and 8.3 filenames) 

        1. Boot to E2B

        2. Go to the DOS menu and run ‘FreeDOS (from a floppy image)‘.

        3. When it boots to FreeDOS, type:    cd  \MyDOS      to change to your directory.

        4. Type the name of your .exe or .com or .bat file to run it – e.g. FLASHUPD 

        Drive A: will be the floppy disk image drive letter and Drive C: or D: or E:, etc. will be the E2B USB drive letter.

        If you have internal disks with FAT or NTFS partitions, they will also be given drive letters. 

        IMPORTANT: The DOS NTFS driver is buggy and I strongly recommend that you do not use it for creating new NTFS folders or writing files to an NTFS drive (do not write to the NTFS E2B USB drive). You should only use it to read or run files from an NTFS drive or to copy files from an NTFS drive to the A: drive or other FAT32 drives. If you write new files to an NTFS drive, it may corrupt the existing files!

        Also wildcards (*)  may not work in some cases. If your utility runs from a .bat batch file, you may need to edit the batch file first (or copy your files to the root of the E2B USB drive). If your DOS utility reports that there is not enough memory available, try a different boot configuration from the menu, or create your own bootable .ima or .img floppy disk image which does not load the large NTFS driver and copy your files into the .ima image.

        Tips to modify E2B FreeDOS image:

        • Use 7Zip to unzip the E2B.ima file from \_ISO\DOS\MNU\Freedos288.IMA.gz and copy it to \_ISO\DOS.
        • You can use WinImage to add or delete files inside the .ima.
        • Name the floppy image file as .imarw if you want to keep any changes you may make within FreeDOS.
        • You can use 7zip to compress the .ima file to a .ima.gz file.

        See RMPrepUSB DOS tutorial here for more details and the RMPrepUSB WinImage tutorial here.

        Full details and Exercises in my eBook here

        Another FreeDOS v1.2 floppy disk image can be downloaded from here

        How to modify the E2B floppy image

        E2B contains a 7.6MB FAT32 disk image (it is not a 1.44MB floppy image). It loads EMM386, a mouse driver and an NTFS driver. It allows you to run programs directly from the E2B drive as C: or D: or E:, etc.  (FAT32 or NTFS, but not exFAT drives).

        If you want to add programs directly to the E2B floppy disk image or modify it in other ways, here is how to do it. 

        1. Download and install WinImage (trial version – please purchase a licence if you find it useful)

        2. Use 7zip to extract FreeDOS288.ima from the \_ISO\DOS\MNU\Freedos288.ima.gz file

        3. Copy the extracted Freedos288.ima file to \_ISO\DOS folder

        4. Double-click the Freedos288.ima file to load it in WinImage

        5. Drag-and-drop your DOS files into WinImage to add them to the image

        6. Modify the Autoexec.bat file in the image if required (extract it, modify it, copy it back)

        7. Click on the blue floppy disk icon in WinImage to save the changes 

        Now you can boot to the Freedos288.ima file from the DOS E2B menu.Your added files will be on Drive A:.

        Name the floppy image file as .imarw if you want to keep any changes you may make within FreeDOS.

        You can use 7zip to compress the .ima file to a .ima.gz file. 

        Boot from Floppy Disk Image Files

        If you are provided with a bootable floppy disk image file, E2B can directly boot to it. If you use the .IMA or .IMG file extension, the file will be loaded into memory and will boot as Drive A:

        If you change any files on the A: RAM-drive whilst booted to DOS, no changes will be saved. If you want to be able to permanently change files in the image under DOS, use a .imarw file extension. If you use a .imanousb file extension, the image will appear as A:, the USB drive as floppy drive B: (and not as a hard disk). 

        Use .imafdhdd0 if you only want the internal hard disk as hd0 and the image file as fd0 (writable). 

        See the file extensions list for other possibilities. See the RMPrepUSB tutorial for more options here

        DOS limitations

        • DOS 6 can only access <2GB partitions (FAT16).
        • DOS 7.1 or later is required to access FAT32 partitions.
        • DOS\FreeDOS cannot access NTFS partitions unless a special NTFS driver is added.
        • Files with long file names (longer than 8.3) may not be listed correctly unless you load a LFN driver. Use 8.3 conventional short filenames with no spaces.

        See here for more info on limitations of versions of DOS. 

        Using an .imgPTN file

        An easy way to make and modify your own DOS-bootable image is to create a FAT32 .imgPTN file.
        Switch to the .imgPTN and then add your own DOS files to the image (just copy files to the USB drive). 

        This allows direct access to the DOS files without needing to make a .ima or .img file.
        After the image file is ‘switched-in’, you can simply copy your DOS files onto the drive and edit them as required.

        A ready-made 38MB FAT32 .imgPTN ( is available from the Alternate Download Areas.
        It does not include an NTFS driver and so can only access FAT partitions but can boot as floppy disk 0, or hard disk 0 or 1.

        To make your own .imgPTN file…

        1. Find a suitable MS-DOS 7 or 8 or FreeDOS floppy disk image or zip file or set of DOS boot files.

        2. Extract/copy the files to an empty new folder (e.g. .\MyDos) on your Windows Desktop.

        3. Drag-and-drop the new folder (MyDos) onto the MPI_FAT32 Desktop shortcut (you must install the MPI Tool Kit first).

        4. Copy the 38MB .imgPTN file that this makes to your E2B drives \_ISO\DOS folder.

        5. Run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd from the E2B drive.

        6. Now either MBR-boot to E2B and select the new .imgPTN file or use \_ISO\SWITCH_E2B.exe to switch it in.

        7. The E2B USB drive will now appear as a 38MB FAT32 volume. You can directly change the files on it or edit any of the files.
        You can test it by using RMPrepUSB – F11 (QEMU) to boot to it (or use Virtual Box+VMUB). 

        To restore the E2B drive, run \e2b\SWITCH_E2B.exe – Restore E2B Partition(s), or MBR boot from the USB drive and select menu item 0. 

        Tip: name the file with a .imgPTNAUTO file extension to avoid the ‘OK to switch’ user prompt. Use .imgPTN23AUTO if you want to preserve partitions 2 and 3.

        Add you own DOS files to a ready-made .imgPTN file

        1. Copy the FAT32 .imgPTN file to \_ISO\DOS folder
        3. Boot to E2B and select the .imgPTN file from the DOS menu or use SWITCH_E2B.exe (SWITCH_E2B does not work correctly with FAT16 .imgPTN files)
        4. You can now add files and modify the contents of the partition using Explorer. \FDAUTO.bat or \AUTOEXEC.BAT will run on startup and you can add the utilities name at the end of the batch file so that it will automatically run.
        5. Boot to the E2B USB drive and use Menu option 0 to return to the E2B menu system (or use SWITCH_E2B.exe)

        How to reduce the size of a .imgPTN file

        The smallest size we can make using standard Windows utilities for a FAT32 volume is approx. 38MB.

        If you have small DOS programs, you can reduce the size of the 38MB .imgPTN file as follows (change text in bold as required)… 

        • 1. Open the .imgPTN file that you want to copy (e.g. using 7zip and determine the total size required by selecting all files (usually approx 6MB)
        • 2. Open Windows Control Panel and run ImDisk – Mount New – Image file = C:\temp\MyNew.imgptn – Size of virtual disk = 10MB – OK
          This will create a new drive letter for you – e.g. O:
        • 3. Select the new drive in Explorer (e.g. O:) and allow Explorer to format it as FAT which is actually FAT16 (not NTFS).
        • 4. Use Extract in 7zip to copy all the files to the new drive letter (e.g. O:\)
        • 5. You can now directly edit any of the files on the new virtual drive
        • 6. In Imdisk, use Remove to unmount the virtual drive (wait for 30 seconds after copying files first)
        • 7. (optional) Use 7zip to verify that the contents of the new MyNew.imgptn file are present and correct. 

        Tip: You can delete the \clover and \efi folders to reduce the size required. Do not delete the \PBR.bin, \boot6 file or \menu.lst of \grldr files or the \e2b folder. 

        Note that Switch_E2B.exe will work with FAT16 .imgPTN files if you choose a FAT32 0x0c partition type when prompted. 

        ready-made 10MB FAT16 .imgPTN file is also available in the Alternate Downloads Areas if you really want a smaller image file size.

      • FreeBSD, GhostBSD, MidnightBSD, OPNsense, FreeNAS & pfSense

        FreeBSD, GhostBSD, MidnightBSD, OPNsense, FreeNAS & pfSense

        FreeBSD requires a partition type number set in the MBR and does not like overlapping partitions. For E2B you can use the .isoBSD file extension (or a .imgPTN23 file – read below) or use Ventoy (agFM often does not work) – see Ventoy supported ISO list here

        Use .isoBSD extension

        I successfully MBR-booted FreeBSD-11.1-RELEASE-amd64-bootonly.iso and v13.0, TrueOS-Desktop-18.03-x64-DVD.iso, OPNsense-17.7.5-OpenSSL-dvd-amd64.iso, Nas4Free.iso and pfSense-CE-2.4.4-RELEASE-amd64.iso using the .isobsd file extension.

        1. Change the file extension of your BSD-based ISO file to end in .isobsd and copy it to your \_ISO\LINUX folder (or any standard menu folder).

        2. Run \MAKE_THIS_DRIVE_CONTIGUOUS (run as admin).cmd. E2B Partition 3 must be unused\empty. 

        Note: When using the .isobsd file extension, E2B will switch partitions so that the E2B partition disappears.

        To restore the E2B partition, simply MBR-boot again (it will then timeout and restore the partitions) or run the \RESTORE E2B PARTITION.cmd file as Administrator. 
        .isoBSD is for MBR-boot only, and does not work with all BSD ISOs – see bottom of page for more details.

        Tip: If booting on a headless appliance (i.e. no VGA display), configure the E2B default menu option + 10 second timeout so that your ISO will automatically run from the Main Menu after a 10 second delay (e.g. using \QEMU_MENU_TEST or another system). 

        You can also use FreeBSD-based hybrid ISO files (e.g. FreeBSD-11.1.iso or OPNsense-17.7.5-OpenSSL-dvd-amd64.iso) by making use of a .imgPTN file (scroll down for details). 

        MemStick images

        How to add FreeBSD memstick payloads and pfSense memstick payloads to E2B. 

        Easy2Boot and MPI Tool Pack support FreeBSD 9 and 10 ‘memstick’ images.
        For GhostBSD, download the .img files and not the .iso files.
        For MidnightBSD, use the ‘memstick’ download.

        If the memStick .img file contains multiple images inside it (e.g. pfSense v2.4), then this process will not work.

        For OPNsense .bz2 downloads for USB drives (e.g. serial download), extract the .img file from the .bz2 file using WinRar or 7Zip and follow the instructions below.

        GhostBSD4.0 Desktop

        The procedure is to use the MakePartImage process, but as the FreeBSD memstick.img files are already in the correct format for a FreeBSD partition, the .img files don’t actually need converting or modifying!:

        1. Create a new empty folder on the Windows Desktop (or anywhere else).

        2. Drag-and-drop the empty folder onto the MPI_FAT32 MPI Desktop shortcut to make a 30MB (or as small as possible – e.g. 10MB) partition image with no payload. If prompted for a target file, use a filename with either a .imgPTN or .imgPTNA5 file extension – e.g. FreeBSD_10_1.imgPTN or FreeBSD_10_1.imgPTNA5.

        Do NOT use a filename that has any dots in it because it will also appear in the E2B Menu – e.g.  FreeBSD10.1.imgPTNA5 would not be a good name because the ‘FreeBSD10.1’ file (see below) would also be visible in the menu!

        3. Copy the new .imgPTN file to a menu folder (e.g. \_ISO\LINUX, a 2nd level folder – NOT \_ISO\LINUX\MNU).

        4. Copy your FreeBSD memstick .img file to the same folder that the .imgPTN file is in and rename it to match the name of the .imgPTN file but WITH NO FILE EXTENSION – e.g.

        FreeBSD_10_1.imgPTN     (10-30MB)
        FreeBSD_10_1                   (NO FILE EXTENSION OR DOTS – e.g. 700MB memstick.img file renamed to match with no file extension)

        Tip: Download the .xyz (compressed) non-UEFI version, e.g. FreeBSD-10.1-RELEASE-i386-memstick.img.xz and then unzip it to obtain the .img file. The .xyz files are smaller than the .img files. I also tested this with pfSense-CE-memstick-2.3.5-RELEASE-i386.img and OPNsense-18.1.6-OpenSSL-serial-amd64 (1).img.

        5. Make all files contiguous on the drive.

        6. Use the E2B menu to select the .imgPTN file. 

        Grub4dos can access the files on a FreeBSD type A5 partition just fine as it understands the FreeBSD volume format.

        To add more FreeBSD versions to the E2B USB drive, just copy and rename the .imgPTN file (or make a fresh one) and then rename the new FreeBSD memstick .img file to match it.

        Note that only ‘memstick’ images for USB drives will work in this way. Luckily, GhostBSD .img files are in the memstick format.

        For installing/upgrading OpenBSD – see karl’s blog. For installxx.iso OpenBSD, see this blog post.

        FreeBSD 11 x64

        The .img file format has changed for FreeBSD11. We can UEFI-boot however (or MBR-boot using Clover) as follows:FreeBSD-11.0-RELEASE-amd64-memstick.img

        1. Use 7Zip GUI to open the memstick.img file
        2. Extract the .ufs file as a single large file directly to your E2B USB drive – e.g. \_ISO\LINUX\.ufs
        3. Rename \_ISO\LINUX\.ufs to \_ISO\LINUX\FreeBSD11
        4. Double-click on EFI System image in 7Zip to open it
        5. Extract the whole EFI folder into a new FreeBSD11 folder on desktop – e.g. we get (desktop)\FreeBSD11\EFI\BOOT\BOOTX64.EFI
        6. Create .imgPTN file from the FreeBSD11 folder on the Desktop
        7. Copy the FreeBSD11.imgPTN file to \_ISO\LINUX on your E2B USB drive, you now have:
        8. Make all files contiguous
        9. Switch to the FreeBSD11.imgPTN file using the E2B menu (do not use SWITCH_E2B.exe or use the latest version and choose 0xA5 for the partition type when prompted)

        Note: If you wish to use SWITCH_E2B.exe to select the FreeBSD11.imgPTN file, you must then modify the \menu.lst file inside the .imgPTN and add the lineparttype (hd0,2) 0xa5to the start of the \menu.lst file or if SWITCH_E2B.exe prompts you for the type, enter 0xA5. 

        Use the ‘Clover 64-bit UEFI Boot Menu’ option or directly UEFI-boot from the E2B drive.

        MBR-booting FreeBSD-based ISOs (FreeBSD, OPNsense, pfSense, Nas4Free, TrueOS)

        An easier way to use this method is to simply use the .isoBSD file extension (E2B v1.A5+). 

        Alternatively, the method below uses your own .imgPTN file instead of the default bsd.imgptn file that is already used by .isoBSD… 

        You must use MakePartImage v 0.079 or later for this. The process is essentially the same as for memstick images.

        I tested FreeBSD-11.1-RELEASE-amd64-bootonly.isoTrueOS-Desktop-18.03-x64-DVD.isoOPNsense-17.7.5-OpenSSL-dvd-amd64.iso, Nas4Free.iso and pfSense-CE-2.4.4-RELEASE-amd64.iso.

        FreeNAS 11 U4 and GhostBSD 11.1 ISOs did not work using this method.

        1. Drag-and-drop an empty folder onto the FAT32_MPI Desktop shortcut to create a FreeBSD.imgPTN file.

        2. Copy the FreeBSD.imgPTN file to the E2B drive – e.g. \_ISO\LINUX\FreeBSD.imgPTN

        Tip: You can use a file extension of .imgPTNAUTO to suppress the user prompt.

        3. Copy the FreeBSD ISO file to the same folder and rename it to FreeBSD.

        Note: The two files can have any name you wish, but they should not contain any dots (except one dot for the extension) and the two filenames must be identical.

        You should now be able to select the .imgPTN file and switch to the CSM menu.

        In the CSM menu, choose the ‘Boot to FreeBSD on 3rd partition (MBR mode)’ menu option.

        Set a default menu option+timeout in the CSM Menu

        Boot to the CSM menu and use the ‘Set default menu entry and timeout’ menu entry in the CSM menu. 

        Or you can manually edit the \e2b\menu_defaults.txt to choose menu #4 and set a timeout value or 12 seconds: e.g.set dask=4 default 4set task=12 timeout 12

        set dask=4
        default 4
        set task=12
        timeout 12

        FreeNAS and GhostBSD ISOs

        MBR booting only. This procedure also worked for FreeNAS and GhostBSD11.1-mate-amd64.iso

        1. Download FreeNAS-11.1-U6.iso – rename it to FreeNAS11.ISO to leave only one dot in the filename.

        2. Create an empty folder on your PC Desktop named FreeNAS11.

        3. Use 7Zip to extract the \boot folder from the ISO to the .\FreeNAS11 folder so that you now have a .\FreeNAS11\boot folder and sub-folders.

        4. Download the file – extract the g2ldr file and copy it to the .\FreeNAS11 folder.

        5. Drag-and-Drop the FreeNAS11 folder onto the MPI_FAT32 Desktop shortcut to make a FreeNAS11.imgPTN file.

        6. Copy the FreeNAS11.imgPTN file and the FreeNas11.ISO file to the \_ISO\LINUX folder on your E2B drive.

        7. Rename the FreeNAS11.ISO file to FreeNAS11 (remove the .ISO file extension).

        \_ISO\LINUX\FreeNAS11.imgPTN     (approx 78MB)
        \_ISO\LINUX\FreeNAS11                  was the whole .ISO file (name must match .imgPTN file and should not contain any dots)

        MBR-boot to the .imgPTN file and from the CSM menu choose the g2ldr menu option.

        If the ISO is a 64-bit-only version, use a file extension of .imgPTNAUTO64 so that it is only listed on systems with 64-bit CPUs.

        If the file name contains a dot, then both files will be listed in the Linux menu, so ensure there are no dots in the file name. If you really want to have dots in the menu entry, add a .txt file using \_ISO\Txt_Maker.exe.

        pfSense v2.4 UEFI booting

        You can find instructions at the end of this blog post.

        The same procedure may also work for other memstick images which contain multiple images for multiple partitions.

        Note that you must first MBR-boot to the CSM menu before UEFI-booting will work.

      • HAIKU


        E2B can boot from HAIKU ‘anyboot’ images if you give them a file extension of .HAIKU

        When you download a HAIKU ‘anyboot’ .zip file, unzip it and place the .ISO file in any standard E2B folder (e.g. \_ISO\LINUX). Change the file extension to .HAIKU, e.g. haiku-release-anyboot.HAIKU 

        Note that E2B will make a new partition #4 table entry for HAIKU. When you reboot E2B, it will complain that a Partition #4 exists and will prompt you to delete it. You must delete partition 4 to boot to the E2B menu. 

         To can prevent these messages, which you will see after every time you run a .HAIKU file, add a partnew command to the \_ISO\MyE2B.cfg file: 

        (usual MyE2B.cfg lines go here)
        # --------------------------------------- ADVANCED MENU SETTINGS ------------------------------------------------------------------------------
        # DO NOT DELETE THE LINE ABOVE! - Settings below this next line will be preserved when using the E2B_Editor.exe
        if exist (hd0,0)/_ISO/MyE2B.cfg partnew (hd0,3) 0 0 0
      • Intel Mac OS X – .DMG and .HFS files

        Intel Mac OS X – .DMG and .HFS files

        Tip: Use 7zip to examine the file contents. 

        If you have a bootable Intel Mac .dmg file containing a single uncompressed  HFS+ disk image (e.g. Niresh Hackintosh USB .dmg files), just add the .dmg file to your E2B USB drive and keep the file extension as .DMG (or .dmgPTN). Example: Niresh OSX-Mavericks.dmg 5.26 GB (5,653,921,792 bytes). 

        If you have a bootable .dmg file containing a single compressed  HFS+ partition image (e.g. MBR+1.hfs), then use 7Zip to extract the single partition image file (e.g. 1.hfs) and add it to your E2B USB drive (it can be renamed and given a .hfs or .hfsptn file extension). Example: Niresh Yosemite-Zone_10.10.1.dmg 4.96 GB (5,332,012,208 bytes) – extract 1.hfs. 

        Note: If you get a boot1:/boot error under VBox, try booting from a real system!

        .dmg files that contain more than one partition are not currently supported. You can create a USB Flash drive using Windows TransMac (right-click on USB drive – Restore with Disk Image) and then if it contains a HFS single partition, make a partition image .HFSptn file using RMPrepUSB – Disk->File – Start=P1, End=P1, FileStart=0). However, the .dmg image must be bootable and most Apple .dmg Installers/Upgrades are not bootable. 

        You can use UniBeast under OS X to make a single-partition bootable Intel OS X Flash drive from a non-bootable Apple .dmg OS Installer file and extract the HFS partition image from that (see above for RMPrepUSB settings). For more details see the blog entries here and here.

        iPortable Snow x86 from E2B video with brief instructions in the Description here.

        Niresh Catalina has not been tested (UEFI+GPT install required – MBR not supported). Suggest download Niresh .dmg and extract 3.hfs. Then follow ‘MacOS High Sierra Installer’ below. 

        Note: When you run a .dmg or .hfs file, it creates a new partition entry #4. This partition entry is used by E2B and so is normally unused/empty.
        E2B will complain about it when you reboot to the E2B drive and it will ask if you want to delete it (if you don’t delete it then the E2B menu will not load!).

        If you regularly use .dmg and/or .hfs files, you can add a ‘partnew’ command line to the \_ISO\MyE2B.cfg file to delete the #4 partition every time E2B boots. See the Sample_MyE2B.cfg file for more details.

        MacOS High Sierra Installer

        Download the prepared clover.img and OSX_10.13.1_Installer.hfs from this article. I used the torrent download.

        Install the MPI Tool Kit onto your Windows office system before you begin.

        1. Drag-and-drop the clover.img file onto the MPI_FAT32 Desktop shortcut – name the file with a .imgPTN file extension – e.g. OSX_10_13_1_Installer.imgPTN

        2. Copy the large .hfs file to the E2B USb drive (e.g. \_ISO\MAINMENU) – rename the file so it has no dots or file extension – e.g. OSX_10_13_1_Installer

        3. Copy the OSX_10_13_1_Installer file to the same folder as the .imgPTN file.
        For UEFI-booting, this file must be ordered on the disk after the .imgPTN file. If re-ordering the file causes problems, place the file with no extension on the second or third partition.

        Note: If you are using E2B v2 and you want to keep the second FAT32 agFM partition, then use a file extension of .imgPTN23 for the first file and copy the large second file which has no extension to Partition 3. e.g.

        • Ptn1: NTFS   \_ISO\MAINMENU\OSX_10_13_1_Installer.imgPTN23
        • Ptn2: FAT32  (agFM files)
        • Ptn3: NTFS   \OSX_10_13_1_Installer

        4. Run \MAKE_THIS_DRIVE_CONTIGUOUS (run as admin).cmd to make all files on the first partition contiguous.

        Run Defraggler on any files which are not on the first partition to ensure they are also contiguous.

        5. Run \_ISO\SWITCH_E2B.exe and double-click on the OSX_10_13_1_Installer.imgPTN+OSX_10_13_1_Installer entry to switch it in.

        If prompted for a partition type for the Auxilliary image file, use 0xAF.

        6. Add this line to the large \menu.lst file on the E2B drive:

        parttype (hd0,2) 0xAF

        Note: You must always boot to the CSM menu first, so that this command is executed and the HFS partition is made visible or use SWITCH_E2B and specify 0xAF as the 2nd partition type. If using agFM, you do not need to use SWITCH_E2B.exe or add the extra line to the \menu.lst file.

        7. Now UEFI-boot on a Mac or Macintosh x86 system (must have correct CPU and >4GB RAM).

        You can also try the Clover boot option (MBR-booting).

        Other .hfs files can be substituted to install different versions.

        See RMPrepUSB Tutorial 144 for more details.

        agFM UEFI64 booting

        agFM v1.51+ supports the .imgptnREP3 file extension.

        • The file will be used to replace partition 3 of the E2B disk
        • The file must be contiguous
        • The file must be located on the third partition of the E2B USB drive (Ptn3 = NTFS for files > 4GB).
        • The .imgptnREP3 file can contain an ext2/3/4, hfs, FAT, exFAT or NTFS filesystem

        For instance, you can use 7Zip to extract the large hfs partition from a .DMG file and save it as a .imgptnREP3 file on the third NTFS partition of your USB drive.

        Switch_E2B.exe v1.1.33+ also supports .imgPTNREP3 file extension…

        .imgPTNREP3 files should be on Partition 3

        When you UEFI64-boot and select that file, it will replace the current partition 3 with the contents of the new file.

        Now you can use agFM to UEFI64-boot from the EFI boot file on the new hfs partition 3 (use agFM F3 key) or use the Macintosh Clover UEFI boot manager to boot from partition 3.

        E2B v2.09+ also supports switching-in .imgPTNREP3 images which are on Partition 3. Copy the sample menu file at “\_ISO\docs\Sample mnu files\E2B Menus\PTN3_IMGPTNREP3_MENU.mnu” to \_ISO\MAINMENU folder and edit is as required. The menu allows you to list payload files on partition 3 as well as showing a ‘Restore E2B Partitions’ menu entry after a partition has been switched in.

        Install Catalina to PC

        This video has directions for making a Bootable Catalina install USB drive (untested by me). Note the BIOS settings required, etc.

        Once you have made a working USB drive, you can use RMPrepUSB – Drive->File to make a copy of the first large HFS partition to a new file – e.g. Catalina.imgPTNREP3.

        You can now copy the .imgPTNREP3 file to partition3 of the E2B+agFM USB drive – UEFI-boot to agFM and select the file – reboot and then boot from the HFS partition in agFM using F3.

        PTN1: \_ISO\MAINMENU\Catalina.imgPTN23  (E2B volume)
        PTN3: \Catalina

        Now you can MBR or UEFI-boot to switch-in the partition images and then UEFI-boot on the target system.

        Alternatively, you can drag-and-drop the EFI volume onto the MPI_FAT32 Destkop shortcut (MPI ToolKit) to make a Catalina.imgPTN23 file and rename the Catalina.imgPTNREP3 file to Catalina.

        Alternative method – e.g. Catalina

        1. Create MBR type Mac USB stick either with dosdude patcher – Create a Bootable Installer or Normal by createmediainstall
        2. Use a Windows PC to create a .imgptnrep3 file from the second partition (large one) on the USB stick with the Windows program RMPrepUSB.exe – Drive->File – P2
        3. Copy the .imgptnrep3 file to the third partition of a E2B USB stick
        4. Boot to agFM on E2B drive and choose the created .imgptnrep3 file on the third partition. It will replace the third partition with the content of the .imgptnrep3 file
        5. Boot to the Mac bootloader with the option key pressed right after the chime and start the installation

        When finished, boot to agFM and restore the E2B partitions using the menu entry.

      • Linux payloads

        Linux ISOs

        Most linux ISO files will just work if you just copy them to an E2B 2nd level folder such as \_ISO\MAINMENU, \_ISO\AUTO or \_ISO\LINUX. 

        Note: linux .iso files can be renamed so that they will be listed in the menu as whatever you wish, e.g.
        \_ISO\LINUX\ubuntu 16.04 (64-bit).iso64 
        will appear as ‘Ubuntu 16.04 (64-bit)‘ in the Linux menu and will only appear in the E2B menu if the system has a 64-bit CPU.

        Tip: you can specify set EXTOFF=1 in the \_ISO\MyE2B.cfg file so that the .iso file extension is not listed in the menu.

        or use .isodef or .isodefault to avoid the user prompt and 6-second delay. e.g.
        \_ISO\LINUX\Mint 18 Cinnamon (32-bit).isodefault

        If you want to also add help text below the menu and/or change the menu entry text, use the TXT_MAKER.exe utility to make a .txt file.

        E2B automatically makes a new Type 0 partition table entry on the E2B drive (partition #4) when you select an ISO file from the E2B menu. Most Linux LiveCD ISOs will automatically mount this Type 0 partition and so it will be able to access all the files inside the ISO during 2nd stage booting. In this way no special, version-specific, ‘cheat codes’ are required and the linux distribution does not need to be identified by E2B. 99% of Linux LiveCD ISOs just work! 

        Because we are booting directly from the original ISO, we will also see the same boot menu choices that you get when you boot from the original CD. With other utilities such as YUMI or XBOOT, you often do not get the same boot menu because they use their own boot menu. If you wish to remove the USB drive once the linux OS has booted, try a .isomem file extension which loads the whole ISO into memory first. 

        Always check the List of test ISOs for your particular Linux distribution, to see if any ‘special’ tweaks are needed. 

        Tip: If booting via ‘ISOBOOT’ or the persistence ext file name is specified in the kernel parameters, ensure there are no spaces in the filenames.

        You can also check my blog for posts about E2B and Linux. 

        Installing linux from an ISO

        The ‘cdrom’ is in Partition 4 on the USB drive when you boot a Linux ISO using the Easy2Boot/partnew method.

        When you boot a linux install ISO which can install Linux onto another drive, you may find that it cannot find the ‘CD’ and ask you to install a CD driver.

        In this case, select ‘cdrom‘ device from the menu and then change the device path from /dev/cdrom to /dev/sdX4  (where X is the USB drive – e.g. b or c or d or e). 

        Alternatively, you can convert the ISO file to a FAT32 .imgPTN file using MakePartImage. See here for more details. 


        Some Linux ISO files can be run with persistence. In this case, each ISO will require a special .mnu file. Look in the \_ISO\docs\Sample mnu Files folder for a range of .mnu files.

        Typically, you will need to create another file formatted as ext3 using RMPrepUSB (or \_ISO\docs\Make_Ext\Make_Ext.exe) which will be used for persistence. 

        Note: Spaces in persistence filename can cause problems if the persistence filename is specified as a kernel parameter, so always try using a filename without spaces first and then add spaces to the filename if successful.

        Install multiple linux OS’s

        Provided that a linux distro will install to a single ext2/3/4 partition, it is possible to have multiple, fully-installed, copies of many different linux OS’s on a single-partition E2B FAT32 or NTFS USB drive. Each OS is self-contained and fully installed just the same as if it was installed on an internal hard disk (i.e. not ‘LiveCD’+persistence, but a full linux OS install). For details on how to do this, see here and read this blog post

        Contiguous files

        Before running E2B, use the \MAKE_THIS_DRIVE_CONTIGUOUS.cmd script (or Ctrl+F2 in RMPrepUSB) to make all files on the E2B USB drive contiguous.

        In linux, you can use defragfs to make a FAT32 E2B drive contiguous or udefrag for NTFS drives (see \_ISO\docs\linux_utils folder). Please go here for instructions. 

        If the \_ISO\CONTIG.ISO file is present and if it is large enough and if the Linux ISO is not contiguous, then E2B will copy it to the CONTIG.ISO file first, to make it contiguous (CONTIG.ISO must already be contiguous). 

        If CONTIG.ISO is not large enough for your ISO (i.e. your ISO is larger than 500MB), simply delete CONTIG.ISO and copy any larger file to the E2B drive and rename it as \_ISO\CONTIG.ISO. Then make it contiguous using defragfs or udefrag.


        If the ISO cannot be made contiguous, E2B will automatically attempt to use ISOBOOT.g4b. This is a grub4dos batch file which attempts to identify the ISO from it’s filename and then uses special ‘cheat codes’ to tell linux where to find the ISO file during 2nd stage booting. The method is similar to the methods used by many other multibooters such as YUMI, XBOOT, pendrivelinux, etc. As such, it may not work for all distributions and versions of linux.

        ISOBOOT.g4b may need to be constantly updated whenever a new distro is arbitrarily changed by the developers! 

        Note: The linux filename should not contain any spaces for ISOBOOT to work. Use underscores or hyphens instead of spaces.

        You can force E2B to only use ISOBOOT (instead of using the usual method of booting an ISO) by holding down the SHIFT key before pressing [Enter]. 

        You can make your own version of ISOBOOT – see ISOBOOT page for more details. 


        Not all Linux ISOs support UEFI and there may be both UEFI32 x86 and UEFI x64 ISOs available – the one chosen must match your BIOS firmware type (usually UEFI64).

        UEFI booting can be done by first booting to agFM or Ventoy for Easy2Boot and then selecting the ISO file.


        If your linux ISO supports UEFI booting, you can use MakePartImage to make a FAT32 partition image (.imgPTN) file. This will allow you to MBR or UEFI boot. Booting from a partition image (.imgPTN) file with persistence is not supported using .mnu files, however it is possible to modify some versions of Linux (e.g. Ubuntu) to support UEFI-booting with persistence. 

        agFM and Ventoy

        agFM can use a variety of boot methods, the Easy2Boot/partnew method writes a new Partition 4 entry into the USB MBR which points to the ISO files start sector and is usually the most compatible (but the ISO file must be contiguous and the USB drive must not be write-protected). Other methods are also available which do not require a contiguous ISO file.

        Ventoy uses it’s own special boot method (the file does not need to be contiguous and the drive can be write-protected).

        Both support Legacy and UEFI booting (with persistence for many ISOs that support it).

        • Add a fully installed Linux OS

          Add a fully installed Linux OS

          You can add an unlimited number of fully installed Linux OS’s to an E2B drive (if you have enough space!).

          Each OS image will be fully functional and all changes will be persistent (i.e. not just live+persistence mode but a full OS). 

          • You will need a Windows system to prepare the images (two partition image files per OS).
          • You will need to use Virtual Box and VMUB to install the Linux OS (or two USB drives).
          • The Linux distro must be able to be fully installed onto a single partition as root (\).


          1. Prepare two image files, one for the grub4dos boot files, one large, ext3/4 one for the linux partition using Make_Ext.exe or RMPrepUSB
          2. Switch to the new partitions by booting to E2B and selecting the .imgPTN file
          3. MBR-boot from the linux ISO file using Virtual Box and VMUB and format+install to the empty large partition on the E2B USB drive
            Tip: Do NOT allow it to resize, delete or create new partitions. You should only format the sdx3 partition.
          4. Now you can MBR-boot on any system to the full linux OS!

          Here is one method for Kali which is applicable to most Linux distros. 

          Note: Do NOT allow the installer to resize, create or delete existing partitions because the drive will probably not be bootable afterwards! Just keep the same file system type and use the format option only. Use Make_Ext.exe to create the correct file system (e.g. ext3 or ext4) first. 

          For a detailed description of more Linux full installations, see the blog Tutorials list (search for ‘full’). 

          It may also be possible to add a swap file if the Linux OS supports one. 

          Note that you may have problems if you attempt to update Linux to a later revision if the boot files are changed, so take a backup of the .imgPTN file before attempting a version update. In some cases you may need to re-install the grub4dos boot code after an update!

        • Installing Linux from an ISO file onto a system

          Installing Linux from an ISO file onto a system

          If you are installing linux from E2B in MBR-mode and booting from the ISO, the install script or GUI may fail to find the ‘cdrom’. 

          A typical set of questions with responses to avoid this problem would be: 

          • Load CD-Rom drivers from removable media – No
          • Manually select a CD-ROM driver – Yes
          • Module needed for accessing cd-rom  – none
          • Load CD-Rom drivers from removable media – No
          • Manually select a CD-Rom driver – Yes
          • Module needed for accessing CD-Rom  – none 

          You will then be asked to enter the Device file for accessing the CD-ROM…

          At this point, you should enter the location that E2B has mapped the ISO to (partition 4), so type: /dev/sdX4    (where X is the device letter, e.g. use /dev/sdb4 if the USB drive is the 2nd drive in the system)

          If this does not work, try -t iso9660 /dev/sdX4. 

          Tip: run a console and type sudo fdisk -l or lsblk -f or parted -l or df -h or ls /dev/sd* to determine the device name of the E2B USB drive. 

          A previous blog post for installing Debian is here.  

          Installing linux from a .imgPTN file

          The linux files will usually be on the first partition of the USB drive if a FAT32 .imgPTN is used, so type: 

          -t vfat /dev/sdX1 (where X is the device letter, e.g. use /dev/sdc1 if the USB drive is the 3rd drive in the system). 

          If you have used two partition images (a xxxxx.imgPTN + xxxxx. files), then the source files may be located on the 3rd partition, so use -t vfat /dev/sdX3 

          Tip: run a console and type sudo fdisk -l or lsblk -f or parted -l or df -h or ls /dev/sd* to determine the device name of the E2B USB drive.  


          There are several examples of installing linux from E2B here.

        • Linux + Persistence .MNU file

          Linux + Persistence using .MNU files

          Some linux ISOs can be run from an E2B USB drive with persistence. This means that most changes you make or files that you save whilst running Linux, will be remembered the next time that you boot the same ISO from the same E2B USB drive using the same persistence file. 

          To support persistence, most live Linux distributions require a persistent filesystem to be made and they need to be told to use the persistence file or persistence partition to save any changes.  

          Set up persistence using a .mnu file

          Here is a typical example of a procedure for adding a Linux ISO with persistence to you E2B USB drive by using a .mnu file: 

          1. Find a suitable .mnu file in the \_ISO\docs\Sample mnu Files folder – don’t worry if the version number of your ISO does not exactly match.

          2. Open the .mnu file in Notepad and follow the instructions – typically you will need to create an ext2 or ext3 file using the RMPrepUSB v2.1.732+Create Ext2/3/4 FS button or use  \_ISO\docs\Make_Ext\Make_Ext.exe (tip: ext3 is much less prone to corruption than ext2).

          3. Copy the .mnu fle and the Linux ISO file to a folder on your E2B USB drive – e.g. \_ISO\MAINMENU\MNU or \_ISO\LINUX\MNU

          4. Edit the .mnu file and make sure the name of the ISO filename exactly matches the one you are using.

          5. Use RMPrepUSB to create an ext file in the root of the USB drive.

          Typically, for the ext image file, you will use a filename such as Ubuntu1310-rw and a Volume name of casper-rw (RMPrepUSB – Create ext2/3/4 FS will prompt you for both the filename and the Volume name and ext type).

          You can use any filename you like (avoid using spaces in the filename), but always keep the volumename the same as the one specified in the .mnu file instructions (usually it is casper-rw). As the .mnu file will specify the file name of the ext file – if you use a different name then you must also change the name in the .mnu file – see text below, or \_ISO\docs\Make_Ext\Make_Ext.exe (E2B v1.A3+) to make a persistence file. 

          # Make a ext3 file using RMPrepUSB in the root of the drive (i.e. File Name=mint-rw  Volume Name=casper-rw)
          # Place this .mnu file and the ISO in either \_ISO\MainMenu\MNU or \_ISO\Linux\MNU
          # This menu will work even on an NTFS USB boot drive
          # IMPORTANT: you MUST run WinContig (Ctrl+F2) before booting E2B. 
          iftitle [if exist $HOME$/linuxmint-17-mate-32bit-v2.iso] Mint\n Boot using .mnu file with persistence
          set ISO=linuxmint-17-mate-32bit-v2.iso
          set PER=/mint-rw
          (more lines here)... 

          Note: A FAT32 filesystem cannot contain files larger than 4GB. 

          • Kali Linux and some other Debian-based ISOs require an ext3 file with a volume label of ‘persistence’ and a special ‘persistence.conf’ file to be created – see the instructions inside the .mnu file for details. 

          Newer versions of linux will support ext3 and ext4. I recommend ext3 because it is also compatible with grub4dos but much less prone to corruption than ext2. 

          Here is an example of the files required for Ubuntu 13.10 if using a .mnu file: 

          • \_ISO\MAINMENU\MNU\ubuntu-13.10-desktop-i386.iso     – payload file
          • \_ISO\MAINMENU\MNU\ubuntu-13.10-desktop-i386.mnu   – .mnu file (ubuntu-13.04-dektop-i386.mnu used as a template)
          • \Ubuntu1310-rw                                                                        – ext2/3/4 filesystem image file, volume name=casper-rw  

          The MNU folder name can be changed to any name or you can make a new subfolder with a different folder name – e.g. \_ISO\MAINMENU\$$Ubuntu or \_ISO\MAINMENU\MNU\$$Ubuntu will work. This will cause the menu order to change (menu entries are listed alphabetically in E2B menus).

          • The .mnu filename does not have to match the .ISO file name – .mnu files can be any name,
          • Subfolders like \_ISO\\MAINMENU\MNU can be any name. You can have lots of subfolders if you wish.
          • If you put the .iso file and the .mnu file in a 2nd-level menu folder (e.g. \_ISO\LINUX) then BOTH menu entries will be listed in the menu – one will just boot the ISO, the other one (.mnu file) will boot the ISO with persistence.
          • If you put the files at the 3rd-level folder (e.g. \_ISO\LINUX\FRED) then only the .mnu (persistence) entry will be listed in the menu.
          • If you want to change the menu entry listed for the .iso file, create a matching .txt file.

          Errors when booting ISO using .mnu file?

          The sample .mnu files are written for specific linux versions. It is often the case that the linux developers will change the name of the ‘kernel’ file and the ‘initrd’ file for no apparent good reason! This means that the files that are specified in the .mnu file may no longer exist. e.g.  

          kernel /live/vmlinuz boot=live persistence components quiet splash label live-amd64-failsafe
          initrd /live/initrd.img

          kernel /live/vmlinuz-4.9.0-3-amd64 boot=live persistence components quiet splash label live-amd64-failsafe
          initrd /live/initrd.img-4.9.0-3-amd64

          You should look at the files inside the .iso file (open iso with 7Zip) – often there will be \isolinux\*.cfg files or \grub\boot\*.cfg files which contain the ISO menu entries, e.g. the two filenames are shown in bold (look for the string ‘initrd’ inside the .cfg file):

          linux /live/vmlinuz-4.9.0-3-amd64
          APPEND initrd=/live/initrd.img-4.9.0-3-amd64 boot=live components

          Also, the Linux developers often change the extra parameters (e.g. ‘boot=live components’) when they release a new version, so you will also need to check for changes here too!

          Note: if you see — or — in the kernel parameter list, then any parameter placed after those symbols will NOT be passed to the kernel. Be sure to add any extra kernel parameters before — or —.

        • Linux + Persistence (ext3/4)

          Linux + Persistence (ext3/4)

          You can boot directly from many linux ISOs, all with separate persistence files. It is also possible for one E2B USB drive to contain many images of fully-installed linux distros (see end of this page). 

          • When booting to a LiveCD with persistence, the kernel must be told to use a persistence file or persistence partition. This is usually done by specifying a kernel parameter keyword – e.g. ‘persistent’.
          • The kernel then needs to find and mount the persistence file or partition. Some kernels will look for a file called, for instance, ‘casper-rw’ in the root of any volume, some will look for any partition with a volume name of, for instance, ‘casper-rw’, some can be told the full path and name of the persistence file using a kernel parameter.

          Tip: Avoid using spaces in filenames – once it is working, you can then try using filenames with spaces. 

          Quick Instructions for ISOs+Persistence using a .mnu file

          1. Look in the \_ISO\docs\Sample mnu Files folder for a .mnu file that has a name that matches your ISO – e.g. ubuntu-13.04-desktop-amd64_Persistent.mnu (choose the closest match possible)
          2. Use NotePad to view the instructions inside the .mnu file – it will tell you what to do.

          YouTube video on configuring persistence (quick instructions!) here

          Note: Some persistence solutions may not use a .mnu file (e.g. Knoppix+persistence), so please search this site, the list of tested payloads and my blog for solutions.

          See also Linux with persistence

          Making a persistence file using Windows

          E2B can map a persistence file which has been formatted as ext, to a partition on the E2B USB drive. Linux will usually look for a particular volume label (e.g. casper-rw or persistence) and use the new partition. 

          RMPrepUSB v2.1.732 or later can be used to easily make an ext2, ext3 or ext4 persistence file using the ‘Make Ext2/3/4 FS‘ button or use the utility on the E2B USB drive: \_ISO\docs\Make_Ext\Make_Ext.exe (E2B v1.A3+)

          Make_Ext utility

          Use ext3 or ext4 for reliable persistence

          When using an ext2 file for persistence, I have found that it can easily get corrupted if you don’t shut down linux nicely. A corrupt persistence file can cause the linux ISO file to fail to boot, even though the ISO file itself is completely good!

          ext4 adds journalling (every file access will cause extra disk writes), so for solid-state USB devices I would recommend using ext3 instead of ext4.

          Tip: Make a backup of the persistence file every few days in case it gets corrupted at a later date!

          Make a persistence file using linux

          If you do not have Windows and cannot use RMPrepUSB to make a persistence file, you can create a persistence file on the E2B USB drive under linux:

          Use cd to get to the directory where you have mounted the USB drive – e.g. /media/USBDrive, then create a file as follows (example uses 1GB mint-rw, volume name is normally casper-rw)

          (use sudo if required)

          dd if=/dev/zero of=mint-rw bs=1M count=1024 

          OR making a sparse file using dd may be faster, try this…

          dd if=/dev/zero of=casper-rw bs=1M count=0 seek=1024

          Now format it…

          mkfs -t ext2 mint-rw -L casper-rw 

          or for ext3 (recommended)

          mkfs.ext3 -F mint-rw -L casper-rw

          to defrag all the files on the E2B drive (including the persistence file)…

          sudo perl ~/Downloads/Easy2Boot/_ISO/docs/linux_utils/defragfs /media/Multiboot -f 

          or use udefrag if the E2B drive is an NTFS drive.

          sudo ~/Downloads/Easy2Boot/_ISO/docs/linux_utils/udefrag -om /media/Multiboot

          Re-sizing or transferring data to a new persistent file

          1. Create the new ext file (e.g. \newubuntu-rw) – see above for mkfs commands.

          2. Boot to the linux ISO (not with persistence)

          3. Use these linux commands to copy the contents (change sdb to the correct letter for your E2B drive, and ubuntu-rw and newubuntu-rw as required):

          sudo mkdir /mnt/source /mnt/target
          sudo mount -o loop /dev/sdb1/ubuntu-rw /mnt/source
          sudo mount /dev/sdb1/newubuntu-rw /mnt/target
          cp -var /mnt/source/. /mnt/target

          More Information

          When you boot from a CD or DVD, persistence is not normally enabled because a CD/DVD does not support ‘random-writes’. However, when booting from a USB drive with some linux ISOs, Easy2Boot can boot directly from the ISO and enable persistence. To do this a special .mnu file is needed. This is just a grub4dos menu which will be read by Easy2Boot during startup and the contents will be added to it’s own ‘in-memory’ menu.

          The instructions on how to add a persistence file are included inside each of the .mnu files. 

          There are .mnu files which support persistence for linuxmint, XiaOpan, ubuntu, YLMF, Puppy, Slax, Ubuntu, LUbuntu, Fedora, Backtrack 5, BitDefender Rescue (old versions only), geebox, kali linux, kaspersky, PCLinuxOS, Porteus, StartOS, Zorin, AntiX, android x86, debian-based distros and XBMCbuntu. More may be added later – check the latest E2B download for new additions! 

          Different sample .mnu files are included the \_ISO\docs\Sample mnu Files folder for each type of ISO file. Just open a .mnu file using a text editor and read the instructions. All of these can be run on one E2B USB drive, all with separate persistence files. If your ISO filename does not exactly match, simply change the name of the ISO file in the .mnu file (it may appear more than once). Most often linux will look for a file of a particular file name or volume name (e.g. casper-rw). However, on a multiboot USB drive, this can cause problems because you can only have one file called casper-rw. Also, some linux distros cannot access NTFS partitions and this is a problem if you boot from an NTFS drive. However, Easy2Boot avoids both of these problems by using a .mnu file in conjunction with an ext file.

          Note: Booting from a partition image file  (.imgPTN) with persistence is not supported using .mnu files, however it is possible to modify some versions of linux (e.g. Ubuntu) to support UEFI-booting with persistence.

          Some linux distros (e.g. Knoppix+Persistence) can be added to E2B. Search this site and my blog to find instructions.

          How it works

          Most of the .mnu files work on the following principle: 

          1. The user first creates a file containing data formatted as an image of an ext2/3/4 filesystem on the E2B drive.

          The Volume Name inside the ext file image usually needs to be a specific name (for instance, casper-rw).  e.g.


          ext image volume name=casper-rw

          Tip: Using RMPrepUSB or \_ISO\docs\Make_Ext\Make_Ext.exe (E2B v1.A3+) for this makes it very easy. 

          If you want to create an ext file that is larger than 4GB, you will need to format your USB drive as NTFS before you add the E2B files and add your ISO files, etc. 

          2. When E2B runs the ISO, it changes the USB drive partition table (ptn entry 3 is normally used) so that the partition start and end positions match the position of the ext file: 

          ptn3 start = start of fred

          ptn3 end  = end of fred 

          For this reason the ext file needs to be contiguous – ensure you run WinContig before you boot from the E2B USB drive (only needs to be done once).

          The volume label of the volume when mounted by linux, will be whatever you set when you made the file originally (e.g. casper-rw). This is usualy a fixed name and should not be changed. 

          3. When E2B boots from the ISO, it adds special command line parameters (also known as ‘cheat codes’) which tell the linux kernel to look for a persistence partition. 

          4. When linux boots, it looks for a Volume name of ‘casper-rw’  (the name can vary with different versions of linux).

          Because linux has mounted all the partitions, it sees partition 3 has a volume name of ‘casper-rw’ and uses it for persistent storage. 

          Note: Partition 4 will usually point to the .ISO file which has been set up by E2B. 

          If you need to boot another linux distro which also requires a casper-rw persistent filesystem, this is not a problem. For instance, you can create another ext file called ‘fred1’ with the same volume name of ‘casper-rw’ and E2B will map that as partition 3 when it boots the ISO. The .mnu file will contain code to map the ext file and boot from the ISO file. In this way, you can have multiple linux ISOs, all using different persistence files, on one E2B USB drive. Even if the linux distro does not support NTFS, this is not a problem because linux will be able to mount the ext partition (it has no need to access the NTFS filesystem). You could even have two Ubuntu menus, one for ‘Steve’ and one for ‘Mary’ – they both can boot from the same ISO, but use different persistent files and so boot with different Desktops and settings, etc.. Just make two .mnu files, one for Steve and one for Mary and make sure they use two different ext2 files (but keep the volume name the same). e.g. 

          • \_ISO\LINUX\MNU\Ubuntu.iso   
          • \_ISO\LINUX\MNU\Ubuntu_Mary.mnu
          • \_ISO\LINUX\MNU\Ubuntu_Steve.mnu
          • \steve-rw 
          • \mary-rw  

          UEFI-Booting with persistence

          It is possible to have a .imgPTN partition image file AND an ext persistence file and boot via UEFI with persistence. For details of how to do this for Ubuntu-based payloads, read my blog post here and here. Note that this does require bespoke menus to be added and so these instructions will only apply to Ubuntu-based payloads. 

          For AntiX 15 see here. It may be possible to support some other Linux payloads in this manner, but each one may require a special menu to be added or edited. 

          Fully-installed linux OS

          By creating a new partition using a large empty FAT32 .imgPTN file, it is possible to install a full linux OS to that partition. You can also have a second partition too (e.g. for a swap partition). This means that one E2B USB drive can contain multiple full linux OS’s by having multiple .imgPTN files (and the E2B drive can comprise of just one NTFS partition!). Check out some of the blog posts here (e.g. Kali full install).

        • MBR-boot from a Debian\Kali ISO with persistence

          MBR-boot from a Debian\Kali ISO with persistence

          This example is for Kali but should work with most Debian-based LiveCD ISOs which use a volume label of ‘persistence’ for their persistent filesystem and a ‘persistence.conf’ file.

          The .isopersistdebian file extension is only for E2B Legacy booting – for UEFI and MBR booting with persistence, see here.

          MBR-boot + persistence from ISO

          1. Copy your Debian-based Linux LiveCD ISO to a menu folder such as \_ISO\LINUX.

          2. Rename the file so that it looks nice as a menu entry (it can contain spaces and parentheses).

          Ensure the file name does not contain any dots (otherwise the -rw persistence file will be displayed as a menu item in the E2B menu but it is not actually bootable).

          Change the file extension of the .iso file to .isopersistdebian  (or .isopersistdebian64 if it is for 64-bit systems only).

          e.g. Kali 2019 v2 amd64.isopersistdebian

          3. Click on \_ISO\_Make_Ext.bat to make an ext3 persistence file of the required size. 

          • The persistence file must have exactly the same name as the ISO but with -rw at the end and it must have no file extension (no dot in the name). 
          • The persistence file must saved to the root of the E2B drive or to the same folder as the .isopersistdebian file.
          • Use ext3 and a volume name of ‘persistence‘.

          You should now have these two files on the E2B drive:

          • \_ISO\LINUX\Kali 2019 v2 amd64.isopersistdebian
          • \_ISO\LINUX\Kali 2019 v2 amd64-rw

          You can make a .txt file if you wish to change the menu entry.

          4. Boot to the E2B menu system and select and run the .isopersistdebian file.

          If the -rw persistence file cannot be found or if it does not have a volume name of ‘persistence’ you will be warned. In this case, fix the problem before continuing.

          For the first boot, you should expect to see a warning message similar to ‘WARNING: persistence.conf is not present in xxxxxx-rw’ because the persistence file does not yet contain the correct contents.

          5. Continue and choose the ‘Live USB Persistence’ menu option…

          6. Run a Terminal session (click on square black icon with $ sign) and make a persistence.conf file on the new 3rd partition of the USB drive.

          In the example below which was run from a Virtual Machine, the USB drive is sda but on a real system it will be sdb or sdc, etc.

          If you get an ‘Access denied’ error, then precede the command with ‘sudo’, e.g.

          sudo bash -c "echo '/ union' > /mnt/usb/persistence.conf"

          7. Now shutdown and reboot linux again using the same ‘Live USB Persistent’ menu option.

          There should be no warning message from E2B.

          To test that persistence is working, type df in a terminal session, you should see the persistence volume listed as /run/live/persistence

          If you make any changes now (except for kernel updates) they should be persistent.

          LUKS encryption

          You can use a LUKS encrypted volume if the menu option is present, but it requires some additional commands.

          This example assumes sdb is the E2B drive… 

          cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3
          cryptsetup luksOpen /dev/sdb3 my_usb
          mkfs.ext3 -L persistence /dev/mapper/my_usb
          e2label /dev/mapper/my_usb persistence
          mkdir -p /mnt/my_usb
          mount /dev/mapper/my_usb /mnt/my_usb
          echo "/ union" > /mnt/my_usb/persistence.conf
          umount /dev/mapper/my_usb
          cryptsetup luksClose /dev/mapper/my_usb

          UEFI booting

          See blog post here

          Parrot OS – error: symbol ‘grub_file_filters’ not found – If you see this error on UEFIbooting from a .imgPTN file, it is because the grub2 version used does not understand the FAT32 filesystem that the linux files are now on.

          To fix this, extract all the files from a Ubuntu x64 ISO’s  \EFI\BOOT folder and overwrite the files in the \EFI\BOOT folder of the FAT32 partition.

          If you also want UEFI32 boot to work, repeat this using a Ubuntu or similar 32-bit ISO and copy the *.efi files over.

        • Puppy Linux

          Puppy Linux

           Puppy ISOs can be booted using a .iso file extension, but some versions require a special kernel parameter when booting from a USB drive because the boot menu assumes it is booting from a CD\DVD. 

          Most Puppy versions allow you to create a ‘Save File’ when you exit from Linux. You can thus save the OS settings onto a file on the E2B USB drive. 

          If you have problems booting from the ISO, try using an alternative file extension: 
          .isoPUP – use for Puppy linux and other similar linux ISOs
          .isomacpup – use for Macpup ISOs (modifies the ISO to remove (cd) in menu.lst)

          Tip: FatDog supports persistence – it will offer you the option of making a persistence file when you shutdown and will automatically load the persistence file when you boot from the LiveCD ISO.

           BugFix note: A bug had crept into grub4dos which prevented .isopup files from booting, please use E2B v2.09c or later. Once a save file has been created (e.g. Ptn1: \slacko64save.3fs), Puppy will automatically find and load the file on boot (and save on exit). 

 supports Puppy Linux by using a .cfg file. Ventoy also supports LiveCD ISOs and persistence (see plugins pages at

          How to install Puppy to an HDD using Easy2Boot

          You can boot directly from the ISO to a ‘LiveCD’ version of Puppy and get to the Desktop.

          But if you then try to install Puppy to a hard disk, you may get an error because it cannot find the Puppy ‘CDROM’ source files.

          First, if you have a CD drive, ensure it is empty.

          Then use these commands in a terminal shell session before you start the Install process:

           mkdir /cdrom
          mount /dev/sdX4 /cdrom

          where X is the letter for your E2B USB drive (in my case it was ‘sda’ because I was using VBOX+VMUB).

          The first command will probably fail if you have a CD-ROM drive fitted (make sure it’s empty), but you can ignore the error. 

          The second command should cause the USB partition, which contains the ISO file, to be mounted as a read-only device.
          This mounts the ISO as the CD-ROM so it can be found by the installer.

          Press ESC or quit the terminal session.

          After installation, do not create a Save file and do not copy the .sfs file from CD-ROM when requested on shutdown.
          Once you have booted to Puppy on the hard disk, you can create a save file on the hard disk.

        • Ubuntu-based ISO + persistence (.isopersist)

          Ubuntu-based ISO + persistence (.isopersist)

          If your LiveCD ISO is based on Ubuntu and it contains a \casper folder and recognises a persistent volume name of casper-rw, you can use the .isopersist file extension together with an ext file to boot from the iso file with persistence. No extra .mnu file is required. 

          Typical Ubuntu-based ISOs that you can use with a .isopersist file extension are: ubuntu, lubuntu, xbmcbuntu, linuxMint, peppermint, cublinux (+Chromixium), elementaryos, linuxlite, zorin, StartOS, bitdefender, BackTrack5, lxle and DrWeb. 

          For Debian and other LiveCD ISOs, if you want persistence you must use a .mnu file or try the .isopersistdebian file extension.

          When using .isopersist with Ubuntu ISOs, you do not need to copy and modify a .mnu file. You just need these files:

          • \ubuntu-17_04-desktop-amd64-rw (ext persistence file)
          • \_ISO\LINUX\ubuntu-17_04-desktop-amd64.isopersist (iso file)
          • \_ISO\LINUX\ubuntu-17_04-desktop-amd64.txt  (optional)

          The procedure is as follows: 

          1. (optional) Open the .ISO file (e.g. using 7Zip) and check it has a /isolinux folder and a /casper folder. 
          2. Copy the .ISO file to any suitable E2B menu folder (e.g. \_ISO\LINUX). 
          3. Change the file extension of the .iso file to .isopersist
          4. Use RMPrepUSB.exe – Create ext2/3/4 or use \_ISO\docs\Make_Ext\Make_Ext.exe (E2B v1.A3+) to create a -rw file with exactly the same name as the ISO file but with -rw added, the volume name must be casper-rw for Ubuntu-based ISOs, e.g. for ubuntu64.isopersist create a persistence file as follows:

          • File Name = Ubuntu64-rw       – Note: no spaces or dots (full-stops) in filename – same as iso filename but with -rw added
          • Volume Name = casper-rw     – must be casper-rw for Ubuntu ISOs
          • Type = ext3                            – or ext4 (ext2 is not recommended as it is prone to corruption)
          • Size =  300                            – as large as you like (note: some OSs require at least 300MB)

          Note that the persistence file must end in -rw but must start with the identical filename as the ISO file.
          Also note that RMPrepUSB cannot create ext files with spaces in the filename, but you can change the filename after it has been created. 

          5. (optional) Move the -rw persistence file to the same folder as the ISO file (or leave it in the root folder of the E2B drive).

          Make sure it does not contain any dots in the filename. If it contains a dot then the persistence file will be listed in the E2B menu if you place it in a menu folder instead of the root. For example, if you use  \_ISO\LINUX\linuxmint-18.3-cinnamon-64bit-rw, then an erroneous ‘linuxmint-18’ menu item will also appear in the Linux sub-menu as well as the linuxmint-18.3-cinnamon-64bit.isopersist file. 

          When you first boot, E2B will modify the ISO file permanently.

          If it fails to work, delete and replace the ISO file in case it is corrupted – do not use the modified .iso file with a .mnu file or for any other purpose. 

          You can also add a .txt file if you want to change the menu entry text and menu entry help text under the menu. 

          Note: The ‘quiet splash’ kernel keywords, which are in a file inside the iso, are replaced with the cheat code word ‘persistent’ by E2B, so you will now see all the linux messages as the ISO boots. If you don’t wish to see these lines displayed as it boots, then you must use a .mnu file instead of using the .isopersist file extension. 

          Run the ISO without persistence

          If you sometimes wish to run the same ISO without persistence, instead of using a .isopersist file, use the original ISO file and a persistence .mnu file.

          Persistence with Kali ISO files

          You cannot use the .isopersist file extension with Kali. Kali requires an ext3 (or ext4) persistence file with a volume label of persistence. Use a .mnu file and follow the instructions inside the menu file (.e.g. “\_ISO\docs\Sample mnu files\Linux\kali-linux-2016_Persistent.mnu”) – you will need to make a persistence.conf file inside the persistence file… e.g. /dev/sdX3  where X is the letter for your USB drive…

           Kali requires a .mnu file and some manual changes. See also…Kali+Persistence (UEFI+MBR)
          Full install of Kali 2.0 to a .imgPTN file with swap file
          Add Kali linux + LUKS encryption to E2B

      • MSDaRT and ERD ISOs

        XP-based MSDaRT ISOs

        MSDart 5.0 or ERD Commander 2005/2007 are XP Recovery ISOs.

        Rename the file extension to .isomemF01 to ensure they run correctly. 

        If you are using E2B+DPMS (which includes Windows XP 32-bit Mass Storage drivers), then you can instead boot from the MSDaRT 5.0 ERD XP ISO and access SATA or RAID hard disks, even if the ISO does not have the correct drivers. To do this, use the special \_ISO\docs\Sample mnu Files\ERD5_DPMS.mnu file. Follow the instructions inside the file. This is the best way to run an XP-based recovery ISO.

        E2B v1.A7 and later versions also support the .isoDPMS file extension which has the same function as ERD5_DPMS.mnu 

        Win7/8/10-based MSDaRT ISOs

        MSDart v6.0 and later ISOs are based on Vista/7/8/10.

        For these ISOs, simple change the file extension to .iso01.  

        If you also want the ISO to be loaded as a virtual drive then use a file extension of .isoPE01 (this will require a ‘Removable’ E2B Flash drive or an E2B USB HDD+USB Helper Flash drive however for pre-Win10 1607 ISOs). 

        For ISOs which don’t seem to work correctly, use MakePartImage to make a partition image file from each ISO (use MPI_FAT32 for UEFI support). See also blog entry here.

      • Windows

        Adding Windows Install ISOs

        Note: You must use the E2B+DPMS version of Easy2Boot if you want to use Windows XP install ISOs (and always Legacy\MBR boot).

        1. Copy the .ISO file to the correct folder under \_ISO\WINDOWS (for best results)
        2. Legacy-boot to the E2B Menu system or UEFI-boot to the agFM Menu system
          Note: if installing from an XP Install ISO, you must reboot to the Easy2Boot menu after Step 1 and run Step 2.
        • E2B will try to use WIMBOOT to boot Windows Install ISOs. WIMBOOT requires >1.3GB of RAM and only works with standard Microsoft  Windows (Vista+) Install ISO files.
        • WIMBOOT has the advantage that an XML file and a Removable USB Flash drive (or WinHelper drive) is not required.
        • If a dual-architecture (32-bit + 64-bit) ISO is detected, E2B will prompt you to select ‘x86’ or ‘x64’ but if the system contains a 32-bit CPU, E2B will automatically pick the x86 version and you will not be prompted.
        • When prompted to run Repair\Setup after you select your ISO, if you press a key quickly, E2B will boot the Windows Install ISO using WIMBOOT and allow you to run Setup without needing to specify an XML file.

        For Windows Install purposes, if WIMBOOT does not work with your ISO, you can add the characters NOWIMBOOT into the filename to suppress WIMBOOT – e.g. \_ISO\WINDOWS\WIN10\Windows 10 x64 1803 (NoWimboot).iso. You can also try the agFM and Ventoy menu systems instead.

        Tip: Both agFM and Ventoy menu systems can also run Windows Install ISOs successfully.

        • The file extension must be .ISO.ISO32, .ISO64 or .imgPTN* in order to be added into the Windows Install E2B Legacy Menu.
        • In case of Secure Boot issues or other problems, convert the ISO to a .imgPTN23 file.
        • Some non-standard Windows Install ISOs may work correctly if you use the Ventoy menu system
        • E2B uses generic ‘installation-only’ Product Keys – they are legal and will not activate.
        • When installing Win8, you can use an XML file to avoid having to type in a Product Key manually.
        • Use an XML file to force Windows Setup to install the Edition of Windows that you want
        • To automate the installation of Windows + auto-install drivers + install applications + Windows updates, see SDI_CHOCO.
        • If a .cmd file exists in the same folder as the iso file and has the same filename, then it will automatically be called when WinPE starts – e.g. \_ISO\WINDOWS\WIN11\windows11.iso + \_ISO\WINDOWS\WIN11\windows11.cmd. This allows you to add drivers, registry entries or do anything else you like! (E2B and agFM).

        Windows Install menu folders

        \_ISO\WINDOWS\SVR2012            <-- Windows Server 2012 Install ISOs go here
        \_ISO\WINDOWS\SVR2K8R2         <-- Windows Server 2008 R2 Install ISOs go here
        \_ISO\WINDOWS\VISTA                <-- Windows Vista Install ISOs go here
        \_ISO\WINDOWS\WIN7                 <-- Windows 7 Install ISOs go here
        \_ISO\WINDOWS\WIN8                 <-- Windows 8 and 8.1 Install ISOs go here
        \_ISO\WINDOWS\WIN10               <-- Windows 10 Install ISOs go here
        \_ISO\WINDOWS\SVR2016            <-- Windows Server 2016 Install ISOs go here
        \_ISO\WINDOWS\SVR2019            <-- Windows Server 2019 Install ISOs go here
        \_ISO\WINDOWS\AIO                    <-- Use for All-in-One ISOs which contain multiple versions of Windows
        \_ISO\WINDOWS\XP                      <-- XP//2K/2K3 Install ISOs go here (99% of people use XP SP3 32-bit only, other versions are very difficult to install!) 
        Note: XP 64-bit ISO files should have '64' somewhere in the name of the ISO file, Win2k ISOs should have '2k' in the filename and Win2k3 ISOs should have '2k3' somewhere in the name.)

        If you have a version of Windows which does not exactly match the pre-defined folders, you will need to look-up your version to see what it is based on here. For instance, Windows MultiPoint Server 2010 belongs to the Windows Server 2008 R2 group so place the ISO file in the SVR2KR2 folder. For other versions, try the WIN7 or WIN8 folders. 

        If you place ISOs in the \_ISO\WINDOWS\xxxx folders, it allows us to use XML files and specify a Product Key.

        When installing Windows 8/10 to an OEM system that was originally shipped with a pre-installed, activated version of Windows, Setup will detect the Edition from the embedded OEM Product Key and only offer you that choice unless you specify a different Product Key in an XML file. For instance, if you buy a Win10 Home laptop but later upgrade it to Pro, if you re-install Win10 it will install Win 10 Home unless you specify a Win10 Pro key (using a generic key or the actual upgrade licence key for your system).


        How Configuration passes work
        Configure Setup Language
        Sample Unattend files
        Automating Win7/8 installs – blog post

        • .VHD and .WIM files

          .VHD and .WIM files

          E2B, agFM and Ventoy (with an added plug-in file) can directly boot from certain types of .WIM,  .VHD and VHDX files. 

          • Use ‘Fixed-size’ VHDs – BitLocker VHDs are not supported (use a .imgPTN file instead).
          • Dynamic VHDs may work, however the E2B USB drive must have enough free space (e.g. a 10GB dynamic VHD which has an expanded size of 30GB will need 20GB of free space on the E2B drive or the boot will fail). Dynamic VHD/VHDX files are prone to corruption, can fill up your E2B USB drive and are not recommended.
          • XP-based .WIM files are not supported.
          • VHDs should have a single partition.
          • Copy them to a menu folder, e.g. \_ISO\WIN or \_ISO\WINPE (not \ISO\WINDOWS\xxxx folders).
          • .WIM and .VHD files do not need to be contiguous (VHDX files must have a .VHD file extension)
          • NT6-based WinPE/Vista/7/8/10 etc. (non-XP) fixed-type .WIM, .VHD and .VHDX files are supported.
          • NT6-based dynamic VHDX files may work if given a .VHD file extension (must be enough free space on USB drive for expansion)
          • For XP-based .VHD files (with added Firadisk driver), change the extension to .VHDBOOT (also try .VHDFIRA).
          • For 32-bit XP or Win7, try .VHDFIRA or .VHDBOOT file extension (depends on how VHD was made). 
          • If you have reliability problems with Windows 7 VHDs then convert them to a NTFS .imgPTN file and ensure that the .VHD, \bootmgr and \boot\BCD files are present inside the .imgPTN file. Use BootIce to configure the BCD if required.
          • For VHD’s which first load grub4dos (look for \grldr file) – use .VHDGRLDR.
          • Can be on the 2nd or 3rd partition if you create a .mnu file.
          • E2B allows for spaces in filenames and file extension suffixes (e.g. WinPE 10 (64-bit).wim64ncq). Ventoy only recognises .VHD\.VHDX file extensions.

          If you have activation problems, try a different file extension or convert to .imgPTN file and add \bootmgr and \boot folders. 

          Note: A Windows 8.1 version of bootmgr is required to be in the \_ISO\e2b\grub\DPMS\NTBOOT.MOD folder (the Make_E2B.exe utility will try to add it automatically). E2B will warn you if it is missing or it is not a compatible version. You can obtain the correct version from inside a Microsoft Windows 8.1 installation ISO file. You can instead run “\_ISO\docs\Make_E2B_USB_Drive\Add_Bootmgr_to_E2B_drives.cmd” to add the correct version of bootmgr to your E2B drives (requires internet access). 

          Tip: Make a .txt file using \_ISO\TXT_Maker.exe for your .VHD or .WIM file – you can tick ‘Only display if 64-bit‘ if it is a 64-bit OS so that it will not be listed in the E2B menu on 32-bit systems. 

          To set up a BitLocker Windows To Go MBR-boot OS, see here. If the file is on the second E2B partition, create a .mnu file: 

          iftitle [if exist (hd0,1)/Win7Ult.VHD] Windows 7 Ultimate VHD\nBoot to Windows 7 VHD
          (bd)/%grub%/QRUN.g4b (hd0,1)/Win7Ult.VHDboot

          UEFI+MBR booting

          For UEFI-booting of VHD and WIM files, you must make a FAT32 .imgPTN file which contains all the required UEFI boot files and BCD file. A 2nd partition image can contain the large (>4GB) VHD or WIM file (on an NTFS partition). Must use Fixed Disk USB drive (or later Win10 OS VHD/WIM which will work with either type)1. Drag-and-drop a folder containing the UEFI boot files onto the MPI_FAT32 shortcut – name MyVHD.imgptn.2. Drag-and-drop a folder containing the VHD file (or WIM file) onto the MPI_NTFS shortcut – name MyVHD.3. Boot to E2B and select .imgPTN file (or use SWITCH_E2B.exe) – you will now see…
              PTN1 – FAT32 containing the EFI folder and other Windows boot files, etc.
              PTN3 – NTFS containing large VHD or WIM file.4. Use BootIce – BCD editor to configure BCD to load VHD\WIM on 2nd partition.

          Note that for BitLocker encrypted VHDs, you must specify the exact drive and partition that the VHD file is located on (you can use the ‘LOCATE’) option. Also, if using BootIce, you must use v1.3.4 or later and click on the >>> button to ensure that the MBR: BitLocker option is set.

        • Automating Windows Installs from .imgPTN files

          Automating Windows Installs from .imgPTN files

          You can UEFI or Legacy Boot to a Windows Install file using E2B or agFM and pick any XML file as an unattend file, however for reliable Secure Booting, you may find that converting the Windows ISO files to a .imgPTN (or .imgPTN23) is more reliable than using agFM.

          When you convert a Windows Install ISO to a .imgPTN file and boot from the .imgPTN partition (via the CSM Menu or UEFI booting), Windows will see a ‘flat-file’ structure, with all the folders and files directly accessible in the .imgPTN partition(s). 

          E2B eBooks are now available (including a complete course on making a multiboot USB drive and an eBook on Installing Windows). If you are creating a .imgPTN file because you need to UEFI-boot, you can instead simply directly boot to any Windows Install ISO by UEFI-booting to agFM first – you can select the XML file after selecting the Windows ISO file (see eBook #4). SDI_CHOCO is also supported. 

          WARNING: If you add an XML file which automatically partitions and formats a drive, then as soon as you UEFI-boot, it will destroy the disk contents of any system you connect it to. In particular, if you UEFI-boot from a .imgPTN file there will be no menu or other warning at all! Be careful that you don’t just pick up an E2B USB drive in this state and just UEFI-boot from it – it may wipe your system disk!I You can use the Auto.cmd method #3 below, to avoid this problem (or use an Image Index value of 99 so that you are required to press a key)!

          When you boot from the E2B .imgPTN partition, Windows will behave in the same way as if you just copied the files to a USB bootable drive. 

          In particular, Windows 8/10 will usually ask you for a Product Key. 

          You can automate the entry of a Product Key and many other Windows settings by adding an Autounattend.xml file to the image as follows: 

          To make a XML file – read my blog page here.


          You can use the E2B SDI_choco feature for automatic driver, application install and Windows Updates.

          How Windows Install .imgPTN file work:

          1. Setup.exe automatically loads the XML file or the XML file path was specified.
          2. XML file tells WinPE to run \e2b\stage1.cmd which copies stage2.cmd and other files to the C: drive.
          3. On reboot, stage2.cmd is run and it switches the partition back to the E2B partition.
          4. stage2.cmd also contains the name of the CONFIGURATION SET script – e.g. set CONFIG=fred.cmd
          5. \_ISO\WINDOWS\INSTALLS\CONFIGS\fred.cmd is run and copies the files from \_ISO\WINDOWS\INSTALLS\CONFIGS\FRED\ folder to C: drive
          6. Execution now continues using the files which were copied to the C: drive.

          To use a different configuration set – e.g. FRED, you need to:

          1. Ensure the XML file contains an entry to run \e2b\stage1.cmd
          2. Ensure the \e2b\stage2.cmd file has the CONFIG variable set to FRED.cmd (set CONFIG=FRED.cmd)
          3. Ensure \_ISO\WINDOWS\INSTALLS\CONFIGS\FRED.cmd exists (a copy of SDI_CHOCO.cmd)
          4. Ensure the folder \_ISO\WINDOWS\INSTALLS\CONFIGS\FRED\ exists (copy of SDI_CHOCO folder)
          5. Create\Modify the mystartup.cmd and any other myxxxx.cmd files you require in the  \_ISO\WINDOWS\INSTALLS\CONFIGS\FRED\ folder (use Sample_myxxx.cmd files as template).

          Method 1. If your E2B USB drive is a Removable Flash drive

          Create an AutoUnattend.xml file and copy it to the root of the image (i.e. inside the .imgPTN file).  You must first select the .imgPTN file using \_ISO\SWITCH_E2B.exe or boot to E2B, e.g. Run E2B and select the .imgPTN file and run it so that you see the CSM Menu displayed – then unplug the E2B USB drive and connect it to a Windows system.  Then copy the AutoUnattend.xml file to the root of the USB drive.

          This also works for WIndows 10 on a Fixed disk USB drive too.

          WARNING: If your XML file automatically partitions and formats the drive, if you UEFI-boot, it will immediately wipe your hard disk! See also Method 3 below. 

          Method 2. If your E2B USB drive is NOT a Removable Flash drive

          Note: recent versions of Windows 10 (e.g. 1803+) will detect a \AutoUnattend.xml file in the root of a ‘Fixed-disk’ type of USB drive. So try Method 1 first as it is easier!Windows 7/8 and early 10 will only automatically load a \AutoUnattend.xml file from a Removable USB flash drive – an easy way to be able to use an E2B .imgPTN file from a hard disk, is to simply add a small Removable USB flash drive that contains your \AutoUnattend.xml file.

          Note: MPI 0.068+ – if you boot to the CSM Menu (MBR mode), the CSM menu will copy the contents of the \AutoUnattend.xml file to the \AutoUnattend.xml file on your WinHelper USB drive. So all you need to do is place the \AutoUnattend.xml file in your .imgPTN partition and connect a WinHelper USB drive. If you want to UEFI-boot however, you must first boot to the CSM menu (do NOT use a VM), or ensure that the correct \AutoUnattend.xml file is on the WinHelper drive.

          WARNING: Note that if you UEFI-boot from the E2B drive in this state (switched to .imgPTN partition) on ANY UEFI-system, there will be no warning whatsoever and the target hard disk will immediately be wiped and formatted, if your XML is set up to do this! If this is too cumbersome or you don’t want to use a second flash drive, then you must modify the boot.wim file. This is the best solution for automated UEFI installation. 

          Tip: Use Split_WinISO.exe and Method 3 below – this automates the modification of the boot.wim file. 

          2a. Use GImageX to Mount the \sources\boot.wim file – usually a boot.wim will contain more than one image and image #2 is the one that we need to select.

          You need to make an empty folder on your Windows drive in order to mount the image from the boot.wim file – I used F:\mount1

          Click Mount to mount the image below the Mount Point folder.

          An alternative tool is MagicIso (but it is not free). 

          You should now see that all the files under F:\mount1 are the files that are inside the boot.wim image. 

          Image #2 is usually the Setup image inside the boot.wim file. 

          Note: Ensure there is enough spare space on the Source drive for another copy of the boot.wim file.

          Tip: If the boot.wim file will not mount, create a new Mount Point folder – sometimes the previous empty mount point folder will refuse to work, even after a reboot! 

          2b. Copy your  AutoUnattend.xml file to the root of the mounted folder (e.g. F:\mount1\AutoUnattend.xml or F:\mount1\Unattend.xml)

          Note: if you XML file does not contain a WindowsPE pass – name the file \Unattend.xml.

          e.g. to just include a product key:

           2c. Tick Commit Changes, click on the entry in the lower box to highlight it and then Unmount to save the changes to boot.wim This method requires that you edit the boot.wim file every time you make a change. 

          Tip 1: An easy way to create an AutoUnattend.xml file is to use the Windows Answer File Generator and the XMLtoE2B.exe converter utility. 

          Tip 2: If you have named the file AutoUnattend.xml and it is not detected by Setup, rename it to Unattend.xml. 

          WARNING: If your XML file partitions and formats the drive, if you UEFI-boot, it will immediately wipe your hard disk!  

          Method 3. Easy to change AutoUnattend.xml (select from a number of different XML files)

          Tip: See Split_WinISO section below for an automated way to create .imgPTN files – Steps 1 – 4 below (recommended). 

          This process is a bit more complicated than Method 2 above, but it allows you to easily change the \AutoUnattend.xml file which is located in the root of the image (i.e. it is not inside the \sources\boot.wim file) or  we can even allow the user to select from a range of XML files.

          This method causes Windows Setup to search for \auto.cmd and run it. This allows us specify any XML file we like.

          This method was tested using a Murphys AIO – Win7SP1_5in1-x86-Aug2015-en-US.iso  (Size: 3.57 GB SHA-1: 4DA0D82FDF22222BB018C61EA5DB743EC7974AA8).

          1. Mount the boot.wim file as in method 2 above using GimageX (make sure you select the Setup image – usually #2 – inside the boot.wim file)

          2. Copy in the winpeshl.ini and mysetup.cmd file to the  windows\system32 folder of the mounted boot.wim image – e.g. F:\mount1\windows\system32

          The download for these ‘Win_Auto_Install_Files’ is below. It is best to copy the \sources\boot.wim file to your Windows hard disk before you mount it, then modify it and delete the one on the USB drive and replace it with the new one.

          3. Commit the changes and Unmount boot.wim (close ALL Explorer windows first or you may get an error!)

          Note: if you have problems with unmounting the boot.wim, check it is not corrupt by remounting it and ensure that the new files are still present. You may need to make a new Mount folder (e.g. \mount2) or reboot your Windows system before it will remount – it is quite temperamental and does not always work after a few times!

          4. Copy the Auto.cmd file and your AutoUnattend.xml file to the root of your E2B USB drive (that is the image partition which should have \sources folder and \boot folder)

          We now need to add\change XML files(s) and edit the auto.cmd file…

          E2B .imgPTN partition

          \Sources\boot.wim   <<< contains  winpeshl.ini and mysetup.cmd  in the \windows\system32 folder.

          You can now edit or replace the sample \AutoUnattend.xml as desired.

          Tip: in case of trouble, look in the log file X:\Windows\Panther\Setupact.log for ‘Logging new OS to BB’ and the next few lines after that – it should report a AutoUnattend.xml file was found. If not then look in X:\Windows\Setupact.log.

          You can even prompt the user (using auto.cmd) and ask them which one of several unattend.xml files they want to use if you change the script in the \Auto.cmd file.

          I highly recommend using a auto.cmd file to prompt the user, even if you only have one XML file, because it also prevents you from accidentally booting from the USB drive and immediately wiping the system’s internal hard disk without warning!

          Each xml file can have different Product Keys and other settings.

          E2B .imgPTN partition

          \AutoUnattend.xml           (to be edited)
          \AutoUnattendP.xml         (not supplied)
          \AutoUnattendBlank.xml   (can be used for normal install)
          \Auto.cmd                       (modified as below)
          \Sources\boot.wim   <<< contains new winpeshl.ini and mysetup.cmd  in the \windows\system32 folder

          \Auto.cmd  (replace the contents of Auto.cmd with these lines)

          @echo off
           color 1f
           FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\Auto.cmd set UNAT=%%i:
           if not exist %UNAT%\Auto.cmd echo Could not find Auto.cmd & pause & exit
           echo Choose an option
           echo 1 Install Windows 8.1 Core
           echo 2 Install Windows 8.1 Professional
           echo 3 Choose later and enter the Product Key manually
           set ask=
           set XML=
           set /p ask=Please choose : 
           if "%ask%"=="" goto :loop
           if "%ask%"=="1" set XML=AutoUnattend.xml
           if "%ask%"=="2" set XML=AutoUnattendP.xml
           if "%ask%"=="3" set XML=AutoUnattendBlank.xml
           if "%XML%"=="" goto :loop
           x:\setup.exe /unattend:%UNAT%\%XML%

          You can edit auto.cmd to add more XML files, e.g.  Win8 Core MBR, Win8 Pro MBR, Win8 Core UEFI, Win8 Pro UEFI. Note that the file \e2b\stage2.cmd determines which config set is run. 

          The default \e2b\stage2.cmd file has a config set of set CONFIG=SDI_CHOCO.cmd.

          If you want to use a different config set, you must use a different stage2.cmd file by copying a different file to \e2b\stage2.cmd. Here is one method:

          AutoUnattend.cmd, AutoUnattendP.cmd and AutoUnattendBlank.cmd should have different CONFIG values and be located in the \e2b folder.

          @echo off
          color 1f
          FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\Auto.cmd set UNAT=%%i:
          if not exist %UNAT%\Auto.cmd echo ERROR: Could not find Auto.cmd & pause & exit
          echo Choose an option
          echo 1 Install Windows 8.1 Core
          echo 2 Install Windows 8.1 Professional
          echo 3 Choose later and enter the Product Key manually
          set ask=
          set XML=
          set /p ask=Please choose :
          if "%ask%"=="" goto :loop
          if "%ask%"=="1" set XML=AutoUnattend
          if "%ask%"=="2" set XML=AutoUnattendP
          if "%ask%"=="3" set XML=AutoUnattendBlank
          if "%XML%"=="" goto :loop
          if not exist %UNAT%\e2b\%XML%.cmd echo ERROR: %UNAT%\e2b\%XML%.cmd does not exist! & pause
          copy %UNAT%\e2b\%XML%.cmd %UNAT%\e2b\stage2.cmd
          x:\setup.exe /unattend:%UNAT%\%XML%.xml

          Split_WinISO will automatically make a boot.wim file for you and insert the auto.cmd file and sample XML files (steps 1 – 4) – see below for details. 

          Note 1: We do not have to use Setup.exe and XML files to install Windows from the Auto.cmd file. Instead you could use a combination of Diskpart and Dism to partition and install Windows using scripting – see this page for examples. 

          Note 2: stage2.cmd will run \MyConfig.cmd and \e2b\MyConfig.cmd if they exist.

          You can change the CONFIG file that is used by creating this file, e.g. \MyConfig.cmd

          set CONFIG=fred.cmd AUTO.cmd

          @echo off
          color 1f
          FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\Auto.cmd set UNAT=%%i:
          if not exist %UNAT%\Auto.cmd echo Could not find Auto.cmd & pause & exit
          if exist %UNAT%\MyConfig.cmd del %UNAT%\MyConfig.cmd > nul
          if exist %UNAT%\e2b\MyConfig.cmd del %UNAT%\e2b\MyConfig.cmd > nul
          echo Choose an option
          echo 1. Customer - No Office
          echo 2. Customer - Office 2013
          echo 3. Customer - Office 2016
          echo 4. Customer - All apps
          echo 5. Home - Own
          echo 6. Home - Kids
          echo 7. Home - MMServer
          set ask=
          set XML=
          set /p ask=Please choose :
          if "%ask%"=="" goto :loop
          if "%ask%"=="1" set XML=ProCustomer.xml
          if "%ask%"=="2" set XML=ProCustomer.xml
          if "%ask%"=="3" set XML=ProCustomer.xml
          if "%ask%"=="4" set XML=ProCustomer.xml
          if "%ask%"=="5" set XML=Home.xml
          if "%ask%"=="6" set XML=Home.xml
          if "%ask%"=="7" set XML=MMServer.xml
          if "%XML%"=="" goto :loop:: ensure stage2.cmd has name of the config file we want it to use
          if "%ask%"=="1" echo set CONFIG=NoOffice.cmd> %UNAT%\MyConfig.cmd
          if "%ask%"=="2" echo set CONFIG=Office2013.cmd> %UNAT%\MyConfig.cmd
          if "%ask%"=="3" echo set CONFIG=Office2016.cmd> %UNAT%\MyConfig.cmd
          if "%ask%"=="4" echo set CONFIG=AllApps.cmd> %UNAT%\MyConfig.cmd
          if "%ask%"=="5" echo set CONFIG=Own.cmd> %UNAT%\MyConfig.cmd
          if "%ask%"=="6" echo set CONFIG=Kids.cmd> %UNAT%\MyConfig.cmd
          if "%ask%"=="7" echo set CONFIG=MMServer.cmd> %UNAT%\MyConfig.cmd
          x:\setup.exe /unattend:%UNAT%\%XML%

          See eBook #2 for details. 

          The ‘bitness’ (32-bit or 64-bit) of the OS can be determined from the %PROCESSOR_ARCHITECTURE% environment variable.

          The boot mode (MBR or UEFI) can be determined under WinPE as shown here

          wpeutil UpdateBootInfo > nul
          for /f "tokens=2* delims=     " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
          :: Note: delims= is a TAB followed by a space.
          if "%Firmware%"=="0x1" echo WinPE booted in BIOS mode.&& set BOOTMODE=MBR
          if "%Firmware%"=="0x2" echo WinPE booted in UEFI mode.&& set BOOTMODE=UEFI
          #find type of CPU
          set CPU=32
          wmic cpu get datawidth | find "64">nul&& set CPU=64 

          Modifying XML files

          If you run the auto.cmd script, you could request a Computer Name and a User Name from the user and then modify the XML file before using it to run Setup.exe. In this way, you can use the same XML file to set up different computers. I suggest you download and add the JREPL.BAT file to the root of the FAT32 volume (inside the .imgPTN file). It can be used as follows: 

          set /p MYUSER=Account Name: 
          set /p MYCNAME=Computer Name: 
          copy %XML% NEWXML.xml
          cmd /c jrepl.bat "UNAME" "%MYUSER%" /f NEWXML.XML /o -
          cmd /c jrepl.bat "PCNAME" "%MYCNAME%" /f NEWXML.XML /o -
          x:\setup.exe /unattend:%UNAT%\NEWXML.XML

          This assumes that the original XML file %XML% has ‘UNAME’ and PCNAME already in it.

          cmd /c is used as jrepl.bat seems to change behaviour with pause or keyboard input otherwise. 

          Use Split_WinISO.exe

          Chandra’s Split_WinISO.exe utility can be used to automatically add the required files into boot.wim (image #2) and it will also split large WIM\ESD files and add a sample auto.cmd plus XML files too! 

           1. Download Split_WinISO if it is not already in the MPI download folder and extract the files directly into the MPI folder.
           2. Run Split_WinISO.exe, select an ISO file (ensure that at least one Install.WIM\ESD has been found).
          Tip: Ensure there are no spaces or strange characters in the path or ISO name!
           3. If the Install.ESD\WIM is over 4GB, use the CONVERT button – otherwise use the MPI button. You will be prompted with a few questions and then the .imgPTN file will be made.

          Say ‘Yes’ when asked if you want to inject the winpeshl.ini and MySetup.cmd files into the boot.wim image #2 (see screenshot above). This also adds a sample auto.cmd file. This is useful if you want to use various XML files (e.g. for a choice of various SDI_CHOCO XML files or other types of XML files). Now just switch to it (using SWITCH_E2B.exe) and edit the auto.cmd file as required and add any XML files to the partition volume that you need. Note that you should use standard Microsoft Windows ISOs.  

          AIO ISOs

          If you accept the boot.wim modification (for winpeshl.ini and auto.cmd, etc.) then All-In-One ISOs may not work (they may not use Image #2 or they may not run winpeshl.exe). So for AIO ISOs, say No to the boot.wim modification prompt.  

          Tips on making an AutoUnattend.xml file

          A good start to making an automated install is to use the handy online xml file generator WAFG for Win7/8/8.1/10 here. This generates an xml file that can be used on both 32-bit and 64-bit versions – there are separate entries for each of the two CPU types (i.e. there are two entries for every setting so make sure you change both occurrences!). Note that the install can be fully unattended and will just wipe your internal hard disk without asking!  The WAFG XML file however needs tweaking before it will work with E2B (or a multiple-image Install.wim). You can use the XMLtoE2B.exe converter utility to make the WAFG XML file fully automated and change it to use GPT partitions for UEFI installs.  

          Editing the XML file without using XMLtoE2B

          XMLtoE2B makes converting the WAFG XML file for use with E2B really easy, but if you don’t have it then read the instructions below to see how to manually edit an XML file. Detailed instructions can be found in my blog article here. Once you have made the xml file using Windows AFG and try to use it, you will find that it still initially prompts the user for which version of Windows to use (e.g. Starter, Home, Basic, Pro, Ultimate, etc.). To prevent this, you need to add the following section shown in red (the black text should be already present: 

          Fig. 1 Add this section to avoid being prompted for which version of Windows  you want 

          Note that the exact name (e.g. “Windows 7 PROFESSIONAL”) of the Windows version can be found using 7zip and examining the 1.xml file shown inside the root of the  \sources\Install.wim file. The top xml file shows you which versions are present inside the Install.wim file and the correct spelling. 

          You will need to insert the red text twice, because the OSImage section occurs twice – once for 32-bit and once for 64-bit (amd64). You will also need to specify a Product Key that matches the version you specify (again, it occurs twice). A generic key can be used for installation purposes. The Windows utility XMLtoE2B.exe will convert the output of the Windows Answer File Generator to the correct format for an automated install.
          It is available on request, to anyone who has made a donation of £10 or more. I will include a licence file to make it fully functional. The \sources\ei.cfg file is ignored (if present). 

          If you want the user to be prompted to input their own ComputerName near the end of the installation, delete the two ComputerName lines (i.e. the word “ComputerName” should not be present anywhere inside the xml file) and make sure the SkipMachineOOBE setting is false in both places – otherwise a random name based on the UserName will be automatically chosen – e.g. User1-TGY347.

            Fig.2 Delete completely the two ComputerName lines, if you want the end user to be prompted to enter a machine name (SkipMachineOOBE=false).

          To enable the Administrator account, set the AutoLogon UserName to Administrator. If you do not add any User Accounts in the XML file, then you will be prompted to create a User Account at the end of the build unless you set SkipMachineOOBE to true.

          Testing Automated Windows 8/8.1/10 MBR and UEFI installs using a Virtual Machine

          When booting from an E2B USB drive on a real system, the Hard disk should be Drive 0.

          Unfortunately, Virtual Box + DavidB’s VMUB utility can only boot from the USB drive as Drive 0, so we need to make sure Windows is installed to Drive 1 not Drive 0 (and that the XML file does not wipe Drive 0).

          Also, the E2B USB drive will be seen as a ‘Fixed Disk’ in VirtualBox (even if it is really a Removable Flash drive)1. Create an XML answer file using WAFG+XMLtoE2B.exe (see here for details).

          2. Edit the XML answer file using NotePad and change all occurences of DiskID 0  to 1 (or use one of the Disk1_VM_Only .diskcfg files when using XMLtoE2B).

          3. Using MakePartImage, convert your Windows 8/8.1/10 Install ISO to a FAT32 partition image using the MPI_FAT32 shortcut. Copy it to \_ISO\MAINMENU on the E2B Drive.

          4. Boot to E2B (e.g. using DavidB’s VMUB utiity) and run the Windows .imgPTN menu entry to get to the CSM menu – then exit (F10).

          5. You should now see the contents of the .imgPTN partition on the E2B USB drive using Windows Explorer (e.g. \Sources folder)

          6. Add the XML file to the root of the \Sources\boot.wim file as described above using GImageX (file must be called AutoUnattend.XML).

          Note: if you want to be able to easily update the XML file in future or choose from a selection of XML files, refer to the ‘3. Easily changeable AutoUnattend.xml‘ heading on this page. For instance, you can have different XML files for Win8 Core, Win8 Pro, MBR and UEFI\GPT installs.

          7. (optional) Boot to the E2B USB drive in MBR mode and switch back to the E2B menu. Then copy the .imgPTN file to your system hard drive – this is a backup file in case things go wrong!.

          8. (optional) Boot to the E2B USB drive in MBR mode and select the .imgPTN file again. Quit at the CSM menu.

          9. Now boot from the VM in UEFI mode or MBR\BIOS mode (32-bit or 64-bit) as required using DavidB’s VMUB utility. The install should proceed automatically to the virtual disk 1.

          UEFI VM – When the installation completes do not reboot (otherwise the Windows Install will start again and wipe Drive 1!). You can now check the install worked as expected within Windows.

          10a. MBR VM – When Windows reboots, press F7 in the CSM menu to boot from the virtual hard disk.

          10b. UEFI VM – If you want to boot again to Windows on Disk 1, run Virtual Box manager and delete the E2B USB .vmdk entry under Storage (e.g. SATA0) leaving just the Virtual Disk drive as disk 1 (SATA1 or IDE slave) as shown below. Now boot from the UEFI VM (do NOT use DavidB’s VMUB utility) and it will boot to Windows each time from the Virtual disk 1.

          If you use DavidB’ VMUB utility to boot from the E2B USB drive, it will add back in the USB drive (.vmdk) and then it will boot from the E2B USB drive again and a Windows Install will start again. 

          Boot it in MBR\Legacy mode to return back to the E2B Main menu (use CSM menu option 0) – or run the \e2b\Restore_e2b.cmd batch file from Windows or run \_ISO\SWITCH_E2B.exe and click on the ‘Restore E2B partitions’ button.

        • Fully automated SDI_CHOCO process

          The SDI_CHOCO Process

          SDI_CHOCO process is the name I have given to describe E2B’s fully automated install process. 

          Detailed instructions and step-by-step exercises can be found in the E2B eBook #2.


          Once you have set up the E2B USB drive for the SDI_CHOCO process, you will be able to pick any Windows 7, 8.1 or 10 install ISO and install Windows + drivers + applications + Windows Updates (Win 8.1/10 only) automatically. You do not need to alter the standard Microsoft ISO files, so you can just use a different version of an ISO (e.g. a new Win 10 version) and you won’t need to change anything else! 

          1. Snappy Driver Installer (SDI)
          2. Chocolately application installer (choco)
          3. (optional) WSUS Windows Offline Updates (WSUS) (Win 8.1 and 10 only)

          • SDI – This utility automatically finds and installs the correct drivers using pre-downloaded Driverpacks on the E2B USB drive.
          • Chocolatey
              Choco Online: 
            Downloads the latest application packages from the internet each time and then installs them silently.
              Choco Offline: Add offline choco packages to your E2B drive and install each one silently using a simple command. 
              (You can also install your own .exe/.msi packages and drivers, etc.)
          • WSUS – This utility will install the correct pre-downloaded Windows Updates without needing a network connection

          The SDI_CHOCO files are all kept under the \_ISO\WINDOWS\installs folder…

          Once you have set up SDI_CHOCO, you can automatically install default drivers and any applications you choose.

          If you add WSUS Offline Updater to the E2B drive, it will also install Windows Updates (note: applying the updates can be very slow! Many people prefer to integrate the updates into the OS and make a new Install.wim file).

          There is also provision to add your own drivers and applications too and have different configurations for different systems.

          The *_SDI_CHOCO.XML files (included in SAMPLE XML FILES subfolders – copy them up one level to use them)  for Windows 7/8/10 Installer ISO files can automatically install drivers and applications, e.g.

          • NO KEY (choose a version to install) with SDI_CHOCO.xml – You will be requested to choose a Product Key (manual installation) –  driver+apps+updates are automated.
          • ZZDANGER_Auto_WipeDisk0_Win10HomeUK_with_SDI_CHOCO.xml – Automatically wipes hard disk 0, install Windows 10 Home with UK settings +drivers+apps+updates – completely hands-free!

          You can make your own XML files without needing all the Microsoft bloatware SDK/ADK/WAIK, just use WAFG+XMLtoE2B – see hereSnappy Driver Installer:
          You can also run ‘Snappy’ directly from the E2B drive on any Windows system. This might be useful if you just want to update the drivers on an existing Windows system. 

          .TAG files

          You can  create these files (any size or content) in the CONFIGS\XXXX folder to control SDI_CHOCO (e.g. \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\):

          • NoInternet.TAG   – Internet connectivity will not be checked, msoobe will not be called to initialize WiFi n/w during Specialize (internet connectivity may or may not be available depending on Windows and what drivers are installed).
          • NoChoco.TAG      – choco will not be downloaded from internet (but chocolatey package and app packages can still be Offline if added)
          • NoSDI.TAG         – The Snappy Driver Installer will not run (useful if you install your own drivers)
          • NoWSUS.TAG       – WSUS Offline Updater will not run
          • OfflineChoco.TAG – \_ISO\WINDOWS\INSTALLS\CHOCBOX folder is copied to C:\DRIVERS\CHOCBOX and Chocolatey is installed directly from E2B drive – choco apps can still be downloaded online.
          • NoBeep.TAG         – do not beep the speaker (v1.93+)
          • NoSpeak.TAG       – don’t tell me what you are doing (v1.93+)


          Because Chocolatey is installed onto the target system, you can install more applications once the automated installation has finished, by simply typing (for example) ‘choco install skype‘ from an admin command prompt or type ‘choco list‘ to list all apps available or ‘clist note‘ to list all applications containing ‘note’.

          For Windows 7, Chocolatey (if online) will automatically install .Net 4 – this takes quite a while (10-20 minutes).

          OOBE = Out Of Box Experience: this is the set of Microsoft Windows User Setup dialogues used to configure the OS for the first time (Country, account name, password, WiFi, etc.).

          Offline Example:

          NoInternet.TAG + OfflineChoco.TAG = If you have added choco packages onto the E2B drive, then no internet connection is needed. Chocolatey will be installed + any application packages you specify. Chocolatey.nupkg is required.

          Windows 10 1709


          During the Specialize phase (e.g. SDI_CHOCO.cmd and MySpecialize.cmd), full network functionality may not be available. 

          Connect an Ethernet cable and add the NoInternet.tag file. Settings in the XML file can affect this behaviour.

          Can also use OfflineChoco.tag.

          Windows 8.1: 

          Use NoInternet.TAG + OfflineChoco.TAG. Chocolatey.nupkg is required.

          Windows 7 

          Use NoInternet.TAG + OfflineChoco.TAG + NoWSUS.TAG. Use E2B v1.B9 or later. Chocolatey.nupkg is required.

          For Windows 7 you must add the Offline package file for Microsoft .Net 4.5.2.

          1. Download and add  \_ISO\WINDWS\installs\INSTALLCHOCO\NDP452-KB2901907-x86-x64-AllOS-ENU.exe

          Or follow these instructions for fully updated Win7 ISO…

          (instructions courtesy of Nathan):

          1. You must update the Win7 ISO first using 7UP. Download or later. Also download UpdatePack7R2-20.2.21.exe from the first post
          2. Recommended download to help with choco install otherwise SDI_CHOCO script will look like its frozen while it downloads .net and installs it net-framework-48-for-windows-7
          3. Optional downloads not required but can help later vc runtimes Directx SmartFix
          4. Remember to download 32 or 64 bit versions where available to match your iso.
          5. Do not download the following as it causes issues with SDI and crashes computer. Not really needed as SDI will install any missing and update drivers anyway. 7UPDRIVERS.7z
          6. When you have everything set up your directory should look like this before you modify the ISO…
          7. Extract windows 7 iso.
          8. Now run as admin 7updaterv50.cmd – It will ask you a few questions, first where are windows7 install files located,
          9. Then it will ask about installing files to boot.wim say “yes” this is usb 3 sata and a few other drivers.
          10. Next asks you about which image to update (just do all of them its quite quick doing the other images)
          11. Next say yes to IE11
          12. Once is all finished use isocreate.cmd to make your new iso and place it on your e2b drive once completed.

          Getting Started

          Here are the steps you need to prepare the E2B drive for SDI, choco and WSUS:

          Prepare your E2B USB drive for SDI_CHOCO

          1. This feature works when using standard Microsoft Windows Installer ISO or .imgPTN files. It may work with some other ISOs (or may not!).

          You need to have either:

          • A large E2B USB ‘Removable’ type Flash drive + Windows Installer ISO files (recommended)


          • An E2B USB Hard Drive + Windows Installer ISO files + a small ‘Removable’ type USB ‘WinHelper’ Flash drive
            If you are using a ‘Fixed Disk’ type of USB drive and E2B v1.A8 or later, you will need 2GB+ of RAM (No WinHelper drive required).


          • An E2B USB drive with Windows installer .imgPTN files (see end of this page)

          Note: If using a Virtual Machine, use E2B v1.A8+ and2gb+ of RAM. Take care not to wipe the USB drive!

          Copy a suitable Windows 8.1 or 10 ISO file to the E2B \_ISO\WINDOWS\WIN8 or WIN10 folder, if not using .imgPTN files.
          Note: There are internet connectivity bugs in some Windows 10 TH2 and Anniversary ISOs.

          If you now try one of the SDI_CHOCO XML files, it will work, but it will not yet install any extra drivers or applications or updates…

          2. (optional) If you want to install missing, newer or ‘better matched’ drivers, we must first download all the SDI Driverpacks (approx. 13GB) onto the E2B drive.

            This can be done on any Windows computer.

          1. Double-click on a \_ISO\WINDOWS\INSTALLS\SNAPPY\SDI*.exe file to start the Snappy GUI (64-bit is faster)
          2. Accept the Windows Firewall prompt.
          3. Now click on (click here to start the download) , tick the Application and Indexes boxes and select all the Driverpacks you want.
          4. Download all the Driverpacks and latest SDI*.exe files (do NOT click on the green Install button!).

          Or – if you wish, you can download the latest full SDI version with all drivers here and then copy the files to the E2B USB drive.

          Once finished, I suggest you make a backup copy, in case you lose your E2B drive, to save having to download the driverpacks again.

          Note: You should select for download the latest version of SDI (tick ‘application‘) and the latest Index. You can delete older versions of the SD??????.exe files and just leave the latest version (one 32-bit and one 64-bit) – SDI_CHOCO will always use the most recent .exe file that is in the folder.

          The sdi.cfg file determines the Snappy settings. E2B uses a default sdi.cfg setting which installs drivers which are ‘Not installed’, ‘Newer’ or a ‘Better match’.

          Note that some drivers can cause problems, so you may find it best to omit the ones that can be difficult to identify correctly – the Touchpad driver can often cause problems as often notebooks require a very specific version. You may also wish to omit any graphics drivers too. You can delete the driver .zip files if you have already downloaded them.

          To change the settings, simply run the SDI executable and tick/untick the boxes. This will change the sdi.cfg file.

          Note: Updating E2B will restore the default settings. You may wish to copy your sdi.cfg to Mysdi.cfg so that you have a copy.

          Note: Latest versions seems to have a ‘GNU GENERAL PUBLIC LICENCE’ EULA which requires you to click on the Accept button. Make sure you do this before starting an automated install.

          3. (optional) Add WSUS Offline Updates

          Note: The WSUS Offline Updater is discontinued for Win7.

          1.    Download and extract WSUS Offline Updater to your Windows hard disk (WARNING: do NOT use Windows to extract the files from the ZIP file because it is reported to use incorrect timestamps, instead is 7zip, WinRar or some other 3rd-party tool).
          2.    Run the UpdateGenerator.exe application and tick the updates you require (see below).
          3.    Download the updates (this may take some time)
          4.    Now copy the whole wsusoffline folder to the E2B USB drive \_ISO\WINDOWS\INSTALLS folder so that \_ISO\WINDOWS\INSTALLS\wsusoffline now contains the UpdateGenerator.exe application and all other files and folders.

          Note: You will need to ‘freshen’ the updates once a week to keep them up to date.

          4. (optional) Finally, you may want to install some applications:

          Copy the \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\Sample_MyStartup.cmd file and rename it to:

          You can examine and change MyStartup.cmd if you wish to use choco commands to install applications.
          Note that an internet connection is required for choco downloads unless you first download the choco packages (see ‘Install choco applications offline’ and below).

          5. (optional) You must use an Unattend.XML file that will run the SDI_CHOCO cmd file which ‘kicks off’ the whole thing.
          You can create your own unattend XML file if you wish (see here).

          Sample ‘SDI_CHOCO’  XML files are also provided with E2B.

          The XML files must be in the same folder as the .ISO file.


          • Add MySpecialize.cmd?
          • Add MySetupcomplete.cmd?
          • Add MyStartup.cmd
          • Create .TAG files if required
          • ISO in correct \_ISO\WINDOWS\XXXXXX folder
          • XML file in same folder as ISO and has special entry to run SDI_CHOCO.cmd

          Do not edit any of the existing E2B files because they will be overwritten if you update your E2B drive with a newer version of E2B.

          Installing Windows

          1. First connect an ethernet cable to the target system – internet access is required to install applications using choco (unless using offline choco packages).
            Note: For Windows 10 you will be prompted to set up WiFi (specify a name and key) if no ethernet\internet is available. For offline Chocolatey, no internet is required. The WiFi wizard can be disabled using a setting in the XML file (true).
          2. Boot to E2B and select Windows 7/8.1 or Windows 10 ISO as usual.
          3. Now choose one of the xxxxxxx_SDI_CHOCO.XML files – e.g. Windows 10 Home with SDI_CHOCO.xml (or a ‘choose a key’ with SDI_CHOCO and then choose a product Key).

          Note: If you want to try one of the sample AutoWipe_xxxxxx_SDI_CHOCO.XML then these are fully automatic and will immediately wipe Hard Disk 0. Do not test it using Virtual Box if the USB drive is HDD0 or it will wipe the USB drive!

          Tip: You can create a .mnu file which will run a specific ISO with a specific XML file.

          How SDI_CHOCO works

          1. The XML file contains a ‘Specialize’ pass section which causes the \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO.cmd script on the E2B USB drive to run during the ‘Specialize’ phase.
          2. The SDI_CHOCO.cmd script copies files from the SDI_CHOCO folder (same name as cmd file) and adds two files to the target hard disk:
            SetupComplete.cmd – this runs after Windows Setup has finished but before a user account is created and before the first user logon.
            Startup.cmd – this runs on first user logon.
          3. As well as these two files, it also copies the entire contents of the SDI_CHOCO folder to C:\DRIVERS.
            If wsusoffline is present, this folder is also copied to the C:\DRIVERS folder.
          4. Next SDI_CHOCO.cmd runs the SDI app. directly from the E2B USB drive and will install drivers.
          5. Next SDI_CHOCO.cmd checks it has internet access (if installing Windows 10 – please use the latest version of TH2 – the first version of TH2 had network bugs!)
          6. Next SDI_CHOCO.cmd will install Chocolatey (if required) and calls the MySpecialize.cmd script (if present)
          7. Next the system will reboot and complete the installation of Windows.
          8. Next it will run SetupComplete.cmd which will call the MySetupComplete.cmd script (if present)
          9. If autologon was enabled (or after you manually create a new user in Setup), the Startup.cmd file will run and call the MyStartup.cmd script (if present).

          You can create and edit the three controlling files MySpecialize.cmdMySetupComplete.cmd and MyStartup.cmd – use the example Sample_Myxxxxxx.cmd files as templates.

          Order of execution

          1. Reboot after Setup file copy phase
          2. SDI_CHOCO.cmd  (contents of .\CONFIGS\SDI_CHOCO\* copied to C:\DRIVERS)
          3. Call C:\DRIVERS\MySpecialize.cmd (USB drive can be removed when complete)
          4. Reboot
          5. SetupComplete.cmd will call C:\DRIVERS\MySetupComplete.cmd
          6. User account(s) created
          7. OOBE starts
          8. C:\DRIVERS\Startup.cmd (wsusoffline is run if present) then will call C:\DRIVERS\MyStartup.cmd to install apps, etc.

          .tag files

          Also, these .tag files can be added for more control:

          • \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\NoWSUS.tag – suppresses Windows offline updates
          • \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\Nochoco.tag – suppresses choco installs
          • \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\NoSDI.tag – suppresses the SDI driver installer
          • \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\NoInternet.tag – do not launch MSOOBE to allow user to connect to WiFi if no WAN available
          • \_ISO\WINDOWS\INSTALLS\CHOCBOX\SDI_CHOCO\OfflineChoco.tag –  folder is copied to C:\DRIVERS\CHOCBOX and Chocolatey is installed from E2B drive
          • \_ISO\WINDOWS\INSTALLS\CHOCBOX\SDI_CHOCO\NoBeep.TAG        – do not beep the speaker (v1.93+)
          • \_ISO\WINDOWS\INSTALLS\CHOCBOX\SDI_CHOCO\NoSpeak.TAG      – don’t tell me what you are doing (v1.93+)

          The \_ISO\WINDOWS\INSTALLS folder structure

          • \_ISO\WINDOWS\INSTALLS – contains all SDI_CHOCO sub-folders
          • \_ISO\WINDOWS\INSTALLS\APPS\CHROME – example folder for an offline application is included
          • \_ISO\WINDOWS\INSTALLS\APPS\CHOCBOX – offline application packages for choco go here
          • \_ISO\WINDOWS\INSTALLS\CONFIGS – contains the main script that must be specified in the XML file and kicks off the whole thing. Also contains the sub-folder of the same name which is copied across to the target hard drive \DRIVERS folder.
          • \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO – example config set – contains the SDI_CHOCO scripts and helper utilities – these are copied across to the target hard drive.
          • \_ISO\WINDOWS\INSTALLS\DRIVERS – you can keep your bespoke drivers here and copy them to the target hard disk – use sub-folders.
          • \_ISO\WINDOWS\INSTALLS\SNAPPY – contains the Snappy SDI files but you need to add the Driverpacks first
          • \_ISO\WINDOWS\INSTALLS\wsusoffline – add WSUS files here if you want to install offline Windows Updates
          • \_ISO\WINDOWS\INSTALLS\INSTALLCHOCO – files used to install Chocolatey – used for offline install of Chocolatey

          Auto-activation (for Win8/10)

          If the system had already been registered with Microsoft and activated, you can use the autoactivate.cmd script to automatically activate it again (requires internet access).

          You must download the get_win8key.exe file and add it to the \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO folder.

          • :: Activate if get_win8key.exe has been added
          • :: get_win8key.exe can be downloaded from
          • :: Right-click – Properties – UnBlock  after downloading the file
          • :: Must be run as Admin
          • if exist %systemdrive%\DRIVERS\get_win8key.exe call %systemdrive%\DRIVERS\autoactivate.cmd

          The system BIOS\Firmware should already contain a Win8 or Win10 embedded OEM key.  

          How to install bespoke drivers (example for Lenovo)

          In my experience, specialized products such as notebooks, tablets, netbooks, etc. require bespoke drivers.

          They also require additional drivers which are not inluded in SDI, such as ACPI and hotkey drivers.

          I would highly recommend that you always use the correct manufacturers drivers for these products.

          Lenovo provide Windows 10 downloads for the IdeaPad 300 notebook in the form of executables.

          1. These must first be extracted as follows:

          • Double-click the .exe file to run it
          • Click Next\OK to extract the files to the C:\DRIVERS folder – I suggest you rename the folder name and remove any spaces.
          • Do NOT proceed to install the drivers – untick the box and click Finish.

          Do this for each of the drivers/applications.

          2. Now copy all the sub-folders that are in C:\DRIVERS to \_ISO\WINDOWS\INSTALLS\DRIVERS\IDPAD300\W10_8_64

          3. Now prepare a .cmd script that will install each driver \_ISO\WINDOWS\INSTALLS\DRIVERS\IDPAD300\W10_8_64\ID300_DRIV_INST.cmd

          The difficult bit is in finding the correct switches to make the drivers install silently!

          Here is an example folder file structure for Windows 8 and Windows 10 64-bit drivers for the IdeaPad 300:



          Here is an example ID300_DRIV_INST.cmd file:

          pushd "%~dp0"
          :: Possible switches -s or /SILENT /NORESTART or  /S /v/qn  or /qn /norestart  or -s -sms ???
          start /wait dotnetfx35.exe /q /norestart
          start /wait .\Power\POWER_ACPI_acpidriver.exe /SILENT /norestart
          start /wait .\chipset\setupchipset.exe -s -norestart
          start /wait .\IME\MEISetup.exe -s
          start /wait .\RealtekLAN\setup.exe -s
          reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iastora\Parameters\Device /v Controller0Phy1ANEnable /t REG_DWORD /d 0 /f
          reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iastora\Parameters\Device /v Controller0Phy1ANEnable | find /i "0x0"
          start /wait .\RealtekCardRdr\setup.exe -s
          start /wait .\ConexantAudio\setup.exe -s
          start /wait .\VGA\Setup.exe -s
          timeout 5
          start /wait .\camera\Alcor_2.44.50.23\setup -s
          start /wait .\camera\Realtek_6.3.9600.11105_WHQL\setup -s
          start /wait .\LenovoUtility\setup.exe /SILENT
          start /wait .\LenovoOptimizer\pt_install_msi.exe /Q /SILENT
          start /wait .\SysIntFoundation\SystemInterfaceFoundation.exe /SILENT /norestart
          start /wait _Solution_centre_updates_lscsetup_x64_33003.exe /s /v/qn
          start /wait .\TPAD\install.exe /S
          :: tpad doesn't wait - so delay
          timeout 20
          echo Finished!

          Note: The ‘reg add’ lines are taken from one of the IdeaPad ‘tweak’ driver downloads and were added into the .cmd file.

          4. Now edit the MySpecialize.cmd file so that it copies the whole folder from the USB drive to the target hard disk and then run the ID300_DRIV_INST.cmd script.

          This example allows us to remove the USB drive as soon as the drivers have been copied to C:\DRIVERS


          :: Environment variables that are already available:
          :: %USB% is the USB drive - e.g. D:
          :: %BIT% will either be X86 or AMD64
          :: %WINVER% will be 7 or 8 or 10
          :: %log% will be the log file
          :: %errlog% will be a log file to record errors
          :: %systemdrive%\DRIVERS folder will hold all files that were in %USB%\_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO
          :: Download and install some choco applications - it is best to install choco apps using Startup.cmd
          :: Some choco apps installed at this stage of Setup may not register correctly
          :: activate Windows if possible using BIOS OEM key
          call C:\DRIVERS\autoactivate.cmd
          if exist %systemdrive%\DRIVERS\NoChoco.TAG start /wait %systemdrive%\DRIVERS\nircmd speak text "WARNING: The file No Choco dot tag was found - choco installs will NOT work"
          choco install 7zip.install -r -y >> %log%
          :: Copy bespoke drivers for IdeaPad 300
          xcopy /herky %USB%\_ISO\WINDOWS\INSTALLS\DRIVERS\IDPAD300\W8_10_64\*.* %systemdrive%\DRIVERS\IDPAD300\W8_10_64\
          :: We can remove the USB drive now before we install the drivers
          :: This script is now running directly from C:\DRIVERS - use 'exit' so it does not return to the USB drive cmd file
          start /wait %systemdrive%\DRIVERS\nircmd.exe speak text "You can remove the USB drive now"
          :: Turn on CAPSLOCK to indicate safe to remove E2B
          start /wait %systemdrive%\DRIVERS\nircmd sendkeypress capslock scroll
          timeout 5
          :: Now install drivers from the C: drive
          echo %date% %time% Installing drivers >> %log%
          call %systemdrive%\DRIVERS\IDPAD300\W8_10_64\ID300_DRIV_INST.cmd
          start /wait %systemdrive%\DRIVERS\nircmd.exe speak text "Driver install completed"
          :: Do NOT return back to the end of SDI_CHOCO.cmd because it is running from the USB drive which is now gone!

          You can install several choco packages using just one line:

          choco install 7zip.install googlechrome sysinternals winmerge FoxitReader -r -y >> %log% 

          5. Create a \_ISO\WINDOWS\INSTALLS\CONFIGS\IDEAPAD300\NoSDI.tag file to prevent the Snappy SDI from installing the generic drivers. It can be an empty file.

          Example assumes your config folder is IDEAPAD300.

          See my blog for more details.

          Also note: The MySpecialize.cmd file contains the following lines:

          :: activate Windows if possible using BIOS OEM key
          call C:\DRIVERS\autoactivate.cmd
          :: Remove this line if you want to install bespoke drivers (example below)
          goto :eof
          :: Install bespoke driver
          :: Copy bespoke drivers for IdeaPad 300
          xcopy /herky %USB%\_ISO\WINDOWS\INSTALLS\DRIVERS\IDPAD300\W8_10_64\*.* %systemdrive%\DRIVERS\IDPAD300\W8_10_64\
          :: We can remove the USB drive now before we install the drivers
          ...more here

          The lines in red should be deleted (goto :eof means ‘go to the end of the file’ so any lines following it will never be executed) and you should change the ‘xcopy’ line below it as required for your drivers.

          How to run other programs or cmd scripts

          Example: You want to add a power profile script which you downloaded from  

          1. Copy the power.bat file to your main config folder, e.g. \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO

          2. Add the following line to one of your Myxxxxx.cmd scripts, e.g. \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO\MyStartup.cmd

          start /wait C:\DRIVERS\power.bat >> %log%

          Note: The WAFG site contains links for a Feature Configurator, Power Plan and Services script utility at the bottom of each of the XML generator pages.

          Capture drivers and re-apply them to a freshly installed system

          You can use a DISM command to collect any current (.INF) drivers on a fully installed system.

          You can then add those driver folders to a SDI_CHOCO configuration and add a line into your MySpecialize.cmd script to run a DISM command to install those drivers onto a similar system.

          See here for more details about the DISM command.

          How to install applications offline

          Install your own packages

          You can install applications by adding the packages to your E2B drive first.

          You can download application install files from Choose the versions you want and copy them to the E2B USB drive’s \_ISO\WINDOWS\INSTALLS\APPS folder (use sub-folders for each one, e.g. one for Foxit Reader, one for NotePad++, one for AppX, one for APPy, etc.).

          We need to ensure that the applications are copied to the C:\DRIVERS\APPS folder by adding xcopy lines to MySpecialize.cmd.

          MyStartup.cmd will automatically run any .cmd file that it finds in the C:\DRIVERS\APPS folder, so copy over one or more .cmd files to %systemdrive%\DRIVERS\APPS by editing MySpecialize.cmd and they will be automatically run later.

          Example below copies Foxit Reader application installer files and also a .cmd file which will install Foxit Reader using those files…


          Look for the :: ——– COPY BESPOKE APPS TO C:\DRIVERS\APPS ———— section in MySpecialize.cmd and add in some lines which will copy your app setup files…

          For example::

          :: Copy bespoke apps
          xcopy /herky %USB%\_ISO\WINDOWS\INSTALLS\APPS\FOXIT\*.* %systemdrive%\DRIVERS\APPS\FOXIT\
          :: now copy the .cmd file C:\DRIVERS\APPS folder so it will auto-run
          xcopy %USB%\_ISO\WINDOWS\INSTALLS\APPS\FOXIT\Foxauto.cmd %systemdrive%\DRIVERS\APPS\

          Foxauto.cmd would contain the line…

          start /wait C:\DRIVERS\APPS\FOXIT\FoxitReader734_enu_Setup_Prom.exe /silent

          Note that it expects the files to be in C:\DRIVERS\APPS\FOXIT (if %systemdrive% is C: which it usually is!). 

          MyStartup.cmd is only required to be changed if you do not copy any .cmd file to the C:\DRIVERS\APPS folder.
          So if you did not copy any .cmd file to %systemdrive%\DRIVERS\APPS\ to install FoxIt, then you need to add the silent install command into MyStartUp.cmd – e.g.

          start /wait C:\DRIVERS\APPS\FOXIT\FoxitReader734_enu_Setup_Prom.exe /silent

          The advantage of installing apps directly, is that internet access is not required and you can disable choco (using NoChoco.tag). The installation is thus completely offline.

          Note: StartUp.cmd already contains the lines:

          :: ----- BESPOKE APP INSTALL ---
          :: Install any apps we have added - run all .cmd files in DRIVERS\APPS folder...
          FOR %%I IN (%systemdrive%\DRIVERS\APPS\*.cmd) DO CALL :loopbody %%I

          This means that any *.cmd files that you copy to the C:\DRIVERS\APPS folder should automatically run. You can examine the .log files in C:\temp to see if it was called.

          Any output from your cmd file will go into the log file which you can check later.

          You may also wish to use NiNite to install applications. If you use the Pro version you can use the /Silent switch to install apps silently and /freeze for offline installs.

          Silent Install switches

          Most installation packages will accept parameters so that they will install automatically without requiring any user input (e.g. app.exe /s).

          The parameters that you need to use can be found using Google or you can use the Universal Silent Switch Finder application (may be outdated) or search the ITNinja site for installation tips.

          Install Choco applications offline

          If you install choco (either online install using the standard SDI_CHOCO cmd script or an offline install of the choco package), then you can point choco at an offline choco package (e.g. choco install FoxitReader -source: C:\DRIVERS\CHOCBOX).

          You can use the ChocolateStore/ChocBox utility to download and convert a choco package for offline installation and then add the offline packages into your SDI_CHOCO APPS folders.

          In this way you have a choice of 1000’s or pre-made, self-installing applications.

          For more details see here.

          Adding configuration sets for different systems

          Let us suppose you want to install Windows 10 to three different systems (say a Dell PC, a Lenovo notebook and an HP notebook).

          Also, you want to install two different sets of software (say one for Software Development and one for general use).

          This means you will need to create six different copies of the SDI_CHOCO folder and create six XML files.

          Example: Dell_XPS27_Dev

          1. Copy the \_ISO\WINDOWS\INSTALL\CONFIGS\SDI_CHOCO\SDI_CHOC.cmd file and rename it to Dell_XPS27_Dev.cmd

          2. Copy the \_ISO\WINDOWS\INSTALL\CONFIGS\SDI_CHOCO folder and rename it to Dell_XPS27_Dev (folder is exactly the same name as the .cmd file)

          3. (optional) If the name of the .cmd file matches the name of the folder exactly (e.g. CONFIGS\Dell_XPS27_Dev.cmd and CONFIGS\Dell_XPS27_Dev) then you do not need to edit the file (E2B v1.93+).

          If the .cmd file name does not  exactly match the configuration folder name then edit the \_ISO\WINDOWS\INSTALL\CONFIGS\Dell_XPS27_Dev.cmd file and change the line:


          4. Make a new XML file for your system or find an existing SDI_CHOCO.xml file

          Make sure it has a RunSynchronous section for the Specialize pass which runs your CONFIGS\xxxx.cmd file (look at one of the existing xxxxSDI_CHOCO.XML files for reference).

          If your XML file does not have a Microsoft-Windows-Deployment component entry, simply paste one in directly under the line for both x86 and amd64 components.

          Note: If there are already RunSynchronous entries, make sure you change the x Order number!

          Make sure you change “SDI_CHOCO.cmd” to “Dell_XPS27_Dev.cmd”  (four places).

          5. Now you can edit the My*.cmd files to install applications or drivers (use the Sample_Myxxxxx.cmd files as templates).

          The config control files that you will need to edit/add for each configuration are *.TAG and My*.cmd.

          Using SDI_CHOCO with .imgPTN files (for UEFI booting)

           It is possible to use the same SDI_CHOCO installation process using a .imgPTN file, however it is more complicated to set up. 

          Note: New method for 2020 – for non-secure UEFI or Secure Boot (Other OS), try the a1ive grub2 File Manager. You can direct UEFI-boot and load a Windows Install ISO + XML file (will Secure Boot on many systems too). There is no need for .imgPTN files unless you need to Secure UEFI-boot on all systems (using Microsoft Secure Boot).  

          You will need the latest MPI Tool Kit which contains the \e2b\Stage1.cmd and \e2b\Stage2.cmd files. 

          IMPORTANT: Note that the XML file needs to be named \Unattend.XML if it does NOT contain a WindowsPE configuration pass, or \AutoUnattend.xml if it does contain a WindowsPE pass (more info here)..imgPTN files can be copied to any of the primary menu folders (e.g. \_ISO\MAINMENU or \_ISO\WINDOWS\WIN10 or \_ISO\WINDOWS\WIN8 or \_ISO\WIN, etc.) WARNING: If you use an XML file which automatically wipes the target hard disk, then as soon as you UEFI-boot from the .imgPTN file, Windows Setup will wipe the target hard disk WITHOUT ANY WARNING. For this reason, I suggest you name the .imgPTN something like  DANGER_AUTOWIPE_Windows10x64_SDI_CHOCO.imgPTN to remind you! 

          REMEMBER: Never leave the E2B USB drive with the .imgPTN file ‘switched in’ – if you stick the USB drive into your office PC and boot from it, then it will immediately wipe your office PC hard disk! 

          I recommend that you use Chandra’s Split_WinISO tool to make the .imgPTN file and choose the Auto.cmd\Winpeshl.ini option so that when you UEFI-boot, it does not automatically wipe the system disk without prompting you – see here for more details. 

          Removable E2B USB drive

          If your E2B USB drive is a removable drive, the process is as follows: 

          1. Make your .imgPTN file from an ISO (e.g. Windows 10 Anniversary) – use the MPI_FAT32 shortcut if you want UEFI-booting to work

          2. Switch to the .imgPTN image (e.g. using \_ISO\Switch_E2B.exe)

          3. Ensure the \e2b\Stage1.cmd and \e2b\Stage2.cmd files are present

          4. Copy the XML file as \Unattend.xml or \AutoUnattend.xml to the root of the partition (it should run \e2b\Stage1.cmd). An example XML file for an MBR (not UEFI) install which auto-formats drive 0 is included in the e2b folder; you can copy this and rename it as \AutoUnattend.xml to use with the ‘English’ USA ISO version of Win10. Note that the command to run Stage1.cmd must be in the ‘Specialize’ pass section.

          5. (optional) Create a \e2b\MyConfig.cmd file and add a ‘set CONFIG=’ line as the name of your main configuration file – e.g. if you want it to run \_ISO\WINDOWS\INSTALLS\CONFIGS\IdeaPad300.cmd, then use:

          set CONFIG=IdeaPad300.cmd
          If you don’t create a MyConfig.cmd file, SDI_CHOCO.cmd will be used.
          6. Ensure that RMPartUSB.exe and FindCSMandRestoreE2B.cmd are present in the \e2b folder. Ensure that \WINHELPER.USB does NOT exist.

          Required files:
          \e2b\MyConfig.cmd  (optional)

          IMPORTANT: Note that the XML file needs to be named \Unattend.XML if it does NOT contain a WindowsPE configuration pass, or \AutoUnattend.xml if it does contain a WindowsPE pass.

          Fixed-disk E2B USB drive

          If your E2B USB drive is a Fixed-disk drive (e.g. USB HDD), then you will need to mount the \sources\boot.wim file and add the same files into the root of the boot.wim image.  For details on how to mount the boot.wim file see here

          WinNTSetup: If you use WinNTSetup.exe to install Windows, then you will not have to modify the boot.wim.

          1. Boot to WinPE (x86 or x64) from .imgPTN file
          2. Run \e2b\RestoreE2B_32_64.cmd to restore the E2B partition
          3. Run WinNTSetup.exe from E2B partition, partition target hard disk, select SDI_CHOCO XML file and click WinNTSetup Start button

          See here for more details. 

          Note (MPI v0.068+): If you wish, you can instead connect a small Removable ‘WinHelper’ flash drive as well as the Fixed-disk E2B drive and place the XML file in the root of the .imgPTN partition. The file must be called \AutoUnattend.XML (or \Unattend.XML – see box above). It will be copied to the WinHelper USB drive when you boot to the CSM menu. The WinHelper flash drive must contain the 100K dummy XML files.If you are UEFI-booting, you must either boot to the CSM menu first (not in a VM), or ensure that you manually copy the \AutoUnattend.xml file to the WINHELPER flash drive just before you boot via UEFI. OR use an IODD 2531 and load a WinHelper .RMD file to emulate a Removable Helper drive.

          Using this method, you do not need to edit the boot.wim file. 

          1. Make your .imgPTN file from an ISO (e.g. Windows 10 Anniversary) – use the MPI_FAT32 shortcut if you want UEFI-booting to work

          2. Switch to the .imgPTN image (e.g. using \_ISO\Switch_E2B.exe)

          3. Mount the correct boot.wim image – usually #2 (e.g. as C:\mount1)

          4. Copy the e2b folder from the USB drive to the root of the image folder (e.g. C:\mount1\e2b\*)

          5. Copy the XML file as \Unattend.xml to the root of the image folder (or \AutoUnattend.xml – see box). Note that the command to run Stage1.cmd must be in the ‘Specialize’ pass section.

          6. (optional) Create a \e2b\MyConfig.cmd file and add a ‘set CONFIG=’ line as the name of your main configuration file – e.g. if you want it to run \_ISO\WINDOWS\INSTALLS\CONFIGS\IdeaPad300.cmd, then use:
          set CONFIG=IdeaPad300.cmd
          If you don’t create a MyConfig.cmd file, SDI_CHOCO.cmd will be used. 

          Required files (when boot.wim is mounted under Windows):
          C:\mount1\Unattend.xml (or \AutoUnattend.xml)
          C:\mount1\e2b\MyConfig.cmd  (optional)

          Note: The Unattend.XML file must contain a Specialize RunSynchronous section that looks for and runs \e2b\Stage1.cmd and not the SDI_CHOCO.cmd file (see included example in the MPI .\csm\e2b folder).

          IMPORTANT: Note that the XML file needs to be named \Unattend.XML if it does NOT contain a WindowsPE configuration pass, or \AutoUnattend.xml if it does contain a WindowsPE pass.

          How it works

          When the E2B drive boots, the original E2B partition is hidden. Windows can only see the .imgPTN partition.

          1. Stage1.cmd first copies Stage2.cmd and some other files to the target hard drive (C:\DRIVERS).
          2. It then runs Stage2.cmd. 
          3. Stage2.cmd runs from the hard drive and calls FindCSMandRestoreE2B.cmd which switches back the E2B drive to ‘E2B Mode’ – this makes the E2B drive contents and the \_ISO\WINDOWS\INSTALLS folder accessible.
          4. Stage2.cmd then locates the E2B USB drive and calls the required configuration file – e.g. \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO.cmd.
          5. From then on, the process is the same as if you installed from an ISO file.

          Note that the next time you boot to E2B from the USB drive, it will be in ‘E2B Menu mode’ and not ‘CSM Menu mode’.

          The Stage2.cmd file will look for a USB E2B drive which will only be found if the drive is detected as a USB drive. For this reason you cannot use a VM which configures the E2B USB drive as a hard disk instead of a USB drive (e.g. VirtualBox). Use VMWare and allocate the E2B USB drive as an attached USB drive and boot from it via UEFI.

          The ‘no internet’ problem

          The first release of Win10 TH2 did not correctly set up the network interface when it reached the Specialize phase during Windows Setup. Microsoft fixed this in later versions of TH2.

          Windows 8.1 did not have this issue.

          Microsoft have also repeated the same mistake(!) in the first release of the Anniversary version of Win10!

          SDI_CHOCO attempts to get round this by running msoobe for ten seconds and then killing msoobe. This seems to fix the problem.

          If there is still no internet connectivity and you are installing Win10, SDI_CHOCO will launch msoobe again which allows you to set up a WiFi connection (if not disabled in the XML file settings using true). Once you have done this, use ALT-TAB to switch back to SDI_CHOCO and press ENTER to continue. SDI_CHOCO will then terminate msoobe.

          If you only install apps using choco using MyStartup.cmd, you may be able to avoid this issue because the internet connection may be working by then!

          Tip: Add the file NoInternet.TAG to the \_ISO\WINDOWS\INSTALLS\CONFIGS\SDI_CHOCO folder to stop SDI_CHOCO from checking for internet access and launching msoobe. You can add offline choco application packages.

          Changing the ComputerName

          The ComputerName can be pre-set in the XML file. However, you can change the ComputerName by using code in MyStartup.cmd. For instance, you could change the ComputerName to be the Serial Number of the system or perhaps a prefix+MAC address (e.g. NB-A9623F3A9BDB). There is sample code at the end of Sample_MyStartup.cmd which you can modify to change the ComputerName (E2B v1.A1+). You can also use a special .mnu file (e.g. WIN10_Prompt_for_UNAME_auto_serial_COMPNAME.mnu) to modify the XML file before the build begins (for installation from .ISO files only – not UEFI). 


          Log files will be present in the C:\Temp folder. Some errors may be logged in separate *_ERRORS.log files.


          C:\Temp\SDI_CHOCO.cmd – a copy for reference only

          If the main SDI_CHOCO.cmd file was run (or whatever config set was specifified in the XML file) the file C:\WINDOWS\DONE_SDI.tag will be present. If that file is not present, then the XML entry was not executed, so there was a problem in the XML file!

          Tip: If some of the .log files seem to be missing some lines and start with text generated by lines of code that you have written, check for syntax bugs in your code where you have written > %log% instead of>> %log% !!!

          Debugging and Troubleshooting

          If there is no C:\TEMP folder after installation, then the SDI_CHOCO.cmd file (or whatever was specified in your XML file) did not run. C:\Windows\Panther\unattend.xml will contain a (modified) copy of the XML file that Setup used. Check it is the one you specified. Check the C:\Windows\Panther\UnattendGC\setupact.log file for a ‘[SETUPGC.EXE] Found RunSynchronous command:’ line. There should be a time jump where the .cmd file was executed just before the ‘[SETUPGC.EXE] Finished executing [cmd’ line. 

          If you place the command ‘echo on’ at the beginning of a file, it will allow you to see what happens in your MySpecialize.cmd and MyStartUp.cmd.

          Use ‘pause’ to stop execution until you press ENTER to continue.

          Also, remove any >> %log% text from your MySpecialize.cmd and MyStartUp.cmd files if you want to see any output from the commands.

          For instance, if you have a line of code which does not seem to work, such as:

          xcopy /herky %USB%\_ISO\WINDOWS\INSTALLS\DRIVERS\IDPAD300\W8_10_64\*.* %systemdrive%\DRIVERS\IDPAD300\W8_10_64\ > nul

          and there are no files being copied to the C:\DRIVERS\IDPAD300\W8_10_64\ folder, change the lines to: 

          echo on
           echo About to run xcopy
           xcopy /herky %USB%_ISO\WINDOWS\INSTALLS\DRIVERS\IDPAD300\W8_10_64*.* %systemdrive%\DRIVERS\IDPAD300\W8_10_64\
           echo xcopy has run
           echo off

          and start an installation. You should find that when the script file is run, it will stop at ‘About to run xcopy’, then press ENTER and it should copy the files over using xcopy and then stop again with the message ‘xcopy has run’. This will allow you to see if the xcopy worked or reported an error. Finally, press ENTER again and the installation will continue.

          When it is all working, you can remove the extra lines.

          The script files, SDI_CHOCO.cmd and startup.cmd both start with the line ‘echo off’. This stops all the commands from being displayed in the console. If you wish, you can change ‘echo off’ to ‘echo on’ at the start of these files, so that you can see all the commands being executed. You can also place ‘pause’ lines anywhere you like in your Myxxxxx.cmd files, so you can pause the script and see what is going on.

          If you are having trouble with choco installs, remove the >> %log% text and use pause and echo off, e.g.


          :: configure choco to allow non-checksummed packages and not prompt user for 'Yes' (-y is not needed)
          choco feature enable -n allowEmptyChecksums
          choco feature enable -n allowGlobalConfirmation
          choco install 7zip -y -r >> %log%
          choco install jre8 -y -r >> %log%

          can be changed to

          echo on
          :: configure choco to allow non-checksummed packages and not prompt user for 'Yes' (-y is not needed)
          choco feature enable -n allowEmptyChecksums
          choco feature enable -n allowGlobalConfirmation
          choco install 7zip -y -r 
          choco install jre8 -y -r 

          Remember that if you update E2B to a newer version, the original E2B files (e.g. SDI_CHOCO.cmd and StartUp.cmd, etc.) will be overwritten with the newer version but these files should not have been changed by you anyway. However, your Myxxxxxx.cmd files will not be overwritten when updating.

          Update your Install.wim with the latest Windows Updates

          WSUSOffline can add 20-200+ minutes to each install. It is much more efficient to add the Windows Updates to the Install.wim image first, before you run Windows Setup.

          See here for one method using DISM (and here).

          You can also run WSUSOffline afterwards if you wish using SDI_CHOCO so that you do not have to continually update your Install.wim file every week.

          Text to Speech

          SDI_CHOCO uses nircmd.exe to convert text to speech (check it exists in your CONFIGS folders – you may need to extract it first!).

          If you want to keep track of what your batch files are doing, just place extra nircmd lines in your .cmd files.

          start /wait %systemdrive%\DRIVERS\nircmd speak text "Now running xxx"

          If you do not want any speech output at all, add the NoSpeak.tag file. Use NoBeep.tag to suppress the beeps.

          Note: If you change the .\CONFIGS\SDI_CHOCO folder files, then an E2B update will replace/re-copy the standard E2B files again, so you should create and use your own CONFIGS folder, and not use the SDI_CHOCO files/folder.

          nircmd is used for text-to-speech output, control keyboard LEDs/status, kill tasks (e.g. OOBE) and to beep the speaker. It is unpacked from nircmd_self_extract_password_is_easy2boot.exe by the SDI_CHOCO.cmd file to avoid problems with antivirus detection software (v1.B0+).

          Snappy Driver Installer issues

          You may find that Snappy does not always install the correct drivers, e.g. touchpad, bluetooth and audio drivers.

          You can simply omit\delete these from the \_ISO\WINDOWS\INSTALLS\SNAPPY\drivers folder so that they are not installed.

          Tip: If you sometimes want different Snappy drivers to be installed for different configurations, you can modify your \_ISO\WINDOWS\INSTALLS\CONFIGS\xxxx.cmd file so that it deletes any unwanted drivers\DP_xxxxx.7z files after they have been copied to C:\DRIVERS but before Snappy is run.

          For most notebooks, I would strongly advise that you always use the manufacturers drivers for that specific model.

          The Snappy LAN, chipset, USB and Mass Storage drivers are usually safe to install on any system.

          Often there are extra ACPI, hotkey and touchpad drivers which are not included in Snappy.

          Also, special Registry patches are often available from the manufacturer which are required for proper operation of a notebook.

          Installing Office

          See the Offline sub-page here.

          Useful tips

          Tips on scripting and silent installs, etc. here.

          Disable Cortana speaking during OOBE

          See here and here.

          You can try adding this line to MySpecialize.cmd (untested).

          reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v DisableVoice /d 1 /t REG_DWORD /f

            and add this line to re-enable the voice in MyStartup.cmd

          reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v DisableVoice

        • Hack Windows account (UtilMan)

          Hack Windows account (UtilMan)

          E2B contains some scripts in the \_ISO\docs\utilman folder. These .cmd scripts can be used to gain access to an unencrypted Windows system even if it uses an online (Microsoft) account. This process automates and speeds-up the well-known hack of replacing the UtilMan.exe and SetHC.exe files with the cmd.exe file to allow administrator access to the command prompt (E2B v2.06+ also patches magnify.exe). 

          This process does not work on BitLocker-encrypted volumes. 

          Online Microsoft account passwords cannot be changed offline because the password is held on the Microsoft servers. If you try to reset the account password then you will need to have access to that same email account to receive the security code.  

          You can however delete any account and create new user accounts. 


          • A recent versions of E2B+agFM
          • Standard Microsoft Windows 10 Home or Professional Install ISO – should also work with WinPE ISOs or windows recovery .wim file.
          • The target Windows OS must have OS files in the standard \Windows folder (Vista/7/8/10, etc.). (or else you will need to edit the .cmd scripts)
          • The target system must be able to boot from USB and the Windows volume must not be encrypted (no BitLocker).

          Can hack multiple Windows OS on all disks\partitions in a system incl. Secure UEFI.

          WARNING: Due to Windows Fast Startup/Fast Boot – always first boot to the Windows Login screen and then click Restart (or SHIFT + Shutdown) and then boot to a different OS or WinPE/E2B before changing the system files. Never try to hack a Windows system that has been simply ‘ShutDown’ by the user because it may be in a semi-hibernation mode and any file/registry changes you make offline could cause file corruption!

          Also – always ensure Windows is not in the middle of a Windows Update cycle (this can corrupt Windows if you interrupt it!). Restart Windows several times until you do not see any ‘Update in progress’ messages. 


          If you do not have a bootable Windows ISO on the E2B drive, see the bottom of this page to see how to boot to the WinRE image on the internal hard disk. If the system has Secure Boot enabled, you can UEFI64 Secure Boot using E2B+agFM. 

          A Windows 10 Install ISO is recommended because it should work on any Windows XP/7/8/10 system. You could use a bootable Win8.1 or WinPE ISO such as Gandalf’s PE or ChrisR’s Win10PESE ISOs. 

          1. Boot to the target system’s Windows OS

          • choose (Power icon) – hold down the SHIFT KEY  and at the same time click ‘Restart‘ 
          • select Troubleshoot – Advanced options – Startup settings – Restart
          • reboot to E2B Menu on the USB drive or reboot the agFM UEFI menu system (Secure Boot should also work)
          • select Windows Install Menu – Windows 8 or 10 – select ISO 
          • Choose the ‘Hack Windows (UtilMan.exe).XML‘ option (see first option below).

          Note: Windows PE should automatically assign each hard disk volume a drive letter. If no Windows volumes are found, check using DiskPart that the target volume has a drive letter assigned to it. 

          If you boot to a WinPE OS, run “\_ISO\docs\UtilMan\UtilMan1PE_Patch.cmd” from the E2B USB drive to patch the files. Then reboot and goto step 3,

          2. Create a new account

          After the files have been patched, boot to Windows and quickly press WIN+U (the Windows key and the U key) at the Windows login screen (or click on the Accessibility icon or tap the SHIFT key five times) to gain access to the command shell. If the cmd window does not appear, click on ‘Magnifier‘. 

          Then quickly  type 2 and press ENTER to create a new local administrator account. 

          You may have only 30 seconds to do this before Windows Defender loads and prevents the hack.

          If you have problems, try booting in Safe Mode. 

          Tip 1: You may need to reboot to see the new account – to save rebooting, a quicker method is to click on ‘Sleep’ and then wake the computer up again. 

          Tip 2: E2B v1.A9+ will also launch control userpasswords2 to allow you to change offline passwords (you must tick the ‘Users must enter Username and Password to use this computer’ first). This avoids the need to create a new account. 

          Win8/10 2018-09 and later: The cmd shell may disappear within 30 seconds if you are not quick enough! 

          You can now reboot and login as ADMIN9 (password admin) – Windows will set up a new account for you.

          Note: later versions of E2B name the account ADMIN9 instead of ADMIN. 

           Now you can gain access with Administrator privileges, access files and change passwords, etc. by logging into the new account (password=admin). 

          3. Remove the Admin9 account

          When finished, repeat step 2 (boot and press Win+U) but then but type 3 instead of 2 and press ENTER to remove the ADMIN (ADMIN9) account.

          This may also restore the original files by running SFC (but due to Windows bugs, it does not always work!). 

           Check the size of the three files and run Step 4 if they are all the same size!

          If the screen is green, then the files have been restored correctly, but you can run Step 4 to delete the C:\Users\ADMIN(9) folder which is now unused. 

          If WIN+U does not work because it has been removed bit Windows Defender, remove the account by logging into another account which has Administrator rights and run an admin command shell and type 3 to remove the ADMIN account (it uses the command NET USER ADMIN /del). 

          Then reboot and follow Step 4 below. 

          4. Restore and remove the hacked files

          Repeat step 1 (Safe mode is not required) but choose the ‘UnHack Windows (remove UtilMan.exe).XML‘ file to remove the hack and restore the original files. 

          You can also choose to delete the old \Users\ADMIN folder too.

           This will restore the original utilman.exe and sethc.exe files and check/repair them with System File Checker (SFC). 

          For more details, read the ReadMe.txt file in the \_ISO\docs\utilman folder and this blog post

          If you are UEFI-booting from a .imgPTN file, you can copy the \_ISO\docs\utilman folder to inside the image (see section below), but MBR-booting from an ISO will also apply the patch correctly. 

          If you don’t usually carry a Windows 8/10 Installation ISO on your E2B drive or a suitable WinPE ISO, you can download a 32-bit Windows 10 Installation ISO and use an ISO editor to delete the large \Sources\Install.wim file to reduce it’s size. A 32-bit ISO will patch both a 64-bit Windows OS and a 32-bit Windows OS. 

          Note: The XML files contain a Windows Home generic Product Key – if you see a ‘licence error’ message, copy the file and edit it so that it contains a generic product key which matches your particular Windows ISO.


          If you can boot from an ISO in MBR-mode, you should be able to patch any (MBR or UEFI) Windows OS. 

          If your target system can ONLY UEFI-boot you can UEFI-boot to agFM the process is identical – just select the Windows ISO and XML file using the agFM File Manager menu system.  

          OR … 

          1. Switch to a WinPE UEFI-bootable .imgPTN file (e.g. Strelec WinPE, ChrisRPESE, Gandalf or a Microsoft Windows Installer, etc.) – Do NOT boot to a WindowsToGo OS.
          2. Copy the \_ISO\docs\UtilMan folder to the USB drive – e.g.  \UtilMan.
          3. Boot the target Windows system and click ‘Restart’ then UEFI-Boot to WinPE from E2B and ensure that all the OS drives that you wish to ‘patch’ have a drive letter assigned. Some WinPE’s such as Sergie Strelec may not assign drive letters to other volumes.
            If you don’t want to patch some OS volumes, then ‘offline’ them or remove their drive letter (e.g. using diskmgmt.msc or DiskPart).
          4. Run \Utilman\UtilMan1PE_Patch.cmd to patch all volumes with a drive letter that have a Windows OS.
          5. Now remove the USB drive and boot to the Windows OS as usual.
          6. Follow Steps 2 and 3 in the Method section above.
          7. To remove the patch, UEFI-boot from the E2B USB drive again, ensure the drive(s) you wish to unpatch have a drive letter assigned.
          8. Run \UtilMan\UtilMan4PE_Restore.cmd to unpatch the OS.

          Tip: If your E2B USB drive is a Removable type, you could add a suitable \Unattend.XML file to the root of the image inside the .imgPTN file so that it automatically runs \Utilman\UtilMan1PE_Patch.cmd. If the USB drive is a Fixed-disk type, you will need to add the XML file into the \sources\boot.wim file. I cannot give exact instructions because it depends on what WinPE image you are using.  

          Boot to WinPE without needing any ISO

          If you want to hack a Windows 8 or 10 system, you do not even need a Windows ISO on the E2B drive!

          We can boot to the system’s own WinPE Recovery .wim file to boot to WinPE – it should already be on the Windows system disk.

          1. Copy \_ISO\docs\Sample mnu files\Windows\Boot_Recovery_WIM.mnu to the \_ISO\MAINMENU folder

          2. Boot to E2B and run the ‘Boot to Windows Recovery’ menu option. If there is more than one Windows OS, any one will do.

          If the system is set to UEFI-boot only, you will need to change the BIOS settings to enable MBR\Legacy\CSM boot.

          3. Pick the correct Recovery option to get to the Command console (this varies depending on Windows version). 

          4. Run \_ISO\docs\UtilMan\Utilman1PE_Patch.cmd from the E2B USB drive

             Note that this will patch ALL Windows OS’s on all disks in the system.

          5. Now you can boot to Windows and run 2.cmd as detailed above

          6. To undo the changes, boot to Windows and run 3.cmd as detailed above

          7. Finally, boot to the Recovery WinPE console again and run \_ISO\docs\UtilMan\UtilMan4PE_Restore.cmd to tidy up.

          Note: To boot to the Windows Recovery wim file, a Windows 8.1 or compatible version of bootmgr is needed on the E2B USB drive. E2B will warn you if it is missing.

          “The User Profile Service service failed the sign-in.” “User profile can not be loaded”

          If you’ve encountered the ‘User Profile Service failed the logon’ error in Windows 10, copy the ‘C:\Users\Default’ folder from a second, non-problematic PC over to your problem PC using a USB drive and copy it to the same location. Rename the existing folder on your problem PC to something else first, just in case you ever need to revert back for any reason. 

          Tip: To access the ‘Default’ folder on your second PC you’ll need to turn on hidden files by clicking ‘View’ in the folder toolbar and selecting ‘Hidden items’.

        • Install Windows Vista, Windows 7 and Server 2008 R2

          Install Windows Vista,7,Server 2008 R2

          Please note: Windows 7 does not contain modern updates, .Net, chipset drivers or USB 3 drivers and only supports old USB 2 chipsets.
          You might like to update your Win7 ISO with the latest updates and USB drivers using ‘7Upor use WinNTSetup as a way to install Windows 7 onto modern systems from an ISO.

          Tip: NEVER set the USB drive as the first boot device in the BIOS Setup menu. The first boot device should always be set to the internal hard disk that is the system’s boot device – otherwise an Operating System may install boot code onto the E2B USB drive instead of the internal disk! Always use the BIOS Boot selection pop-up menu to boot from the E2B USB drive.

          You can also add any number of OEM/System Builder Windows Install ISO files and .imgPTN* files to the correct folders under \_ISO\Windows\sub-folder and name them as you wish. 

          Multi-language Win7 ISO files can be downloaded from Digital River (see Useful Links on this site). 

          You MUST place the .ISO files in the correct folder – e.g.


          A useful flowchart for WinPE\Setup.exe\Winpeshl.exe\Startnet.cmd\wpeinit.exe is here (note: it is not entirely accurate however!).

          Files ending in .iso64 will only be listed in the menu if a 64-bit CPU is present (.iso32 also supported) (E2B v1.94+). 

          Note: Some Windows Install ISOs may work if you give them a .iso or .isope01 file extension and place them in an ordinary folder (e.g. \_ISO\MAINMENU). Windows Install ISOs may cause E2B to use the WIMBOOT method which does not require a Removable USB drive to be used. 

          .imgPTN files will work from most folders (except \_ISO\WINDOWS\XP). 

          You can rename the ISOs and use spaces in the ISO filenames to make them look better in the menu if you wish (or add a .txt file – see below). 

          E2B v1.A8+ allows booting of Windows Vista-10 ISOs without the need of a WinHelper USB fash drive by using WIMBOOT. 

          Installing Windows 7 to a modern system

          You can obtain an updated Win7 ISO which has modern drivers added (see ‘Tested Payloads‘ page for a link).

          Or else if you use this method, the Windows 7 ISO does not need modern USB2\3 drivers added into it:

          1. Add a recent Strelec Windows 10 ISO to the \_ISO\WINPE folder of your E2B USB drive (or HBCDPE)
          2. Legacy or UEFI64-boot to the WinPE ISO (using E2B, agFM or Ventoy for Easy2Boot menu system)
          3. Use the Explorer application to find your Win 7 ISO – right-click – ‘mount’ (e.g. using ImDisk)
          4. A new virtual CD\DVD drive letter should be created – now run \setup.exe from the mounted Win7 ISO (ignore any .dll errors if you see any)

          After Win7 has been installed, you may not be able to use any USB devices because modern USB2/3 drivers are not included in standard Win7. If your keyboard, mouse and network is working you may be able to add the required drivers by downloading them from the internet.

          USB 3.0 and NVMe driver support

          Windows 7 install ISOs do not support USB 3.0 adapters/chipsets or modern USB controllers, so if you want to boot from a USB 3.0 port, you will need to add the USB 3.0 drivers to the ISO. Even if you are using a USB 2.0 port, it may be that Windows does not contain the correct drivers for the USB controller chip if it is a modern PC/notebook. Check if the Windows can ‘see’ your USB drive as follows:

          1. After booting to Setup, type SHIFT+F10 to open a console window.
          2. Type ‘diskpart‘ and press ENTER key.
          3. Type ‘list disk‘ – check that your USB drive is listed – if not, then Windows (WinPE) does not contain the correct driver for your USB controller.
          4. Type ‘exit‘ to quit diskpart. 

          You can use the Intel Windows 7 USB 3.0 Creator utility. This will modify the install.wim and boot.wim files and add the Intel USB 3.0 drivers.

          Note that this utility only adds the Intel USB 3.0 drivers; it does not add non-Intel USB 3.0 drivers.

          You may find it easier to convert the ISO to a .imgPTN file and then use the  Intel Windows 7 USB 3.0 Creator utility or the Gigabyte Windows 7 tool (YouTube). 

          • 1. Convert ISO to Win7 .imgPTN file
          • 2. Copy to E2B \_ISO\MAINMENU folder
          • 3. Run \_ISO\SWITCH_E2B.exe and double-click on the Win7 .imgPTN file
          • 4. Run the Creator tool using the USB as the source and target (do NOT allow the tool to format the drive!)
          • 5. For 64-bit UEFI-booting, you will need to add \EFI\boot\bootx64.efi from a Win8/10 64-bit ISO 

           Another alternative is to boot to a Windows 10 ISO so that you have access to USB 3 devices and then run WinNTSetup to install from a Windows 7 ISO (if you don’t need NVMe drivers). 

          Britec’s video shows how to use different tools to add USB 3 drivers to a .imgPTN flat file USB drive or a ISO file.There is a video showing how to modify an ISO or USB drive here.

          See here for how to add the correct USB driver into the ISO file. Also YouTube video here.  

          Additional Files

          Add a .txt file to change the text in the menu

          You can also add a .txt file of the same filename and add an alternate title (rather than have the filename listed in the menu).

          If you also add a .txt file of the same filename containing a single line of text such as:   

          title some_title_here\nsome_help_text_here 

          then that text will be used as the menu title instead of the name of the file itself (note that the line must start with the lower-case word ‘title‘). See here for more details. 

          Note: .iso files of 0 length are not listed (but may add to the total file count displayed in the menu!).  

          Add your own .xml file to automate an install

          You can also have your own unattend.xml files in the same folder as your ISO file (any name but must end in .xml). This can contain all your settings and a product key – you can just choose any xml file before you run the ISO. If you delete all .xml files from the Vista/7/8/SVR2012 folders, then the default unattend.xml will be automatically used and the user will not be prompted to select an xml file.  

          For an example look at the \_ISO\e2b\firadisk\au.xml file (for Vista and Win7) and the \_ISO\e2b\firadisk\auWin8.xml file (for Win8). These contain a special section which runs LOADISO.cmd – this is responsible for loading the ISO so that Windows Setup can access it as a DVD.

          E2B will copy the contents of your XML file to \AUTOUNATTEND.XML before it boots from the ISO. Your XML file must be modified so that it runs ImDisk via LOADISO.cmd to install the ISO as a virtual DVD drive. You can download Windows 7 Install ISO files from the link on the Useful External Links page. For more details on how to install Windows Vista and later OS’s see Tutorial #43. You may find the Unattend.XML generator here useful – but you must add the RunSynchronous code used by E2B afterwards. To make an XML file – read my blog page here

          Windows 7 does not support USB 3.0 as it does not contain USB 3.0 drivers. However, you can convert a Win7 Install ISO to a .imgPTN file, switch to the .imgPTN partition and then modify the boot.wim and install.wim to add the USB 3.0 drivers. See here for more details. If you just want to add Intel chipset USB 3.0 drivers, you can use the nice Intel utility here.

          If the file DEFAULT.XML exists in the same folder as the ISO, then the DEFAULT.XML file will be automatically picked by E2B (E2B v1.B0+).

          If only one XML file exists in the same folder, it will be automatically selected.

          WinHelper Flash drive (for non-WIMBOOT booting)

          This only applies if you answer ‘No’ when asked if you want to boot using WIMBOOT… If you are booting Easy2Boot from a USB Hard disk to install from Windows Install ISO files, you may also need a USB ‘WinHelper‘ flash drive containing these 3 files –   

          • AutoUnattend.xml (overwritten by E2B – required for Win Vista and later OS Install ISOs), 
          • Unattend.xml (overwritten by E2B – required for WinPE ISOs)
          • WINHELPER.USB (marker file to find correct USB drive)

          These 3 files must be on the root of your USB ‘Helper’ Flash drive . Do NOT modify them – they are modified by E2B automatically. You may find it easier to convert the ISO file to a .imgPTN file. This will allow you to both MBR and UEFI-boot and you will not need a ‘Helper’ Flash drive or an XML file. E2B v1.75 allows you to add .imgPTN files to the \_ISO|WINDOWS\xxxx folders (except for the XP folder). 

          NOTE: Always run WinContig to ensure all files are contiguous after copying them over (Ctrl+F2 in RMPrepUSB).

          Always use unmodified Microsoft Windows Install ISOs – if you use a modified ISO, it may not work. In this case, convert the ISO to a .imgPTN file using MakePartImage.

          Read more:

        • Install Windows XP

          Add Windows XP


          • Use one of the tested 32-bit XP SP3 INSTALL ISOs – see here for download links to recommended XP ISO – other XP ISOs may not work! I suggest you try the 2018 ISO first.
          • Do NOT use XP 64-bit ISOs (even if your CPU is 64-bit). XP 64 has very few drivers and it is never used! XP 32-bit will use up to 4GB of memory and will work fine.
          • You must use the E2B+DPMS version of Easy2Boot (which includes disk drivers which are needed for installing XP 32-bit ISOs to SATA/RAID/SCSI disks).
          • Use USB 2 ports whenever possible – if your system only has USB 3 ports and you have a USB 3 E2B drive, try connecting the USB drive to the target system using a USB 2 extension cable to force it to use USB 2.

          Unless you use E2B+DPMS, an unmodified, original Microsoft XP SP3 ISO will only be able to install to an IDE drive in the target system because Microsoft XP Install ISOs only support IDE-based systems. However, if you are using E2B+DPMS (E2B with the 32-bit Mass Storage Driver Pack added), then you can install from an XP 32-bit Install ISO onto most IDE/SATA/RAID/SCSI systems (systems aged up to approx. 2015 only – XP drivers for new systems are not available). 

          BIOS Setup

          • Ensure your BIOS is set for CSM\Legacy booting if you have a modern UEFI BIOS. 
          • Set the Internal Hard Disk mode to AHCI (not RAID).  You may need to change the USB option to EHCI – USB 2 (disable XHCI). 
          • Some modern 2018+ UEFI BIOSes may block access to internal disks when you MBR\Legacy boot from them – there is no way around this – you cannot boot DOS or XP from internal HDDs on these newer systems.

          Tip: NEVER set the USB drive as the first boot device in the BIOS Setup menu. The first boot device should always be set to the internal hard disk that is the system’s boot device – otherwise an Operating System may install boot code onto the E2B USB drive instead of the internal disk! Always use the BIOS Boot selection pop-up menu to boot from the E2B USB drive (press F8/F11/F12 or whatever is needed for your BIOS). 

          Note: Windows Setup will indicate what drive letter it will assign to each partition when you select one of the partitions to install to. If you want to ensure that the XP partition boots as drive C:, then ensure the Active (boot) flag is set on that Primary partition and it is the first hard disk in the system. You can use a disk utility such as Diskpart to make the correct partition the Active partition (or use the grub4dos prompt and the makeactive command – e.g. makeactive (hd1,1) will make the first internal hard disk’s second partition active, because the E2B USB drive will be hd0 under grub4dos). 

          Possible Errors

          • STOP: 0x000000A5‘ error – to fix this, when XP Setup prompts you to press F6 to install drivers, press the F7 key instead.
          • STOP0x0000007EACPI.SYS‘ error – press F5 instead of F6 and select a different option – also disable ACPI in BIOS settings and update BIOS version.
          • Black blank screen when running XP Setup Step 1 – add ‘set E820=0’ to your MyE2B.cfg file to fix buggy Dell BIOSes (E2B v1.B0+)
          • STOP: 0x0000007B’ on IDE systems.NTDETECT.COM (e.g. some Dell PCs, ThinkPads or 865GV chipset) – replace in the ISO with a patched version from here. Problem is caused because it resets the USB controller and so loses access to the USB drive. 
          • ASMS files missing‘ dialogue box – you must reboot to E2B and choose Step 2 from the E2B XP install menu. Installing XP from E2B is a two-step process.

          ‘Secret’ XP Setup Function Keys

          During Setup, you can use various function keys to activate certain features and commands. The following list details the functions keys, what they do, and when you can use them. 

          Three keys can be used when Setup is loading and when you are prompted to press the F6 function key to install third-party small computer system interface (SCSI) and host controller drivers: 

          • F5 – For computer type or hardware abstraction layer (HAL) selection (may fix power-off issues during Setup.exe – Step 1)
          • F6 – To install third-party SCSI and host controller drivers
          • F7 – To run Setup without Advanced Configuration and Power Interface (ACPI)

          When the “Welcome to Setup” screen is displayed, the following function keys can be used:

          • F2 – To automatically start the Automated System Recovery (ASR) process.
          • F10 – To bypass the menu screens and to load the Recovery Console

          During graphical user interface (GUI)-Mode Setup, the following function keys can be used: 

          • SHIFT+F10 – To enable access to a command prompt during GUI-Mode Setup
          • SHIFT+F11 – To display “old-style” wizards that give more detail

          Note: Your Windows XP Install ISO files must be in the \_ISO\WINDOWS\XP folder.

          If it is 64-bit Windows XP, ensure that the numbers ‘64‘ are used in it’s name – this will suppress the DPMS feature (so only works with old IDE systems only – DPMS only works for 32-bit XP) 

          If there is only one Windows XP ISO in the E2B folder, then that file will be automatically selected.

          For a detailed explanation of the Windows XP Setup stages, process, error messages and possible causes – see here

          See also: PhilsComputerLab YouTube video 

          If your XP Install ISO is ‘special’ and not in standard Microsoft format – e.g. auto-installs or is modified, it is usually best to use WinSetupFromUSB to prepare a bootable USB Flash drive and then you can make a .imgPTN file using MakePartImage from the WinSetupfromUSB Flash drive.

          1. Windows XP Installs in two steps using E2B+DPMS (driver pack mass storage files)

          If you have an unmodified, original Microsoft 33-bit XP Install ISO, then you will be able to install XP to a target system even if it has an AHCI controller with SATA hard disks, or has SCSI or RAID hard disks. The correct 32-bit XP driver for the target mass storage devices is automatically selected by DPMS. You do not need to press F6 at the start of XP Setup.

          Example of DPMS showing identification of correct 32-bit disk driver  – you can’t miss it! 

          If your XP ISO has been modified with driver packs or nLited, or if your ISO has $oem$ folders then it may not install correctly using the STEP1/2 method, so use the WinPE Install menu instead. For more details on how to install XP using DPMS, see the Install XP using DPMS page. You can also use a winnt.sif with an XP ISO for unattended installs – see the ‘Unattended Installs’ page. 

          See the XP+DPMS page for more information.

          2. Windows XP 64-bit installs using the F6 method

          Note: Windows XP 64-bit can access >4GB of RAM, however there are very few Audio, Video, USB, and other drivers available for 64-bit XP. Consequently, very few people use 64-bit XP unless they need to run XP as a server (it is not used as a Desktop OS). Service Pack 2 is the latest release of XP64.

          The DPMS drivers in E2B+DPMS only works with 32-bit XP. You should install XP64 onto an old system which contains an IDE hard disk (or a SATA disk configured in the BIOS to be in IDE\Legacy mode).

          The following instructions only apply if you are using a 64-bit XP Install ISO or if you are not using the DPMS version of E2B. For XP 64-bit ISOs, the number ‘64‘ must be in the ISO’s file name – e.g. Windows_XP_64-bit.iso. If possible, set the BIOS hard disk controller configuration settings to Legacy\IDE (not AHCI/SATA).

          Copy the ISO files to the \_ISO\WINDOWS\XP folder. 

          1. Boot from your E2B drive, press Ctrl-I for the Windows Install menu and then Alt+1 for Step 1.
          2. Choose from the list of XP ISOs.
          3. You will see some instructions about pressing F6 – on some systems pressing F6 during Windows XP Setup is not necessary. So try without pressing F6 first. 

          32-bit XP – 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.
          64-bit XP – select 64-bit FiraDisk driver after pressing F6. See Tutorial 30 for how XP ISO installs work using FiraDisk, etc.

          4. Continue with the text mode setup and allow the system to reboot after the copy-files stage has completed
          5. Reboot back to the E2B USB drive (do NOT allow the computer to boot from the internal HDD). Select Ctrl-I and Alt+2 for Step 2.
          6. The system should now boot from the internal HDD and continue the GUI Setup phase of the XP install. It may be necessary to confirm the loading of some drivers during this phase.
          7. Once XP has been fully installed, you can delete the storage drivers which show up as errors in Device Manager and then install all drivers for your hardware in the usual way. For details on how to install Windows XP using the 2-step FiraDisk method see the instructions in Tutorial #30 (hint: if you get BSOD in Step 1, try without pressing F6).   

          3. Tablet PC and Media Center Edition

          You need to add the \CMPNENTS folder to the CD #1 ISO file and ensure you use the correct Tablet PC or MCE Product Key when installing it.

          See here for how to install these from one single ISO. 

          4. XP ISOs using $OEM$ folder

          E2B does not support modified XP ISO files which include a \$OEM$\ folder structure and use OEMPREINSTALL=Yes in a WINNT.SIF file.

          If E2B finds such an ISO, it will automatically modify the ISO to change it to OEMPREINSTALL=No – this means that the $OEM$ folder will not be used and the XP files will not install correctly.


          To work around this:

          1. Create a new USB Flash drive using WinSetupFromUSB and your XP ISO file (Do NOT use the ISO file that is already on the E2B drive because it will have been permanently patched by E2B – use an original copy of the XP ISO).

          2. Test that your WinSetupFromUSB flash drive works correctly

          3. Drag-and-drop the WinSetupFromUSB flash drive letter onto the MPI_FAT32 or MPI_NTFS Desktop shortcut to make a new .imgPTN file from the USB drive (you will need to install the MPI Tool Kit onto your office Windows system)

          4. Copy the .imgPTN file to your E2B USB drive (e.g. \_ISO\MAINMENU or \_ISO\WIN)
              Note: A .imgPTN file will not work in the \_ISO\WINDOWS\XP folder.

          See the WinNTSetup page for more details.

        • Install XP 32-bit using DPMS drivers

          Install XP 32-bit + DPMS

          Installing Windows XP 32-bit directly from an ISO requires 3 boot stages, the first two boots must be from the E2B USB drive:

          1. Use the E2B+DPMS download to make your E2B drive.
          2. Use official Microsoft XP SP3 ISO (should be 600-800MB in size) or one of the Recommended later XP SP3 32-bit ISOs here.
          3. Do NOT configure the BIOS with the E2B USB drive as Drive 0 = first HDD.
            The internal hard disk should be the first disk. Boot from the E2B USB drive using the BIOS Boot Selection menu and hotkey (e.g. F2, F8, F9, F10, F12, ESC – depending on system)
          4. Boot from the E2B USB drive and choose STEP 1 for first text-mode Windows XP Setup stage (formats and copies file to hard disk)
          5. Re-boot to the E2B USB drive again after Windows text-mode Setup stage resets and choose STEP 2
          6. Re-boot after Windows GUI-mode Setup stage has completed after STEP 2 (if it reboots to E2B press F7 to reboot to the hard disk – or remove E2B USB drive and reboot)


          • The E2B+DPMS process works by creating two virtual floppy disks, one containing the FiraDisk\WinVBlock driver which loads the ISO as a virtual CD and the other floppy disk which contains the correct 32-bit disk driver for XP. XP Setup will automatically load both drivers from the virtual floppy drives.
          • For the most reliable installation experience (less chance of BSOD!), load the ISO into memory in STEP 1 (Alt+1 and answer Y) and then later after reboot, choose STEP 2 (use Alt+2). Loading the ISO into memory on each boot is not always necessary however – it depends on what mass storage driver is required and what BIOS/chipset the system has.
          • If you want to use a unattend.txt\winnt.sif file with the ISO, refer to the Unattended Installation page.
          • If you have a modern system, the Driver Pack included in E2B may be too old and may not contain a driver for your disk controller. You can update the Driver Pack by following the ‘Update DPMS’ instructions or try WinNTSetup and use a Windows 10 ISO+Win XP ISO.
          • You can quickly check to see if a driver for your system is included in E2B by using the Utilities Menu – List matching XP DriverPack.ini entries menu.
          This shows that a matching XP 32-bit driver is present for the PC’s disk controller (PCI ID 8086 2929)

          Tip: If you get a ‘STOP: 0x000000A5’ BSOD error or ACPI-related error, then when Setup prompts you to press F6 to install drivers, press the F7 key. Press F5 to allow you to choose the type of system you have (e.g. ACPI type, multiprocessor, etc.).

          Tip: NEVER set the USB drive as the first boot device in the BIOS Setup menu. The first boot device should always be set to the internal hard disk that is the system’s boot device – otherwise an Operating System may install boot code onto the E2B USB drive instead of the internal disk! Always use the BIOS Boot selection pop-up menu to boot from the E2B USB drive.


          1. Press Ctrl+I to select the Windows Install Menu

          2. Press Alt+1 to run step 1

          3. Choose your XP ISO file

          4. At the DPMS Options prompt – hit [ENTER] for Y  (equivalent to option 2). The two F6 SRS (SCSI/RAID/SATA) floppy images will automatically be made for you which contain a Ram Disk driver such as Firadisk and the correct OEM mass storage driver. (If you have problems with the Windows installation – e.g. Windows BSOD or resets just before T-3 minutes stage or have a SCSI controller, try option 3=WinVBlock instead followed by Alt+2 for the 2nd stage).

          Note: If booting from an E2B USB-HDD and using FiraDisk (default) then you need to answer Yes to the ‘Load XP ISO into memory’ question or else you will get a BSOD 0x0000007B error when Setup switches to Windows protected mode! 

          512MB systems

          If booting from an E2B USB Hard Disk, you cannot install to  AHCI/SCSI systems having less than 512MB of memory with Firadisk, because you need to load the ISO into memory. You can use WinVBlock instead, but WinVBlock requires loading the ISO into memory in STEP 2. For this reason, if you have AHCI/SCSI/RAID systems with 512MB or less, use E2B on a USB ‘Removable’ Flash drive. There are two ways around this:

          Low RAM Option 1 : Use UltraISO to reduce the size of the ISO by deleting all folders from the ISO except \i386 folder, also delete all files >1MB in the i386\LANG folder. Then use the default Firadisk option and load ISO into RAM (use default options).

          Low RAM  Option 2: Use DPMS option 3 (WinvBlock) for STEP 1, and use Step 2 (<512MB) menu entry for STEP 2 (may not work on every system though – BSOD 0x0000000A error).

          5. Wait for XP Setup to start – or press [ENTER] if you are impatient 

          Note: you can enter A for Abort or C for Command prompt (or D for Debug at command prompt) at this last prompt and then press [ENTER]. C/D drops you to the grub4dos command shell – pressing ESC from within the shell will continue where you left off and start Windows Setup).

          This colourful screen shows that a Mass Storage Driver has been found for a SCSI controller.

          If the fd1 and fd0 drivers are both ‘firadisk.sys’ then no suitable disk driver has been found and Windows XP may not be able to find your internal disk drives.

          6. Now go through the normal XP install options  (there is normally no need to press the F6 key). Format the drive and allow XP Setup to copy the files to the hard disk as usual.

          7. When the system restarts, boot back to the E2B USB drive again (if the system boots to Windows you will get an ‘.asms files not found’ error – just reboot back to E2B again and carry on as below).

          8. Press Ctrl+I to select the Windows Install Menu again

          9. Press Alt+2 – this is the safest and most reliable option for XP Step 2  (or use Alt+3 but you must leave the USB drive connected – if you used OEM+WinVBlock you MUST use Alt+2 and not Alt+3)

          Now choose the SAME ISO XP install file that you chose in step 1. If you get an ‘asms files not found’ error, repeat the whole install again from ‘Step 1’ but choose the WinVBlock driver. If possible, always load the whole ISO into RAM (answer Y when prompted).

          10. Windows Setup GUI Mode will run and you can complete the installation of Windows XP (after it reboots)

          Note: If the FiraDisk RAMDisk driver was installed, it will be removed if you answer Y for Yes to the prompt that will appear when you get to the XP Desktop.

          Although the FiraDisk driver does no harm, it does show up as as ‘Unknown Device’ in Device Manager. If you want to keep FiraDisk, answer N for No.

          The two Virtual Floppy disks that are generated in memory will contain identical files (all driver files will be on both disks). The only difference is that one disk will contain a txtsetup.oem file with a different default driver setting from the other. ie. one txtsetup.oem file will be set to load an AHCI or SCSI driver and the other will be set to load the OEM Mass Storage driver.

          If you have an IDE system and no OEM driver is required, both WinVblock (fd0) and Firadisk (fd1) will be loaded.

          E2B DPMS2 Options

          1 = OEM+FiraDisk – does not add the WinVBlock driver to the F6 floppies – use if drivers won’t fit on the floppy disk using option 2

          2 = OEM+FiraDisk+WinVBlock – THIS IS THE DEFAULT = Y = FiraDisk will be loaded

          3 = OEM+WinVBlock+FiraDisk – the default Ram Disk driver that will be loaded will be WinVBlock – use if FiraDisk fails

          If you just press the [ENTER] key then Option 2 will be selected = FiraDisk.

          If you choose 1 then it is the same as Option 2 (except that the WinVBlock drivers will not be copied to the Virtual F6 floppy disks) which may save space and allow for larger Mass Storage drivers.

          If you choose 3 then both FiraDisk and WinVBlock drivers are copied to the Virtual F6 floppy disks, but Windows will load the WinVblock driver automatically instead of the FiraDisk driver (unless you press F6).

          The best option to use is option 2. Only use option 1 or 3 if option 2 does not work.

          FailSafe: If you have a particularly difficult system that seems to crash (BSOD), use Step 1=  Alt+1 – then DPMS2 option 2 = FiraDisk – then Y=load ISO into memory – then Press F6 and load all 3 drivers (OEM+Fira+WinV) – reboot – then choose Alt+2

          IMPORTANT: If the Option 3 (WinVBlock driver) is used, you can only use it on 512MB+ systems because in STEP 2, you must use the ‘STEP 2 – Install XP [Alt+2] (512MB+ systems]’ option.

          NOTE: You can use both FiraDisk and WinVBlock and an OEM disk driver, press F6 at the start of XP Setup and then load all the drivers listed.

          No Mass Storage Driver found!

          E2B will identify the PCI ID of your Mass Storage Driver (e.g. SATA disk contoller or SCSI/RAID disk controller) and look for a matching PCI ID in the DriverPack.ini file. You can check this by using the ‘List matching XP DriverPack.ini entries‘ menu in the E2B Utilities menu.

          This shows a PCI Vendor ID of 8086 (Intel) and 2829 (device ID) has been detected for your Mass Storage controller and that the DriverPack.ini file points to the XP 32-bit drivers in the \_ISO\e2b\grub\DPMS\D\M\I\4 folder, which are for the ICH7 controller chip. If no text output is displayed, then E2B could not find a match for the PCI ID of your controller in the DriverPack.ini file.

          To list the PCI ID of your disk controller, use the Utilities – List Mass Storage Controller PCI IDs menu entry.

          You may find a more recent version of the DPMS drivers here and for how to update the DPMS driver pack (see below).

          Known Issues

          • missing – If using the D/M/L driver pack, you need to unzip the s2k332.7z file.
          • 0x00007B as Setup loads Windows at start of text-mode Stage 1 phase – try loading the ISO into memory (answer Y before the question times out!) or select the WinVBlock driver instead of the FiraDisk driver.
          • If the E2B USB drive is a USB Hard Disk, load the ISO into memory when asked.
          • If you have a DELL PC and no matter what you try you always get BSOD 0x0000007B error – re-make the XP ISO and use a special version of \i386\ntdetect,com. 
          • VBox Scsi (symmpiv driver) install resets at approx T-3 (almost at end of stage 2) – use WinVBlock rather than FiraDisk
          • VBox SAS (symmpiv driver) IRQ_NOT_LESS_OR_EQUAL at approx T-12 – use Alt+1 (loads ISO into memory) for Step 2.
          • To avoid a 0x000000A0 STOP error, press the F7 key when prompted to press F6 by XP Setup.
          • If WinSetupFromUSB works but E2B does not, convert the WinSetupFromUSB USB drive to a .imgPTN file and add it to your E2B drive.

          DPMS Output text

          The colourful text displayed by DPMS will show you what 32-bit drivers were selected and what two drivers will be loaded by default if you do not press F6. 

          If more than one OEM (SRS) driver is found, you will be asked by E2B to choose which one you want to be the default.

          If more than one OEM driver is required you MUST PRESS F6 at the start of Setup and load ALL the drivers manually from the list presented. This is because the maximum number of drivers that DPMS can install automatically (without pressing F6) is 2 (one for each virtual floppy – and one must be the RamDisk driver FiraDisk or WinVBlock).

          Using DPMS in your own grub4dos menu

          If you wish you can use the DPMS2 package in your own application. The DPMS driver folders (\D\M\) must be located directly below the folder that contains the DPMS2.g4d batch file. If you wish to generate a Ram Disk driver floppy, you must specify a value for the grub4dos environment variable FIRA (1=Firadisk only, 2=FiraDisk(default)+WinVBlock, 3=WinVBlock(default)+Firadisk. If you do not set the FIRA parameter before calling DPMS2.g4b then only the SRS F6 virtual floppy (or floppies) will be made.

          If there is no SRS driver required and you asked for two floppies and use FIRA=2 or FIRA=3, then one floppy will have a default driver=FiraDisk and the other default=WinVblock.

          If you use FIRA=2 or 3 and ask for just one disk you will be asked to choose which driver you want loaded by default.

          The DPMS2.g4b batch file also takes a parameter (optional)

          • (no parameter) = create maximum of two floppies
          • 0 = create fd0 only
          • 1 = create fd1 only
          • 2 = create maximum of two floppies  (same as no parameter)


          • #create two F6 floppies (one SRS, one default=Firadisk)
          • set FIRA=2
          • /mypath/DPMS2.g4b 2


          • #create one SRS OEM driver F6 floppy on fd0
          • set FIRA=
          • /mypath/DPMS2.g4b 0


          • #create one SRS OEM driver F6 floppy on fd1 + WinVBlock as default on fd0
          • set FIRA=3
          • /mypath/DPMS2.g4b

          Note that some special commands are also required in your grub4dos menu – see the ..\grub\XPStep1.g4b, ..\grub\XPStep2.g4b and ..\grub\XPStep2LowRam.g4b batch files for help.

          Update DPMS with the latest XP 32-bit Mass Storage drivers

          The version of the Mass Storage Driver Pack used in E2B can be found in the \_ISO\e2b\grub\DriverPack.ini file (e.g. v.1.72 has a modified version of MSD 1412115). If you are installing XP to a modern system, you may find that the E2B+DPMS download does not contain the new driver that is required for your chipset. In this case you will need to update your E2B USB drive using the latest DriverPack Mass Storage XP 32-bit build as follows: 

          1. Make an E2B+DPMS USB drive in the usual way
          2. Download a new build from here – go to Post #1 for the latest version and also the latest posts for the latest Beta build.
            Here is the 1405176 May 2014 build download (old).
          3. Delete the \_ISO\e2b\grub\DPMS\D folder from your E2B drive
          4. Delete the \_ISO\e2b\grub\DPMS\DrivePack.ini file from your E2B drive
          5. Unzip the driverpack download to the \_ISO\e2b\grub\dpms folder – this should make a new \_ISO\e2b\grub\DPMS\D folder.
          6. Rename \_ISO\e2b\grub\DPMS\DriverPack_MassStorage_wnt5_x86-32.ini to DriverPack.ini

          Version 1412115 is here (2014-12-11). E2B uses a bugfixed version of this driver pack (DP_MassStorage_wnt5_x86-32_1412115.7z).The latest Nightly builds of driverpacks can be found near the last post on this forum thread

          Tip 1: the DPMS2 batch file in E2B parses the DriverPack.INI file to look for a matching PCI ID. You can edit the INI file to change which driver and folder is used for a particular PCI ID (if you know what you are doing!). 

          Tip 2: The E2B – Utilities menu has menu entries that can check if a suitable driver can be found in the DPMS Driverpack.ini file. Use one of the ‘List matching DriverPack.ini entries’ menu entries. 

          Useful Information

          Refer to the XP Setup Stages Reference Guide here. The Alternate Downloads area contains an old Driver Pack that should work for Haswell Z87 systems ( if the latest version in E2B does not work.

        • Install XP 64-bit

          Windows XP 64-bit Installation

          Windows XP 64-bit requires specific XP 64-bit drivers. Windows XP is now 20 years old and the last release of XP 64-bit SP3 was in 2009. Because manufacturers had to release two sets of drivers for XP (32-bit and 64-bit) and because XP 64-bit was not popular and has many limitations, very few modern 64-bit XP drivers are available. XP 64 was really only intended to be used for specific applications requiring more than 4 GiB of RAM, it was not intended as a ‘consumer’ desktop OS. 

          Easy2Boot uses the set of Mass Storage Drivers, but there is no 64-bit XP Mass Storage Driver pack available for 10 year-old, or more recent, systems. 

          For this reason, you can only install XP 64-bit ISOs using Easy2Boot if the Mass Storage Drivers are already in the XP ISO. This means that 64-bit  can only be installed to very old hardware which uses old chipsets and IDE (or perhaps old SATA) controllers. You will need a modified XP 64-bit Install ISO which has added 64-bit Mass Storage drivers (e.g. as prepared by nLite). 

          Modern graphics, USB and audio XP 64-bit drivers are not available. Many 64-bit and 32-bit applications will not run on XP 64.  

          Unless your system is over 10 years old and uses IDE hard disks, XP 64 is probably not going to work!

          Install XP 64-bit using E2B

          The following instructions only apply if you are using a 64-bit XP Install ISO. 

          For XP 64-bit ISOs, the numbers ‘64‘ must be in the ISO’s file name – e.g. Windows_XP_SP3_64-bit.iso.

          If possible, set the BIOS hard disk controller configuration settings to Legacy\IDE (not AHCI/SATA).

          Use XP SP3 ISO file. 

          1. Copy the XP 64-bit ISO files to the \_ISO\WINDOWS\XP folder. 
          2. Boot from your E2B drive, press Ctrl-I for the Windows Install menu and then Alt+1 for Step 1.
          3. Choose from the list of XP ISOs.
          4. You will see some instructions about pressing F6 – on some systems pressing F6 during Windows XP Setup is not necessary. So try without pressing F6 first. 

          If required – select 64-bit FiraDisk driver after pressing F6. See Tutorial 30 for how XP ISO installs work using FiraDisk, etc.

          Note: Only old systems will show internal hard disks. Modern systems will not list any internal hard disks! 

          5. Continue with the text mode setup and allow the system to reboot after the copy-files stage has completed
          6. Reboot back to the E2B USB drive (do NOT allow the computer to boot from the internal HDD).
          Select Ctrl-I and Alt+2 for Step 2.
          7. The system should now boot from the internal HDD and continue the GUI Setup phase of the XP install. It may be necessary to confirm the loading of some drivers during this phase.
          8. Once XP has been fully installed, you can delete the storage drivers which show up as errors in Device Manager and then install all drivers for your hardware in the usual way. For details on how to install Windows XP using the 2-step FiraDisk method see the instructions in Tutorial #30 

          (Hint: if you get BSOD in Step 1, try without pressing F6). 

          If E2B does not seem to work with your ISO and system, try WinSetupFromUSB instead.

        • Install XP using WinPE

          Boot to WinPE and install XP from an XP ISO

          If the Easy2Boot Windows XP two-step process is not working on some systems, try this WinPE method instead (an alternative method is to boot to WinPE and run WinNTSetup).

          With this method you can also automate the install. 

          Two ISO files are required:

          • The first ISO is just your Windows XP Install ISO – i.e. the OS that you want to install  (this does NOT need to be contiguous)
          • The second ISO needs to be a 32-bit WinPE v2/3/4 ISO – this can be a whole Vista/Win7/Win8 Install ISO OR just a Vista/7/8 WinPE ISO  (Win8 PE recommended)

          A removable-type of USB E2B drive is required on low RAM <1GB systems (or a WinHelper USB Flash drive if using E2B on a USB HDD) – later versions of E2B will work with both Removable and Fixed E2B drives as E2B can use WIMBOOT instead of needing a WinHelper flash drive with E2B Fixed-disk USB drives but usually >1GB of RAM is required. 

          Click here for a video demonstration of this procedure. 


          • Vanilla Microsoft XP ISO (unmodified)
          • Can only install to IDE Hard disk (unless nLited ISO is used which includes Mass Storage Drivers)
          • Fast – can be automated with no user input once install starts
          • USB drive can be removed once text-mode setup has completed
          • No 2nd reboot to E2B menu required
          • Vista/7/8 32-bit Windows Install ISO (or WinPE ISO) is also required (Win10 x86 will report a “Basic Disks created by Windows NT 4.0” error and cannot be used).

          With this method you only need to boot to the E2B USB drive once and the E2B drive is not required once the initial file copy phase has finished.

          In addition, you can use an unattend.txt file to automate the install process. The disadvantage with this method is that if you are installing to an AHCI\SATA\SCSI\RAID system, then you need to use a modified XP Install ISO that contains the correct drivers (i.e. nLited with the correct mass storage driver for the target system). 

          This process requires two ISOs, one of which must be a Vista (or later) Install ISO (e.g. Vista Install ISO, Win7 Install ISO, Win8 Install ISO, SVRk2012 Install ISO, SVR2K8 Install ISO) or a WiNPE ISO.

          Win10 WinPE cannot be used.

          E2B will boot from this ISO to use WinPE. Under WinPE it will load the XP ISO file as a virtual CD and then, after formatting the target hard disk, will run XP winnt32.exe to install XP onto the target partition. 

          This method will also work if booting from an exFAT formatted Easy2Boot USB drive using a Win7/8 WinPE or Install DVD.

          This method can also be used with XP install ISOs that contain $oem$ folders. 

          Although you are asked for a partition size, you can later skip over partitioning and formatting of the drive. If you specify a partition size and an unattend.txt, when you later confirm with Y – the disk will be wiped, re-partitioned, re-formatted and the whole XP build will continue automatically without further user input being required. 

          The XP ISO should have any mass storage drivers already integrated (nLite’d) as required by the system (e.g. AHCI drivers). 

          Note: There is an example file in \_ISO\Windows\XP\XP_EeePC_Auto_UK.txt for an Asus EeePC install. 

          How it works

          These installs work in a similar way to Vista/7/8 installs, ImDisk is used to load the XP ISO file as a virtual DVD:
          1. Easy2Boot overwrites \AutoUnattend.xml and \Unattend.xml with \_ISO\E2B\FiraDisk\auwinnt.xml 
          2. Windows Setup or PE boots 
          3. WinPE Setup looks for \AutoUnattend.xml file on any REMOVABLE DRIVE (e.g. USB Flash drive or CD/DVD) – WinPE looks for \Unattend.xml when wpeinit runs. 
          4. PE runs the WindowsPE RunSynchronous command from the  .xml file which then looks for and runs LoadIsoW.cmd 
          5.  \_ISO\E2B\FiraDisk\LoadIsoW.cmd loads the XP ISO as a virtual drive and then runs \_ISO\E2B\FiraDisk\RUNWINNT.cmd 
          6. RUNWINNT.cmd prompts the user and formats, or wipes and partitions the target drive and runs winnt32.exe with the correct command line parameters. 
          7. Remove the USB drive and reboot the system to begin the XP Setup text-mode file copy phase which runs from the target hard disk. 

          Note: By default, the script will assume you will want to wipe and partition Drive 0, however you can prepare any target drive using DiskPart and install XP onto a different drive and partition. Use 0=Max for the default Drive 0 partition size when asked, but then when asked again later if you want to wipe Drive 0, answer N=No – you can then select a different target volume drive letter.You can change the name of the XP Install ISO files as you wish (but keep the .ISO file extension). 

          This method requires two ISO files.

          • The first ISO is just your Windows XP Install ISO – i.e. the OS that you want to install  (this does NOT need to be contiguous)
          • The second ISO needs to be a 32-bit WinPE v2/3/4 ISO – this can be a whole Vista/Win7/Win8 Install ISO OR just a Vista/7/8 WinPE ISO  (Win8 PE recommended)

          E2B Fixed Disk?
          Later versions of E2B can use ‘WIMBOOT’ instead of needing a WinHelper flash drive with E2B Fixed-disk USB drives.
          However, if you are booting Easy2Boot from a USB Hard disk and do not use WIMBOOT, you will also need a WinHelper USB flash drive containing these 3 files –   

          • AutoUnattend.xml (overwritten – required for Win Vista and later OS Install ISOs), 
          • Unattend.xml (overwritten – required for WinPE ISOs)
          • WINHELPER.USB (marker file to find correct USB drive)

          These 3 files must be on the root of your USB ‘Helper’ Flash drive.

          Note: E2B can install any number of Windows ISOs because it uses a special feature of Vista+ OS’s which looks for a removable media drive such as a USB Flash drive or DVD. If you only want to install ONE Windows Vista/7/8 ISO using E2B from a USB Hard disk then you can accomplish this without the need for a ‘Helper’ Flash drive by simply extracting the whole \sources folder from the Windows Install ISO using 7Zip and copying the \sources folder to the root of your E2B Hard drive. If you delete the \sources\ei.cfg file then all available versions (e.g. Basic, Professional, Ultimate) will be offered. Of course, if you do this, you can then only install the version of Windows that is in the \sources folder on your hard disk. See here for details on installing Win7 in this way.

          How to make a WinPE ISO

          You can use pretty much any 32-bit WinPE v2/3/4 ISO that you have on your Easy2Boot drive or a Windows Install ISO (e.g. an existing Windows 7 or 8 Install DVD ISO that is already on your E2B drive, but not an XP-based ISO). Windows 10 PE cannot be used as it is incompatible with winnt32.exe. 


          You can make a 150MB WinPE ISO by downloading and using the >3GB Windows WAIK (use copype x86 c:\winpe3) and make an iso file using mkfsiso from the Windows command line. 


          much easier and fully automated way to obtain a bootable WinPE3 ISO that is also useful as a rescue ISO (a download and then just a few mouse clicks!) is to follow Tutorial 107 and make a Macrium Reflect Rescue ISO. This ISO can then be used with this method to install XP and as a general purpose rescue ISO (you can put it in the \_ISO\MainMenu, \_ISO\MainMenu\MNU or any of the \_ISO\Windows\xxxxx folders). 


          1. Ensure you have an XP Install ISO file in the \_ISO\Windows\XP folder (any .iso filename can be used) 

          2. Make sure you have a 32-bit Vista, 7 or 8 Install ISO or WinPE v2/3/4 ISO in one of the  \_ISO sub-folders – the WinPE .iso file can have any filename you like. 

          3. The file at \_ISO\Windows\WINPE_INST.TAG should be already present (don’t delete it!) –  if you delete it you will not see the ‘Install any ISO using WinPE’ option in the menu! 

          4. You can add your own unattend.txt file to the \_ISO\Windows\XP folder (use any suitable filename but it must end in .txt). Use the sample UK .txt file as a template. The sample one provided will run Setup without any user interaction. 

          5. Run WinContig  (RMPrepUSB – Ctrl+F2) to ensure the PE ISO file is contiguous 

          6. If you are booting from an Easy2Boot USB Hard drive, you may need to prepare and connect an auxiliary ‘WinHelper’ USB Flash drive (see section above for details) 

          Using the ‘Install XP using WinPE’ menu option

          When you boot from the Easy2Boot USB drive, the Windows XP install menu will have the option: 

          3 Install XP using WinPE [X]

          When you select this option you will need to answer some user questions before it boots from the ISO file: 

          Select a Windows XP ISO – choose the XP ISO you want to actually install 

          Which folder is the WinPE ISO in: – choose one of the Windows folders on your Easy2Boot drive that has a WinPE 32-bit ISO file (if using XP 32-bit) 

          Enter WinPE ‘Helper’ ISO – choose the helper WinPE ISO (for instance a Windows 7 32-bit install ISO file or a Win8PE 32-bit .iso if installing XP 32-bit) 

          Default Disk 0 1st partition size in MB (0=MAX)  :   – You will be asked to confirm this again later on before the disk is wiped, and then you can choose to just format one partition only and not wipe the whole disk or install to a partition without formatting. Use 0 for maximum size. If you are not going to wipe and partition the disk, choose 0 or any size. 

          Choose an Unattend.txt file (0=MANUAL INSTALL) :   – You can specify an unattend.txt file (there is one included in the XP folder which you can copy if you like). Press 0 for no unattend.txt file which means you will have to answer all the questions from XP Setup manually.

          Booting to WinPE

          1. The system will then boot to WinPE from the Vista/7/8 WinPE ISO and should automatically open a blue console window (the auxiliary USB Flash drive must also be connected if using a USB E2B Hard Disk)
          2. WinPE will detect the xml file, run the section of code inside it and then mount the XP ISO file as a virtual drive.
          3. You will be asked if you want to wipe the internal hard disk and re-partition it. 
            Check the drive list carefully to make sure the correct drive has been selected! You may need to maximise the blue console window.
          4. If you answer N then you will be asked if you want to format a single partition on the hard drive (e.g. C:). This partition will be made active and will become the system partition.
            Note: if you answer N to this question also, the install will stop. If you answer S=Skip then XP will be installed to an existing partition.
          5. Winnt32.exe will then be run (and will use the Unattend.txt file if you specified one to automate the install process) – this will take several minutes…
          6. Press a key to reboot to the internal hard disk and the XP Setup should then proceed – the USB drive(s) can be disconnected.

          If you have an XP ISO with integrated AHCI drivers (e.g. using or nLite), then it should work on an AHCI system. 

          If possible, use a 32-bit Windows 10 Install ISO as the WinPE installer OS as that will have the widest range of drivers and USB 3.0 support. 

          Tip: To automate the process further and remove the final prompt to reboot (see step 6 above), edit the \_ISO\E2B\firadisk\RUNWINNT.cmd file and add REM to the line near the end of the file as shown below:

           echo Press a key and reboot from the internal hard disk to continue Setup...
          REM pause > nulwpeutil reboot
        • Install XP using WinSetupFromUSB

          Add XP Install ISOs using WinSetupFromUSB

          Modified Windows XP ISOs may not install correctly when used with E2B, For these ISOs, it is best to extract and modify the files inside the ISO file using WinSetupFromUSB. 

          WinSetupFromUSB can install non-standard, non-Microsoft XP ISOs. You can make a WinSetupFromUSB USB flash drive and use that to install XP to your system.

          You can also add WinNTSetup onto your E2B USB drive as a partition image.

          How to make the Partition Image file

          Note: You will need to install the E2B MPI Tool Kit first. You will need a spare USB drive.

          We will use WinSetupFromUSB to make a bootable WinSetupFromUSB drive and then make an image of the USB drive which we can then add to E2B. 

          1. Mount the XP ISO as a virtual CD using ImDisk (or extract the files from the ISO to a empty folder using 7Zip or similar software)

          2. Insert a spare, freshly NTFS-formatted USB drive into your Windows system

          3. Run WinSetupFromUSB and select the USB target drive in the drive selection box

          4. Tick the Windows 2000/XP/2003 Setup box and use the   box to select the source folder/drive letter that contains the files from your ISO.

          5. Click on GO to make the USB drive

          (you can test the WinNTSetupFromUSB now if you like).

          6. Drag-and-drop the USB drive letter/icon onto the MPI_NTFS Windows Desktop shortcut, specify a destination path (e.g. C:\temp\XP_Winsetup.imgPTN) and when prompted, choose the Combine option to combine the WinSetupFromUSB menu.lst with the CSM menu.

          Note: If there are System Volume Information and $Recycle.BIN folders on the drive, it may cause problems with the MakePartImage or produce a larger .imgPTN file than is necessary, so to avoid this, copy the WinNTSetup drive’s files and folders to an empty folder on your system disk first (e.g. C:\temp\WinSetXP) and drag-and-drop the WinSetXP folder onto the MPI_NTFS shortcut.

          7. Copy the resulting XP_Winsetup.imgPTN file to the \_ISO\MAINMENU or \_ISO\WIN folder of your E2B USB drive (Flash drive or USB HDD).

          Tip: If you are using E2B+agFM, you may find it more convenient to change the file extension to .imgPTN23.

          How to use E2B to install XP onto another system

          1. Connect the E2B USB drive to the target system and boot from it to the Main menu
          2. Select the XP_Winsetup.imgPTN menu entry to get to the CSM menu
          3. In the CSM menu, choose the Windows XP/2000/2003 Setup menu option
          4. If the target system contains a non-IDE hard disk (e.g. SATA/RAID/SCSI) run the Auto-detect and use F6 SATA/RAID/SCSI Driver menu option
          5. Now choose the First part of Windows XP setup menu entry and proceed with the normal XP textmode setup process until it reboots.
          6. Reboot back to the E2B USB drive again (don’t boot from the internal hard disk yet!) and select the Second part of Windows XP setup menu option to start the 2nd GUI install stage.
          7. Allow it to reboot from the internal hard disk to complete the install.
          8. You can modify the CSM \menu.lst file to change the menu colours and remove any menu options you don’t want. You can also add the \winsetup.lst menu contents into the \menu.lst menu if you wish and remove the ‘title Windows XP/2000/2003 Setup menu’ entry.

          WinSetupFromUSB FAQ here
          Please ensure that you only install XP onto a legally licensed system. Systems with an XP Pro or Vista Pro Certificate of Authenticity sticker on them can be legally installed with XP Pro (or if your establishment has a Volume Licence agreement).

        • Installing Offline Chocolatey Packages

          Installing Offline Chocolatey Packages

          Chocolatey works by downloading a script which tells Chocolatey what download URL to use in order to download the apps installation files, e.g. Google Chrome Setup.exe would be directly downloaded from Google’s server. Chocolatey would then install the downloaded file in the correct way using Windows PowerShell. 

          It is possible to pre-download any of the Chocolatey packages that you want and then to install them offline during Windows Setup using Chocolatey. In this way, no internet connection is required during Windows installations. 

          I have utilised the ChocolateStore github software by BahKoo so that we can make offline chocolatey packages for the SDI_Choco process using a ChocBox.cmd script. 

          Note: a few Chocolatey packages will not convert correctly to offline packages at the moment (e.g. for Firefox, you must use the palemoon choco package instead, or else download Firefox from here and install FireFox using the /S command line parameter). 

          • During the Specialize pass, we copy the app packages from the E2B USB drive to the C:\DRIVERS\CHOCBOX folder of the target system.
          • During the final user login stage (MyStartup.cmd) we install each app. from the C:\DRIVERS\CHOCBOX folder.

          Note: Chocolatey packages should be copied to the C:\DRIVERS\CHOCBOX folder of the target drive or they will not work.Detailed step-by-step exercises can be found in the E2B eBook #2

          The two Offline methods

          There are two scenarios when installing apps offline: 

          1. Chocolate Box – all the packages are copied to the target hard drive

          In this case, we can group all the choco packages into one CHOCBOX folder. Every system will get the whole box of chocolates!
          All packages will be copied to the target hard disk but we can script which ones we want to be installed for each different configuration. For instance, if we had 20 different apps, total=500MB in the CHOCBOX folder, then all 500MB would be copied from the E2B drive to the target drive every time, even if we only installed one of them in MyStartup.cmd.
           We can however, have different configurations sets with different MyStartup.cmd scripts to install a different selection of apps for each configuration. Tip: You could modify the MyStartup.cmd file to prompt the user for a software choice (e.g. 0=No apps, 1=Standard apps, 2=All apps, 3=Developer apps) : e.g. the variable ‘GROUP’ holds our choice:

          set /p GROUP=What group of apps do you want to install (0-3) : 
          for %%A in (1 2 3) do if "%GROUP%"=="%%A"  choco install GoogleChrome -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          for %%A in (2 3) do if "%GROUP%"=="%%A" choco install FoxitReader -source C:\DRIVERS\CHOCBOX  -y -r >> %log%

          Or you could prompt the user for each app:

          setlocal EnableDelayedExpansion
          set ask=& set /p ask=Install Foxit Reader (Y/N) : & if /i "!ask!"=="Y" choco install FoxitReader -source C:\DRIVERS\CHOCBOX -y -r 
          set ask=& set /p ask=Install Google Chrome (Y/N) : & if /i "!ask!"=="Y" choco install GoogleChrome -source C:\DRIVERS\CHOCBOX -y -r 

          2. Pick-n-Mix – We only copy the apps we want to install

          This requires more coding/scripting on your part.

          In this case, each app (package) has a separate folder on the E2B drive.

          We need to write lines of script in the main config file to copy each individual app folder from the E2B drive to the target C: drive.

          We only copy the apps that we will install, so we can cope with 100’s of different apps and 100’s of different configurations on the E2B drive.  


          1. You must install Chocolatey on your office Windows system first so that you can create the offline packages.
          Install choco by running \_ISO\docs\ChocBox\Install_Chocolatey.cmd as Administrator from the E2B USB drive or follow the instructions here (Windows 7 or later is required). 

          Installation of Chocolatey just copies files to the C:\ProgramData\Chocolatey folder and adds an entry to the Windows shell environment Path variable of your Windows system.  .Net Framework 4.8 is required which is not already present in Win7. 

          2. We need to add the Chocolatey .nupkg package for Chocolatey itself to the E2B drive: 

          2.1 Run \_ISO\docs\ChocBox\ChocBox.cmd.
          2.2 Type Chocolatey for the package name and then press ENTER for the current chocolatey version when prompted to make the chocolatey package file.
          2.3 Copy the chocolatey.xxxxxx.nupkg file from C:\DRIVERS\ChocBox to the E2B USB drive \_ISO\WINDOWS\installs\INSTALLCHOCO folder.
          2.4 Rename the .nupkg file at \_ISO\WINDOWS\installs\INSTALLCHOCO to chocolatey.nupkg If a new version of choco is released, you can update the chocolatey.nupkg file by repeating steps 1 and 2 above. 

          3. If you are installing Windows 7 (???), you will need to add the .Net 4.0 Full Standalone dotNetFx40_Full_setup.exe file to the \_ISO\WINDOWS\installs\APPS\CHOCBOX folder. Then create a new MySetupComplete.cmd file in your configuration folder (e.g. \_ISO\WINDOWS\installs\CONFIGS\SDI_CHOCO\MySetupComplete.cmd) with the last line (because it may cause a reboot) as:

          if "%WINVER%"=="7" start /wait c:\drivers\chocbox\dotNetFx40_Full_x86_x64.exe /passive

          Note: Remember that Win7 does not include drivers for USB 3 or modern USB 2 ports! Tip: You can test to see if .Net 4.0 is already installed or not using Raymonds NET_Detector_cli.exe application (which should be copied to your configuration set folder) :

          C:\Drivers\NET_Detector_cli.exe | find "4.0" > nul ||  start /wait c:\drivers\chocbox\dotNetFx40_Full_x86_x64.exe /passive  

          1. Chocolate Box (all chocolates in one big box)

          First we download and make the offline application packages on our office system, then we copy them to our USB drive. Note: Some AntiVirus products can cause chocolatey commands to run extremely slowly (e.g. Comodo AV). You will need to stop the AV product and ensure you kill all the AV processes in Task Manager (or uninstall the AV product). 

          1. Double-click on the \_ISO\docs\ChocBox\ChocBox.cmd file – type in the name of your app and check it downloads and converts correctly.

          When prompted for an ‘Exact Name’ type the full package name (no version number). You can also press W to look-up the name of the package on the web.

          Even if the partial search returns no matches (NONE), you can still try typing the exact full package name.

          When asked for a version number, press ENTER for the latest approved version (or enter the version number required). 

          IMPORTANT: Make sure that you get a .nupkg file – sometimes there will be an associated folder too (and sometimes not). 

          Note: If there is a package which has .install in the name (or similar), then specify that name, e.g. notepadplusplus.install instead of notepadplusplus. 

          Note: ChocBox will make a C:\DRIVERS\CHOCBOX folder on your Windows office system. This folder location must not be changed because each package will be made so that it runs from only that specific folder. 

          If you have problems finding a package, check on the chocolatey website here

          Note: ChocolateStore may report errors, if it failed to download a one or more of the payload files (e.g. .msi or .exe).

          If you copy the failed download file URL that was reported and paste it into a browser, you can sometimes download the .msi or .exe and add it into the download folder yourself – C:\DRIVERS\CHOCBOX\(appname)\.
          For example, ChocolateStore reports errors with Skype, but it still works if you use the .nupkg and the folder containing the .msi.

          Tip: Skype also requires some DLLs for Win10, so you need to also install vc_redist from here, copy it to the CHOCBOX folder on your E2B drive and install it using %systemdrive%\DRIVERS\CHOCBOX\vc_redist.x86.exe /q /norestart in your MyStartUp.cmd file. 

          2. Repeat for all apps that you want to install. 

          3. Copy the contents of the C:\DRIVERS\CHOCBOX folder to the E2B drive’s \_ISO\WINDOWS\INSTALL\APPS\CHOCBOX folder.    You only need to copy the .nupkg + package folders of each app that you want. 

          The following instructions assume that XXXXXX is your configuration name, for instance SDI_CHOCO is the default configuration and you can use that if you wish. The SDI_CHOCO config files will not be overwritten if you update E2B at a later date. 

          4. Make two new files in the \_ISO\WINDOWS\installs\CONFIGS\XXXXXX folder (any size): 

          OfflineChoco.TAG – causes the \_ISO\WINDOWS\INSTALL\APPS\CHOCBOX folder to be copied automatically and choco to be installed offline
          NoInternet.TAG    – will not try to enable WiFi internet connectivity 

          If you wish, you can omit the NoInternet.TAG file and it will ensure it is connected to the internet (even by WiFi) and then you can use use both online and offline choco installs. If you have an Ethernet cable connected, you will probably have a working internet connection regardless of the NoInterner.TAG file (if the network drivers have been installed). 

          5. Copy the Sample_MyStartup.cmd file to \_ISO\WINDOWS\installs\CONFIGS\XXXXXX\MyStartup.cmd

          Make a MyStartup.cmd file from the Sample_MyStartup.cmd sample file

          6. Edit MyStartup.cmd to install your offline packages individually (you should see some example lines already present), e.g. 

          :: Install any offline packages that were in USB:\_ISO\WINDOWS\
          installs\APPS\CHOCBOX folder - each one must be named by name
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG start /wait %systemdrive%\DRIVERS\nircmd speak text "Installing Fox it reader, win merge, prod u key and notepad plus plus"
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG echo Installing Offline Choco packages...
          :: Some packages require chocolatey-core.extension, so always install this first
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG cinst chocolatey-core.extension  -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          :: Now install choco packages - must use xxxxxx.install if they are .install packages
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG cinst FoxitReader        -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG cinst WinMerge           -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG cinst ProduKey.install        -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG cinst notepadplusplus.install -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG start /wait %systemdrive%\DRIVERS\nircmd speak text "off line install finished"
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG echo Finished Offline Choco packages

          You can install specific versions if more than one version is present, using, e.g.   choco install Opera –version 45.0.2552.888 –source C:\DRIVERS\CHOCBOX -yr 

          Note: You must add ‘.install’ for packages that have a name ending in .install – e.g. produkey.install.

          Some choco packages also require the ‘chocolatey-core.extension’ package. Make sure you install this package first (as in the example above). 

          ChocBox.cmd will create a .txt file for each package which contains the required command line. The .txt file is not needed – it is just for your reference only. 

          If you will always use offline packages, you can omit the if exist %systemdrive%\DRIVERS\OfflineChoco.TAG prefixed portion of each line. 

          Remove any lines in the MyStartUp.cmd file that you don’t want. 

          7. Finally, don’t forget to make a new XML file which uses your new configuration name XXXXXX instead of SDI_CHOCO if you are not using the SDI_CHOCO configuration set. 

          e.g. Modify  ZZDANGER_Auto_WipeDisk0_Win10ProUS_with_SDI_CHOCO.xml and copy to \_ISO\WINDOWS\WIN10 folder.  

          Adding other apps

          It is also possible to also copy other packages which are not in the CHOCBOX folder on the USB drive, by creating a MySpecialize.cmd file, e.g. 

          xcopy /herky %USB%\_ISO\WINDOWS\installs\APPS\Foxit_CHOCO\*.*   %SystemDrive%\DRIVERS\CHOCBOX\ >> %log%

          You can then add lines to your MyStartup.cmd file to install them.  

          2. Pick-n-Mix (only copy and install the purple and orange ones!)

          1. Double-click on the \_ISO\docs\ChocBox\ChocBox.cmd file – type in the name of your app – check it downloads correctly. 

          Notes: ChocBox will make a C:\DRIVERS\CHOCBOX folder on your Windows office system. This folder location must not be changed because each package is re-compiled by chocbox.cmd so that it runs from that folder. 

          2. Repeat for all apps that you want to install. 

          3. Copy each package (.nupkg + folder if present) from the C:\DRIVERS\CHOCBOX folder to the E2B drive’s \_ISO\WINDOWS\INSTALL\APPS\ folder, make a new folder for each package, e.g. make new FoxIt_Choco and NotePP_Choco folders for the packages…
          \_ISO\WINDOWS\installs\APPS\FoxIt_Choco\FoxitReader. (folder)

          \_ISO\WINDOWS\installs\APPS\NotePP_Choco\notepadplusplus.7.4.1 (folder) 

          Some choco packages also require the ‘chocolatey-core.extension’ package.
          So make sure the  ‘chocolatey-core.extension’ package is present in the \_ISO\WINDOWS\installs\APPS\CHOCBOX folder.
          You can use ChocBox.cmd to download a more recent version, if needed. 

          If OfflineChoco.TAG is present, then the whole \_ISO\WINDOWS\installs\APPS\CHOCBOX folder will also be copied to C:\DRIVERS\CHOCBOX.  

          The following instructions assume that XXXXXX is your configuration set name… 

          4. Make two new files in the \_ISO\WINDOWS\installs\CONFIGS\XXXXXX folder:

          5. Copy the Sample_MyStartup.cmd file to MyStartup.cmd 

          6. Edit the MyStartup.cmd to install your offline packages individually


          choco install FoxitReader -source C:\DRIVERS\CHOCBOX -y -r >> %log%
          choco install produkey.install -source C:\DRIVERS\CHOCBOX -y -r >> %log% 

          Note: You must add .install for packages that end in .install – e.g. produkey.install. 

          Some choco packages also require the ‘chocolatey-core.extension’ package. Make sure you install this package first (already included in Sample_MyStartup.cmd).Remove any lines you don’t want. 

          7. We need to copy the packages from the E2B USB drive to the target drive during the first Specialize pass. 

          Create and edit a MySpecialize.cmd file (e.g. \_ISO\WINDOWS\installs\CONFIGS\XXXXXX\MySpecialize.cmd) 

          add the required lines, e.g. 

          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG xcopy /herky %USB%\_ISO\WINDOWS\installs\APPS\Chrome_CHOCO\*.*  %SystemDrive%\DRIVERS\CHOCBOX\ >> %log%
          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG xcopy /herky %USB%\_ISO\WINDOWS\installs\APPS\Foxit_CHOCO\*.*      %SystemDrive%\DRIVERS\CHOCBOX\ >> %log%

          Note: The destination path MUST be C:\DRIVERS\CHOCBOX\ or else the package will not install. 

          8. Finally, don’t forget to make a new XML file which uses your new configuration name XXXXXX instead of SDI_CHOCO. 

          e.g. Modify  ZZDANGER_Auto_WipeDisk0_Win10ProUS_with_SDI_CHOCO.xml, rename it and copy it to the \_ISO\WINDOWS\WIN10 folder. 

          Note: Any files/folders in the \_ISO\WINDOWS\INSTALL\APPS\CHOCBOX folder will also be copied to the target hard disk during setup. You can put all ‘common’ app packages in that folder or just leave it empty. 

          Install Microsoft Office (an example of a standard setup file install)

          There are some choco packages for Office365 and OfficeProPlus2013, but these may not be suitable as they require internet access (but I have not tested them).
          However, you can install any version of Office if you have the Setup installation files. Office can be installed using a command such as: 

          setup.exe /config [path to XML file] 

          You can generate an XML configuration file to automate the install by using the appropriate Office 2010\2013\2016 configurator page on this site

          Most people use the x86 version of Office because the 64-bit version may not be compatible with some plug-ins. 

          Copying the Office Setup files to the target drive

          A simple way to add Office would be to copy the Office Setup.exe file and XML file to your configuration folder (e.g. put them in \_ISO\WINDOWS\installs\CONFIGS\SDI_CHOCO) then it will be automatically copied to C:\DRIVERS every time you perform an installation. 

          Alternatvely, copy the Setup.exe and XML files to the \_ISO\WINDOWS\installs\APPS\CHOCBOX folder. If you have the OfflineChoc.TAG file in your configuration folder, the files will be automatically copied to C:\DRIVERS\CHOCBOX. 

          Another alternative is to create a separate folder for the files (e.g. \_ISO\WINDOWS\installs\APPS\OFFICE2016) and put a line in your MySpecialize.cmd file to copy the contents, e.g. 

          if exist %systemdrive%\DRIVERS\OfflineChoco.TAG xcopy /herky %USB%\_ISO\WINDOWS\installs\APPS\OFFICE2016\*.*   %SystemDrive%\DRIVERS\ >> %log% 

          Installing Office

          Assuming that the Setup.exe and XML files are now in the C:\DRIVERS folder, use a line like this in your MyStartup.cmd file:

           %systemdrive%\DRIVERS\Setup.exe /config %systemdrive%\DRIVERS\Office2016.xml 


          I would advise you to test your XML file by installing Office on a freshly installed system using the ‘Setup /config xxxx.xml’ command to make sure it works without user interaction and as you want it to be configured (user name, product key, etc.). If it doesn’t work, then uninstall Office, remake your XML file and try again! 

        • Installing Windows XP\7\8\10 using WinNTSetup

          Installing Windows XP\7\8\10 using WinNTSetup

          If you wish, you can use WinNTSetup to install Windows directly from a Windows Install ISO file. For instance, you can MBR-boot from a Windows 10 32-bit ISO and then use WinNTSetup to install Windows 7 x64 from an ISO, onto a GPT partition and install Win7 x64 in UEFI mode.  

          Install Windows 7 onto modern systems

          This process allows you to install Windows 7 onto a system that only has USB 3 ports/controllers because we boot to Windows 10 PE first which includes USB 3 drivers and so Setup can access the USB 3 ports.

          New! E2B eBooks are now available (including a complete course on making a multiboot USB drive and an eBook on Installing Windows). This method is very flexible, but does require some degree of ‘expert’ knowledge. 


          • There is no need to UEFI-boot from the E2B USB drive
          • Works from both Removable and Fixed-disk E2B drives
          • Allows you to install XP or Win7 from a USB 3.0 port and to a SATA\RAID drive (see below)
          • Supports MBR and GPT installs
          • No modification of ISOs or boot.wim required
          • No .imgPTN file required
          • No WinHelper USB Flash drive required
          • You can use SDI_CHOCO or other XML files (XML files can be generated on WAFG website)
          • Can choose any partitioning scheme without needing to change the XML file
          • Can be fully automated
          • Can load different  configuration files


          • You will need to wipe and partition and format the target disk (e.g. can easily use a diskpart script from within WinNTSetup)
          • Potential to wipe the wrong disk!
          • WinNTSetup is used (see screenshot below)…

          Tip: All three ‘traffic lights’ should be green. The BOOT PART in red means that the partition is not marked active (bootable) and it should be! 

          Example – Windows 7 install on modern USB 3 systems

          You can install Windows 7 (or any OS) onto modern systems using this technique. 

          Method 1 (for 64-bit CPU systems with internet access)

          1. Download Hirens HBCD PE ISO x64

          2. Copy the ISO file to \_ISO\WINPE folder and rename extension to .isomap64

          3. Copy your Win7 ISO to anywhere on the E2B drive – e.g. \_ISO\WINDOWS\WIN7

          4. Boot to HBCD PE ISO (MBR or UEFI)

          5. Utilities – Hard Disk Tools – Partition Tools – AOMEI Partition Assistant (partition target disk)

          6. Utilities – System Tools – Windows Setup – WinNSetup.exe (install Win7 – see below) 

          Method 2 (using Win10 ISO)

          1. You will need to copy a Windows 10 ISO file and the Windows 7 install ISO on the E2B USB drive.


          \_ISO\WINDOWS\WIN10\Windows 10 x64.iso  (we will only boot to this ISO)

          \_ISO\WINDOWS\WIN7\Windows 7 x64.iso      (we will install this ISO)

          2. Download WinNTSetup as described below.

          3. Boot to the Windows 10 ISO (you can MBR\Legacy boot or UEFI boot using agFM)

          4. Press SHIFT+F10 to open a command console and run WinNTSetup_x64.exe (or WinNTSetup_x86.exe if you booted from a 32-bit Windows 10 ISO).

          5. In WinNTSetup – press SHIFT+CTRL+D – select the desired partition script for the correct disk (usually disk 0)

          Tip: if you prefer, you can run MiniTool Portable Partition Magic (partitionwizard.exe – registered versions only) to partition the target drive (copy the folder to the USB drive first).
           6. Select the Windows 7 ISO file and specify the Boot and System partitions (e.g. both = W:)

          Tip: Right-click on the ‘Select location’ icon at the left of the screen in the first field to mount the source ISO file.

          Check you have three green traffic lights…

          7. Select the Edition you want to install and click on Setup, then proceed with the install.

          8. Remove the USB drive and allow the system to reboot from the hard disk to complete the Windows 7 installation.  


           1. Download WinNTSetup  v3.9.3 or a later version  (do not use an earlier version) and extract all the files to the folder on the E2B USB drive at  \_ISO\docs\E2B Utilities\WinNTSetup. This folder already exists on the E2B drive and contains additional useful files. 

          Tip: Use Right-click – Properties – UnBlock to remove the Windows security warning that you get when WinNTSetup is first run.

          2. (optional) Download BootIce (x86 and x64 versions) for use as a partitioning tool and copy them both to the WinNTSetup folder.

          3. We need to first download some additional files. Run WinNTSetup.exe under Windows from the E2B drive. Say ‘Yes’ to allow it to download some needed files.

          Now Quit WinNTSetup.

          4. Make sure your E2B drive contains the ISO that you want to install (can be anywhere on the E2B USB disk) – e.g. Windows_10_x64_Home_Pro.iso or Windows 7 x64.iso. 

          Note: You can use e.g. Win10x64x86October_.WinNTSetup.iso to automatically run WinNTSetup when WinPE loads.

          5. (optional) Add a diskpart script .txt file (some are already present in E2B). Make a text file containing the diskpart commands which you can use to wipe and partition the target hard disk. See here for some GPT examples and here for some MBR examples. Here is one I used to partition Disk 0 as a GPT disk ready for a UEFI install…

          \_ISO\docs\E2B Utilities\WinNTSetup\tools\diskpart\DiskPartGPT.scr

          select disk 0
          convert gpt
          create partition primary size=300
          format quick fs=ntfs label="Windows RE tools"
          assign letter="T"
          create partition efi size=100
          rem == Note: for Advanced Format Generation One drives, change to size=260.
          format quick fs=fat32 label="System"
          assign letter="S"
          create partition msr size=128
          create partition primary
          format quick fs=ntfs label="Windows"
          assign letter="W"

          If you have WinNTSetup v3.9.3 or later, the \WinNTSetup\tools\diskpart folder will already contain some sample diskpart scripts. 

          E2B also contains some additional sample diskpart script files..

          • Disk0_bios_350MBSys_Win_15GBRecov.txt
          • Disk0_bios_singlemaxptn.txt
          • Disk0_bios_Win_15GBRecov.txt
          • Disk0_uefi_300MBWinRETools_100MBEFI_128MBMSR_Win_15GBRecov.txt (GPT)
          • Disk1_bios_350MBSys_Win_15GBRecov.txt
          • Disk1_bios_singlemaxptn.txt
          • Disk1_bios_Win_15GBRecov.txt

          Note that the Disk1_xxxx files will erase the second disk (as seen by Windows) in your system. If you only have one disk in the system, the Disk1_xxxx files will erase the E2B USB drive! I use the Disk1_xxxx files when booting from an E2B USB drive under VirtualBox+VMUB. Under VBox+VMUB, Disk 0 is the USB drive and Disk 1 is the Virtual Machine Hard disk, so I must use the Disk1_xxxx files under Virtual Box.

          Note: WinNTSetup v3.9.3 and later

          If the file .\Tools\Diskpart\enabled=1 exists, this will enable the CTRL+SHIFT+D diskpart feature in WinNTSetup.exe when it is run.

          Tip: To make it easier to find WinNTSetup later, copy the whole  \_ISO\docs\E2B Utilities\WinNTSetup folder to \WinNTSetup.

          Tip2: Simply rename the Windows 10  ISO with a _.WinNTSetup.iso filename, e.g. 

          1. Name the ISO file \_ISO\MAINMENU\Windows_10_x64_.WinNTSetup.iso

          2. Now boot to E2B and select the menu entry.

          This will automatically load the ISO into WinNTSetup for you. You can select a different ISO (e.g. a Win7 ISO) if you wish.

          3. Now go to Step 3 below (but skip Step 4)…

          See blog post for more details.

          Boot to WinPE and run WinNTSetup

          1. Boot to the E2B Main menu and select and MBR-boot from a Windows ISO (see below for UEFI-booting).

          This can be the same ISO that you are going to install from or a different one (I suggest using the latest Win10 ISO because it is likely to contain the latest drivers). You can use any of the ISOs in the \_ISO\WINDOWS\xxx folders or just copy a Windows Install ISO to any one of the other ‘standard’ menu folders (e.g. \_ISO\MAINMENU). You can boot to almost any WinPE 8 or 10 ISO (e.g. ChrisR’s WinPESE ISOs, DLC ISOs, Gandalf ISOs, etc.). It can be a 32-bit or 64-bit ISO. Do NOT boot from a Windows 7 ISO because it won’t have modern chipset or USB 3 support!

          2. When you reach the first Windows ‘Setup’ screen, press SHIFT+F10 to get to the command shell.
          If SHIFT+F10 does not work, proceed to the next Setup screen and try it again. 

          All versions of E2B…

          3. Create Partitions

          At the Windows command shell, we need to wipe and partition the target hard disk.

          Tip: Run WinNTSetup.exe and then press Use CTRL+SHIFT+D (see above) to automatically run a pre-existent diskpart script to wipe and partition the drive – make sure you select the right one or it may wipe a different drive or your E2B drive!. You can then skip step 3.

          Note: Under WinPE, Ctrl-Shift+D may not work unless you use v3.9.1 or later.

          You can run a Windows DiskPart script. e.g. where D: is the E2B USB drive…

          diskpart /s d:\WinNTSetup\tools\diskpart\DiskPartGPT.scr

          Or, if you prefer, you can create the partitions using diskpart by typing in the commands manually and use abbreviated commands (mostly three-letter abbreviations can be used) – .e.g. type cre instead of create :


          sel dis 0
          detail dis
          convert gpt
          cre par pri size=300
          for quick fs=ntfs label="Windows RE tools"
          assign letter T 
          cre par efi size=100 
          for quick fs=fat32 label="System" 
          assign letter S 
          cre par msr size=128 
          cre par pri
          for quick fs=ntfs label="Windows" 
          assign letter W 

          Note: Later versions of WinNTSetup (3.9.0+) allow you to press CTRL+SHIFT+D and pick a diskpart script file.

          The file .\Tools\Diskpart\enabled=1 must be present for CTRL+SHIFT+D to work. This file is already present in E2B.

          You can use the ‘F’ buttons in WinNTSetup to format any existing volumes. Make sure that you format the System EFI partition as FAT32.

          Press F1 in WinNTSetup for help.

          Example manual diskpart commands for single maximum size partition:


          sel dis 0
          convert mbr
          cre par pri
          for quick fs=ntfs label="Windows"
          assign letter C

          Note that a ‘convert mbr’ or ‘convert gpt’ command is required to ensure that Windows does not fail during installation of boot files, due to any previously-used partitioning scheme.

          If you prefer, you could run a different partitioning tool to prepare the target hard disk first, instead of using diskpart (e.g. boot from a EaseUS Partition Master ISO or use BootIce).   

          4. Now run WinNTSetup (either the 32-bit WinNTSetup_x86.exe or 64-bit WinNTSetup_x64.exe version) and select your ISO file (you must use v.3.9.1 or later). 

          Tip: To install from an XP ISO file right-click on the ‘Search’ button or CD+box icon to load the ISO as a virtual drive. If WinNTSetup cannot find the install.wim\install.esd file, you may need to use the Search button to find the Virtual CD mounted by WinNTSetup (made after selecting the ISO file) and then select the Install.esd\Install.wim file manually from the virtual CD drive (e.g. M:\sources\install.esd).

          Ensure that WinNTSetup finds the install.wim\esd\swm file (see first arrow in screenshot below).

          Check that the three ‘trafiic lights’ are all green. If not, the partitions are not correctly formatted. Press F1 in WinNTSetup for help. 

          5. Select the Boot (System) volume – in my case S:

          6. Select the ‘Installation’ (OS) volume – in my case W:

          7. (optional) Select an XML file – tick the ‘Unattend‘ button.

          Tip: right-click the on the check-box to edit the XML file.

          In my case I selected one of the ZZDanger_xxxxxx_SDI_CHOCO.XML files. Note that if the XML file contains a drive partition section, it will be ignored, so the partitions will remain unchanged.
          Notethe version of Windows that is installed is determined by the one that you select in WinNTSetup and NOT the XML file.

          There are other options available in WinNTSetup, such as creating VHD files so that you can install to a VHD, and adding ‘Tweaks’ and your own drivers.

          8. Select the Windows Edition in WinNTSetup, e.g. Professional (N.B. The settings in the XML file will be ignored, so you must select the correct Edition).
          9. Click the Setup button – you can change a few options here if you wish (not normally required) – to support both UEFI and MBR booting, make sure the ALL option is displayed. You can tick the Restart option if you wish and it will automatically reboot afterwards.

          10. Click the OK button and WinNTSetup will copy the files across to your target volumes and make it bootable.

          Once the copy phase has completed, reboot and make sure you configure the target system’s firmware to boot in either MBR or UEFI mode, as desired.

          If running an SDI_CHOCO.XML unattend file, I suggest you remove the E2B USB drive once SDI_CHOCO tells you to. Otherwise you may find that the target system will try to reboot from the E2B drive.

          If you are not using SDI_CHOCO, then you can disconnect the E2B USB drive before you allow the target system to boot. 

          Direct Boot and auto-run WinNTSetup (E2B v1.A9+)

          If you name the end of the ISO filename as _.WinNTSetup.iso  (not case sensitive) then E2B will boot from the ISO, then run WinNTSetup from the E2B drive and then automatically load the ISO as the source file. If you place the ISO in one of the \_ISO\WINDOWS\xxxxxx folders, when you are prompted to ‘Press enter only if you want to repair’ and you press ENTER, then it will run WinNTSetup instead of the normal Setup.exe process. 

          Tip: Use Ctrl+S to save a configuration file after you have set up all the options. Then use Ctrl+L to load the same configuration file for the next time!

          Tip: Use Ctrl+Shift+D to run a diskpart script to quickly partition and format a drive. 

          Use the grub4dos STARTUP variable to run any WinNTSetup command line

          By default, the E2B WinNTSetup process cause the \_ISO\e2b\grub\start_WinNTSetup.bat file to run once it boots to WinPE. If you want to run a specific WinNTSetup command line then you can use the STARTUP variable in a .mnu file to specify a different batch file which you can modify however you wish. In this way, for example, you can run WinNTSetup and specify in the batch file an XML file, Edition (Pro, Home, etc.) and any other parameters you want. See \_ISO\docs\Sample mnu Files\Windows\WinNTSetup.mnu for an example file and copy it to an E2B menu folder. 

          #Copy the \_ISO\e2b\grub\start_WinNTSetup.bat to your \_ISO\docs\E2B Utilities\WinNTSetup folder on the E2B drive (or \WinNTSetup folder) 
          title WinNTSetup test\nBoot to Windows 10 and run WinNTSetup
          # Note use forward slash instead of \  and escape (precede) spaces using \
          set STARTUP=/_ISO/docs/E2B\ Utilities/WinNTSetup/test_WinNT.bat
          #we need to use the force.WinNTSetup keyword if the name of the ISO does not end in _.WinNTSetup.iso...
          QRUN.g4b force.WinNTSetup /_ISO/MAINMENU/Windows10_2018_08_03_UK_Both.iso

          e.g. test_WinNT.bat can be edited to run an XML and specify the ISO and Edition you want to install using, for example:
           “%wpath%\WinNTSetup%pp%.exe” NT6 -source:”%MYISO%” -wimindex:”2″ -unattend:”Win10UK_with_SDI_CHOCO.xml” 

          or this line which also specifies configuration file and the boot and system volumes: 

          “%wpath%\WinNTSetup%pp%.exe” NT6 -source:”%MYISO%” -wimindex:”5″ -cfg:”WinNTSpecial.ini” -sysPart:D: -tempDrive:D: 

          Note that you (or your script) must clean, partition and format the target drive. Also you (or the command line parameters) must specify which Edition (wim index number) you want to install – it is not controlled by the XML file. Precede the command line with set MYISO=%E2BDRIVE%\_ISO\WINDOWS\WIN7\Win7x64.iso if you want to specify a different ISO. When in WinNTSetup.exe, you can set up any tweaks, settings, etc. and the press Ctrl+S to save them into an .ini file. You can then specify that .ini file as a parameter for WinNTSetup to load. See blog post here

          Install Windows 7 onto a system with USB 3 ports (E2B v1.B0+)

          The Sample menu file at “\_ISO\docs\Sample mnu files\Windows\Install Windows 7 with USB 3 (WinNTSetup).mnu” can be used to boot from a Win10 Install ISO and install Windows 7.

          Copy the file to an E2B menu folder and modify it as required. 

          #Use this menu to boot from a Win10 or Win8 Install ISO (or WinPE ISO) and load a different ISO - e.g. Win7 ISO
          title Install Windows 7 (WinNTSetup+Windows 10)\nBoot to Windows 10 and run WinNTSetup\nwith Windows 7 ISO as the source.\nUseful if the system has USB 3 ports
          # Paths: use forward slash instead of \  and escape (precede) spaces using \ 
          # Specify boot ISOset ISO=/_ISO/WINDOWS/WIN10/Windows10x64UK_Oct_2018.iso 
          # Specify alternate Source ISO to load into WinNTSetup
          set ALT_ISO=/_ISO/WINDOWS/WIN7/Win7PRO_x86_X15-65804_NCQ.iso 
          # Specify alternate batch file to run
          #set STARTUP=/_ISO/docs/E2B\ Utilities/WinNTSetup/test_WinNT.bat 
          #we need to use the force.WinNTSetup keyword if the name of the ISO does not end in _.WinNTSetup.iso...
          QRUN.g4b force.WinNTSetup %ISO%

          UEFI-only systems

          You can MBR-boot and install a UEFI+GPT version of Windows to a target hard disk, however some systems cannot MBR-boot, they can only UEFI-boot. 

          If you use Easy2Boot v2 with agFM UEFI files, you can directly UEFI-boot from a Windows ISO. 

          Another alternative is to create a .imgPTN file… 

          You will need to create a FAT32 WinPE .imgPTN file using the MPI Tool Pack v0.070 or later. This version includes \e2b\RestoreE2B_32_64.cmd which will work under 64-bit WinPE as well as 32-bit WinPE without needing WoW64. You can use any UEFI-bootable source for the WinPE – e.g. Windows 10 Install ISO (the \sources\install.wim file can be removed). If the \sources\install.wim or install.esd file is greater than 4GB, instead of running MakePartImage, run Split_WinISO.exe (in the MPI folder) to split the file. 

          1. When you have created the .imgPTN file, switch to it using \_ISO\SWITCH_E2B.exe (a 32-bit executable).
          2. Now UEFI-boot from the E2B USB drive on the target UEFI system.
          3. Once it has booted to WinPE, run \e2b\RestoreE2B_32_64.cmd and answer Y when prompted to switch in the E2B partitions (note: does not work in XP WinPE so try other .cmd scripts if XP PE).
          4. You can now access the \WinNTSetup folder, the Windows Install .ISO files and the .XML files that are on the E2B partition.
          5. Run WinNTSetup and proceed as outlined above.

          Tip: if you prefer, you can place the \WinNTSetup folder and all the ISOs on the 2nd partition of the E2B drive and use a .imgPTN23 file extension so that the 2nd partition can be accessed. 

          Install XP to a SATA\RAID HDD from a USB 2.0 or 3.0 port

          It is tricky, but you can install XP to a SATA\RAID hard disk and boot  from a USB 3.0 port.

          This allows you to install XP to a system that has a SATA hard disk, even if it has only USB 3.0 ports.

          You will need an XP ISO (e.g. XPSP3) and a Windows 8, 8.1, 10 Installation ISO (or any Win8/10 WinPE ISO)

          1. Copy the WinNTSetup_DPMS_Step2.mnu from the \_ISO\docs\Sample mnu Files\Windows folder to \_ISO\MAINMENU or \_ISO\WINPE, and then edit the XPISO entry to match your ISO in the \_ISO\WINDOWS\XP folder.
          2. Copy WinNTSetup files to the E2B drive (e.g. \_ISO\docs\E2B Utilities\WinNTSetup\ – see above).
          3. Boot using E2B to a Windows 8.1 or Windows 10 Installation ISO to run WinPE (or use any WinPE ISO)
          4. At first screen, press SHIFT+F10 and run WinNTSetup.exe (either x86 or x64 version) from the E2B USB drive – then select the Windows 2000\XP\2003 tab.
          5. Format the target HDD (e.g. using diskpart) and select correct XP ISO file from the \_ISO\WINDOWS\XP folder (right-click on the ‘Select location’ icon to mount the ISO) – select target volumes (e.g. W: and W: if one partition) and click START.
          6. Reboot back to E2B drive and run the ‘Use after WinNTSetup to add SATA\RAID drivers‘ menu entry. It will pick the correct DPMS SATA driver for XP. In my tests, I had to press ESC 9 times to skip past the firadisk driver files not loading (not sure why this happens!).
          7. Allow to reboot from HDD to finish installation (or press F7 if it boots back to E2B).

          Note: You can use CTRL+SHIFT+D to run a diskpart script in WinNTSetup, however make sure that the script file creates partitions suitable for XP.

          Here is a simple diskpart script for a single, maximum-sized NTFS partition.


          select disk 0
          convert MBR
          create partition primary
          format quick fs=ntfs label="Windows"
          assign letter="W"
          list volume

          Scripting WinNTSetup

          It is possible to script WinNTSetup.exe. You could create a .cmd file which runs a diskpart script and then runs WinNTSetup.exe, e.g. where U: is the E2B drive which contains the install.wim and some drivers (untested)…

          REM partition disk using a diskpart script
          diskpart /s U:\Win7\Win7.scr
          REM Install Windows7 Ultimate (usually Wimindex 5) to drive C:, using unattend.xml file and define driver to integrate.
          REM Use C: as driveletter for the new Win installation, run set_7_usb_boot.cmd before rebooting
          U:\WinNTSetup\WinNTSetup_x86.exe NT6 -source:U:\sources\install.wim -WimIndex:5 -syspart:C: -tempdrive:C: -unattend:"unattend\Win7x86_Ultimate_en.xml"-ForceUnsigned -drivers:"U:\driver_Win7x86" -Sysletter:C -RunAfter:"set_7_usb_boot.cmd C:\windows" -setup -reboot

          Tip: If you use Split_WInISO.exe to create a .imgPTN file from a Win10 install ISO, it will add the winpeshl.ini files into the boot.wim for you. When you boot to WinPE using the .imgPTN file (MBR or UEFI), it will automatically run \auto.cmd. So you can edit \auto.cmd to create a menu and use it to select any one of a range of .cmd script files.

        • Menu entries for Windows Install ISOs

          Run Windows Installs directly from any menu entry

          If you create a .mnu file, you can run any of the Windows Vista/7/8/10, etc. ISOs directly from any E2B menu. 

          The user does not need to pick the ISO or the XML file – you can specify which XML file to use inside the .mnu file. 

          See here for more details.

        • Multipoint Server Install ISOs

          Multipoint Server Install ISOs

          These ISOs can be treated as if they are Windows Server 2008 R2 ISOs. Simply copy them to the \_ISO\WINDOWS\SVR2K8R2 folder. 

          If you wish you can add a menu entry for them to the MAIN Menu (or any normal menu folder) by creating a .mnu file (use the RunVista.g4b example).

          You can find instructions for this here

          You could also create a new menu folder to add to the Main Menu for Multipoint Server ISO files (e.g. \_ISO\MULTIPOINT) by using the “\_ISO\docs\E2B Utilities\E2B SUBMENU Maker.cmd” script.  Do not make a \_ISO\WINDOWS\MULTIPOINT folder – it won’t work! Once you have created the folder, you can add in the .mnu file(s) as detailed above.

        • PassPass (bypass Windows local password)

          PassPass (bypass Windows local password)

          PassPass (bypass the Windows account password)

          PassPass allows you to bypass a local Windows user account password on XP through to Windows 10 (E2B v1.87+). It does NOT allow you to bypass the password entry for a Windows email account logon. 

          YouTube demo (old version) here

          See also the UtilMan hack method here which does not require you to modify any files on the Windows system. 

          PassPass comes from an idea developed by  WindowsGate and Astr0baby’s tutorial, Wonko The Sane (for the grub4dos Windows dll version detection batch code) and Holmes.Sherlock (for writing the original grub4dos dll patch code). 

          A grub4dos version of PassPass for E2B is included in the E2B \_ISO\docs folder. 

          A Windows executable version called PEPassPass.exe is also available from the E2B Alternate Downloads Area – Other Files folder (written by boulcat and Ner0) It works by patching some code bytes in the Windows DLL file which handles user authorisation at logon. 

          How to use PassPass

          1. (optional) If possible, boot to WinPE or linux from a USB drive and make backup copies of: 

          • \Windows\System32\msv1_0.dll
          • \Windows\System32\NtlmShared.dll         (if Windows 10/Server 2016)

          This is so that if you break Windows by patching these dlls, you can restore them again, if necessary.The same dll file is backed-up by E2B later – this is just an extra step to be super-safe and is optional. 

          2. Boot from the E2B USB drive and run PassPass and choose the Windows installation you want to patch 

          3. Use the Backup option to keep a copy of the DLL. Note: make a note of what volume and DLL this is, in case you need to restore it later. 

          4. Use the Patch option to patch the DLL 

          5. Boot from the HDD to Windows – any password should now be accepted for any user account. Note that once logged in, some operations may not work correctly because the DLL has been patched. So it is best to create a new account with a new password, unpatch the DLL and then log-in using that new account… Create a new Admin user account (and set a password), e.g. Name=New, Password=windows. 

          6. Boot from the E2B USB drive and run PassPass, select the same Windows OS again and use UnPatch to restore the original DLL (or you can use the Restore DLL option if you previously made a backup – make sure that you restore the same DLL and volume that you backed up in Step 3). 

          7. Reboot and log in to the New account (for normal behaviour), do what you want (e.g. change other account passwords), then boot to one of the other accounts and delete the new user account when finished making changes. If anything goes wrong, restore the DLL file copy that you made in Step 1 using WinPE (or linux) or by using the E2B Restore option.  

          How to add PassPass to your E2B USB drive

          Simply copy the \_ISO\docs\PassPass folder to the \_ISO\UTILITIES folder.  

          You should now have a \_ISO\UTILITIES\PassPass folder present containing PPass.g4b, PassPass.bak and PassPass.mnu. 

          You can now patch the Windows DLL on any volume in the system. The user password for any Windows local account will then not be required. 

          Note: You may be warned that more than one patch location exists. This is normal for some DLLs (e.g. Windows 8). 

          If you have any problems, please report them to me (the OS version number and MD5 hash of the DLL is required as well as the OS name, DLL filename and 32/64-bitness).

        • Split_WinISO by Chandra

          Split WinISO (by Chandra)

          Split_WinISO.exe is now in the MPI ToolKit. You must run it from the MPI folder because it will use MPI to make a .imgPTN file. 

          Split_WinISO.exe can also re-make a new .ISO file and convert the large >4GB Install.wim or Install.ESD file(s) into smaller files for you.

          It has been written to interface with the Easy2Boot MPI Tool Kit (if it is placed in the MPI folder).

          In addition to splitting large .wim/.esd files, it can also add the missing Windows 7 EFI boot file and modify the boot.wim file for automating Windows Setup using XML files (see here for more details).

          Load the ISO file and click on CONVERT if the install file is larger than 4GB.

          Use the MPI button if you do not want to split the install.wim file.

          The latest version is here.


          Errror 3 – check the path and filename does not contain any weird characters (like ( or & or =, etc.) – try renaming it. Use 7Zip to open the ISO file and then double-click on the install.esd or install.wim file inside the ISO – 7Zip should list the files inside the .wim\.esd file – if you get an error then suspect that the ISO is corrupt. Check the MD5\CRC32 hash of the ISO – try a different ISO.

          Make sure your C: drive (or whatever drive Windows uses for temporary storage) and the drive where the ISO is stored has plenty of free space (at least twice the size of the ISO as free space).

          Split WinISO ReadMe file:

              .d8888b.           888 d8b 888         888       888 d8b          8888888 .d8888b.   .d88888b.  
             d88P  Y88b          888 Y8P 888         888   o   888 Y8P            888  d88P  Y88b d88P" "Y88b 
             Y88b.               888     888         888  d8b  888                888  Y88b.      888     888 
              "Y888b.   88888b.  888 888 888888      888 d888b 888 888 88888b.    888   "Y888b.   888     888 
                 "Y88b. 888 "88b 888 888 888         888d88888b888 888 888 "88b   888      "Y88b. 888     888 
                   "888 888  888 888 888 888         88888P Y88888 888 888  888   888        "888 888     888 
             Y88b  d88P 888 d88P 888 888 Y88b.       8888P   Y8888 888 888  888   888  Y88b  d88P Y88b. .d88P 
              "Y8888P"  88888P"  888 888  "Y888      888P     Y888 888 888  888 8888888 "Y8888P"   "Y88888P"  
                                                   .:[ EASY2BOOT COMPATIBLE ]:.
          Split WinISO.exe-for conversion, merging and splitting of Windows 7/8.1/10 Install ISOs and >4GB Install.wim files
          Version History :
          Version : 1.0.0 (2017-03-03) release
          Version : 1.0.1 (2017-03-04) change display
          Version : 1.0.2 (2017-03-05) Back to the initial setting using drive letter U:
          Version : 1.0.3 (2017-03-05) Bug fixes in the form Split_WIM cleared on first run, 
          Version : 1.0.4 (2017-03-06) minor bug fixes (in the process split the folder \x86 and \x64 and update dll files) 
          Version : 1.0.5 (2017-03-07) Improved methods to convert file ESD using automatically, change compressor to LZX
                                       and LZMS, add version number and date, new feature to support different source in 
                                       one iso.
          Version : 1.0.6 (2017-03-11) FIX BUG Allow spaces in path and file name
          Version : 1.0.7 (2017-03-12) Reconfiguration to synchronize better with MPI Tool Pack.
          Version : 1.0.8 (2017-03-16) 1. Automatic detection windows7x64 image if the efi folder does not exist, and
                                          the file will be added bootx64.efi to support UEFI boot before created ISO or
                                       2. Using two compressors Wimlib.Imagex (Open Source) and DISM (official MS). This is
                                          done because it found cases, double the index name in the image file windows AIO,
                                          if converted using Wimlib.Imagex will happen ERROR and solutions using DISM, while
                                          for single iso image, any selection is no problem.
                                       3. For Windows AIO especially ESD file will have the option to use this type of 
                                          compressor Wimlib.Imagex or DISM.
                                       4. Changes in the selection of options that will be used File System (NTFS & FAT32),
                                          which was originally Yes for the NTFS and NO for FAT32, changed of Yes for FAT32
                                          and NO for NTFS.
                                       5. Repair Help Text with two option (read using Notepad and read directly from the
          Version : 1.0.9 (2017-03-17) 1. Improved automatic detection of the window 7x64
                                       2. If there are corrupt during the conversion process or the cancellation process by
                                          the user, the column selection does not do the cleaning, so users no longer have
                                          to search again.
          Version : 1.1.0 (2017-03-28) 1. Changes to the theme (including icons, and buttons)
                                       2. Addition Column Image (value index)
                                       3. Additional features View Info (description of all the files installed)
                                       4. Detection of applications already open.
          Version : 1.1.1 (2017-03-30) 1. Repair of engine speed to copy the folder extract (Path button)
                                       2. Repairs error detection large windows ISOs 32+64 (AIO).
                                       3. Elimination nircmd.exe as supporting files.
                                       4. Repair process of gathering information of the image file (View Button)
          Version : 1.1.2 (2017-04-10) 1. Minor bug fixes and re-source code management
                                       2. AutoUnattendBlank.xml replacement by a new version due to the old version does
                                          not work.
          Version : 1.1.3 (2017-04-28) 1. Minor bug fixes and re-source code management
                                          repair error script if user cancel to extract or copy file images
          Description :
          This Windows tool will convert Windows Install ISO files containing large (>4GB) .ESD or .WIM files into a .ISO
          file containing smaller split-wim (.SWM) files suitable for use on FAT32 filesystems.
          Specification :
          - Windows utility which can take a Windows Install ISO (or extracted folder) and convert it into another ISO 
            (or to an E2B FAT32 .imgPTN file if you have the Easy2Boot MPI Tool Kit installed). 
          - The useful thing about this app is that it will split a large Install.WIM, Install.SWM or install.ESD file into 
            (e.g. for UEFI-booting).
          - Works on the Microsoft ISOs that contain both \x86 and \x64 folders (with two Install.ESD\WIM files)
          - Converts SWM\ESD\WIM to .SWM automatically.
          - Easy2Boot compatible - just copy the .exe file into the MPI ToolKit folder and run it from there
          - Do not run two or more instances simultaneously as it will make the system crash and the engine load is very
            high resource.
          - Compressor to Convert ESD, split WIM and merge SWM file. LZD and LZMS compression gives best performance
          - Supports converting mixed Install.ESD and Install.WIM files when found in same ISO.
          - Portable application (no installation required)
          Supports official MS ISOs 
          1. x86\sources\install.esd + x64\sources\install.esd
          2. x86\sources\install.wim + x64\sources\install.wim
          3. x86\sources\install.swm + x64\sources\install.swm
          4. install.esd
          5. install.wim
          6. install.swm
          Supports All-in-One ISOs (AIO)
          1. x86\sources\install.esd + x64\sources\install.wim
          2. x86\sources\install.esd + x64\sources\install.swm
          3. x86\sources\install.wim + x64\sources\install.esd
          4. x86\sources\install.wim + x64\sources\install.swm
          5. x86\sources\install.swm + x64\sources\install.esd
          6. x86\sources\install.swm + x64\sources\install.wim
          NORMAL USE
          CONVERT Button Function: (ISO or the extracted folder)
          1. ESD files -> converted into a large WIM files -> split into small SWM files -> create New ISO or imgPTN (FAT32)
          2. ESD files -> converted into a WIM files -> create New ISO or imgPTN (FAT32)
          3. Large Wim files -> split into small SWM files -> create a new ISO or imgPTN (FAT32)
          4. Large SWM files -> merge into large WIM files -> re-split into smaller SWM files -> create New ISO or imgPTN
          5. Small SWM files -> merge into small WIM files -> create New ISO or imgPTN (FAT32)
          Program action:
          1. Extract files from ISO or DVD/CD/Folder
          2. Convert ESD files (if present) into WIM files and then split into smaller SWM files.
          3. Merge large SWM files (if present) into WIM files and then re-split into smaller SWM files.
          4. Split any large WIM files into smaller SWM files.
          5. Save as ISO file (or .imgPTN file for use with Easy2Boot)
          6. (optional for Easy2Boot) Inject winpeshl.ini and Mysetup.cmd into boot.wim
          Because all files will be less than 4GB, they can now be UEFI-booted from a FAT32 drive volume.
          1. A Win 7/8/10 system is required.
          2. ImDisk - download and install imdisk.
          3. Administrator access rights required.
          4. Use official Microsoft Windows 7/8/8.1/10 Install ISOs.
          5. 32-bit + 64-bit combined ISOs are supported.
          6. Multiple-image ESD\WIM files are supported.
          7. Requires drive U: to be a free drive letter
          Convert to ISO:
          1. Select source - use the ISO button or the PATH button to select a DVD/Folder containing Windows Installer files.
          2. The size and type of ESD\WIM files should now be displayed:
             x86  = \x86\Sources\Install.* size+type (ESD\WIM)
             x64  = \x64\Sources\Install.* size+type (ESD\WIM)
             BOTH = \Sources\Install.*     size+type (ESD\WIM)
          3. Set the Split Size in MB, between 3-5 digit (e.g. 4000). For FAT32, do not exceed 4000.
          4. Press the 'CONVERT' Button.
          USE WITH EASY2BOOT (
          1. The Easy2Boot MPI Tool Pack is required
          2. Copy this application .exe file into the MPI Tool Pack folder and run it.
             You should now see a new MPI button as well as the CONVERT button.
          CONVERT - converts large ESD\WIM files, you can save it as a FAT32 .imgPTN for Easy2Boot or as an .ISO file.
          MPI     - save as FAT32 or NTFS .imgPTN file but DOES NOT SPLIT LARGE FILES
          Modification of boot.wim (optional):
          1. Both the CONVERT and MPI buttons will also offer you the option to add the files MySetup.cmd and Winpeshl.ini
             into the boot.wim image #2 (Setup) file.
          2. Some sample .XML files and the \Auto.cmd will also be copied to the root of the USB drive. These will require 
             changing by the user before use.
          3. This allows the user to choose from a selection of XML files (e.g. to install Home or Pro, etc.).
             For more details, see
          1. Some antivirus and firewalls may block this tool. Please disable or whitelist as required.
          2. Some Microsoft ISOs may not support split WIM files. See:
             If you find such an ISO, please use WinNTSetup instead.
          3. When converting a .ESD to .WIM, the process will consume very high amounts of CPU and RAM resources which may 
             drastically slow down your system.
          4. '[WARNING] Failed to enable short name support’ - this warning is normal and can be ignored.
          THANKS tO:
          1. Steve Si (
          2. Olof Lagerkvist (
          3. Abbodi1406 & Synchronicity
          Best Regards "Chandra ("                                                                             
              .d8888b.           888 d8b 888         888       888 d8b          8888888 .d8888b.   .d88888b.  
             d88P  Y88b          888 Y8P 888         888   o   888 Y8P            888  d88P  Y88b d88P" "Y88b 
             Y88b.               888     888         888  d8b  888                888  Y88b.      888     888 
              "Y888b.   88888b.  888 888 888888      888 d888b 888 888 88888b.    888   "Y888b.   888     888 
                 "Y88b. 888 "88b 888 888 888         888d88888b888 888 888 "88b   888      "Y88b. 888     888 
                   "888 888  888 888 888 888         88888P Y88888 888 888  888   888        "888 888     888 
             Y88b  d88P 888 d88P 888 888 Y88b.       8888P   Y8888 888 888  888   888  Y88b  d88P Y88b. .d88P 
              "Y8888P"  88888P"  888 888  "Y888      888P     Y888 888 888  888 8888888 "Y8888P"   "Y88888P"  
                                                   .:[ EASY2BOOT COMPATIBLE ]:.
          Split WinISO.exe-for conversion, merging and splitting of Windows 7/8.1/10 Install ISOs and >4GB Install.wim files
          Version History :
          Version : 1.0.0 (2017-03-03) release
          Version : 1.0.1 (2017-03-04) change display
          Version : 1.0.2 (2017-03-05) Back to the initial setting using drive letter U:
          Version : 1.0.3 (2017-03-05) Bug fixes in the form Split_WIM cleared on first run, 
          Version : 1.0.4 (2017-03-06) minor bug fixes (in the process split the folder \x86 and \x64 and update dll files) 
          Version : 1.0.5 (2017-03-07) Improved methods to convert file ESD using automatically, change compressor to LZX
                                       and LZMS, add version number and date, new feature to support different source in 
                                       one iso.
          Version : 1.0.6 (2017-03-11) FIX BUG Allow spaces in path and file name
          Version : 1.0.7 (2017-03-12) Reconfiguration to synchronize better with MPI Tool Pack.
          Version : 1.0.8 (2017-03-16) 1. Automatic detection windows7x64 image if the efi folder does not exist, and
                                          the file will be added bootx64.efi to support UEFI boot before created ISO or
                                       2. Using two compressors Wimlib.Imagex (Open Source) and DISM (official MS). This is
                                          done because it found cases, double the index name in the image file windows AIO,
                                          if converted using Wimlib.Imagex will happen ERROR and solutions using DISM, while
                                          for single iso image, any selection is no problem.
                                       3. For Windows AIO especially ESD file will have the option to use this type of 
                                          compressor Wimlib.Imagex or DISM.
                                       4. Changes in the selection of options that will be used File System (NTFS & FAT32),
                                          which was originally Yes for the NTFS and NO for FAT32, changed of Yes for FAT32
                                          and NO for NTFS.
                                       5. Repair Help Text with two option (read using Notepad and read directly from the
          Version : 1.0.9 (2017-03-17) 1. Improved automatic detection of the window 7x64
                                       2. If there are corrupt during the conversion process or the cancellation process by
                                          the user, the column selection does not do the cleaning, so users no longer have
                                          to search again.
          Version : 1.1.0 (2017-03-28) 1. Changes to the theme (including icons, and buttons)
                                       2. Addition Column Image (value index)
                                       3. Additional features View Info (description of all the files installed)
                                       4. Detection of applications already open.
          Version : 1.1.1 (2017-03-30) 1. Repair of engine speed to copy the folder extract (Path button)
                                       2. Repairs error detection large windows ISOs 32+64 (AIO).
                                       3. Elimination nircmd.exe as supporting files.
                                       4. Repair process of gathering information of the image file (View Button)
          Version : 1.1.2 (2017-04-10) 1. Minor bug fixes and re-source code management
                                       2. AutoUnattendBlank.xml replacement by a new version due to the old version does
                                          not work.
          Version : 1.1.3 (2017-04-28) 1. Minor bug fixes and re-source code management
                                          repair error script if user cancel to extract or copy file images
          Description :
          This Windows tool will convert Windows Install ISO files containing large (>4GB) .ESD or .WIM files into a .ISO
          file containing smaller split-wim (.SWM) files suitable for use on FAT32 filesystems.
          Specification :
          - Windows utility which can take a Windows Install ISO (or extracted folder) and convert it into another ISO 
            (or to an E2B FAT32 .imgPTN file if you have the Easy2Boot MPI Tool Kit installed). 
          - The useful thing about this app is that it will split a large Install.WIM, Install.SWM or install.ESD file into 
            (e.g. for UEFI-booting).
          - Works on the Microsoft ISOs that contain both \x86 and \x64 folders (with two Install.ESD\WIM files)
          - Converts SWM\ESD\WIM to .SWM automatically.
          - Easy2Boot compatible - just copy the .exe file into the MPI ToolKit folder and run it from there
          - Do not run two or more instances simultaneously as it will make the system crash and the engine load is very
            high resource.
          - Compressor to Convert ESD, split WIM and merge SWM file. LZD and LZMS compression gives best performance
          - Supports converting mixed Install.ESD and Install.WIM files when found in same ISO.
          - Portable application (no installation required)
          Supports official MS ISOs 
          1. x86\sources\install.esd + x64\sources\install.esd
          2. x86\sources\install.wim + x64\sources\install.wim
          3. x86\sources\install.swm + x64\sources\install.swm
          4. install.esd
          5. install.wim
          6. install.swm
          Supports All-in-One ISOs (AIO)
          1. x86\sources\install.esd + x64\sources\install.wim
          2. x86\sources\install.esd + x64\sources\install.swm
          3. x86\sources\install.wim + x64\sources\install.esd
          4. x86\sources\install.wim + x64\sources\install.swm
          5. x86\sources\install.swm + x64\sources\install.esd
          6. x86\sources\install.swm + x64\sources\install.wim
          NORMAL USE
          CONVERT Button Function: (ISO or the extracted folder)
          1. ESD files -> converted into a large WIM files -> split into small SWM files -> create New ISO or imgPTN (FAT32)
          2. ESD files -> converted into a WIM files -> create New ISO or imgPTN (FAT32)
          3. Large Wim files -> split into small SWM files -> create a new ISO or imgPTN (FAT32)
          4. Large SWM files -> merge into large WIM files -> re-split into smaller SWM files -> create New ISO or imgPTN
          5. Small SWM files -> merge into small WIM files -> create New ISO or imgPTN (FAT32)
          Program action:
          1. Extract files from ISO or DVD/CD/Folder
          2. Convert ESD files (if present) into WIM files and then split into smaller SWM files.
          3. Merge large SWM files (if present) into WIM files and then re-split into smaller SWM files.
          4. Split any large WIM files into smaller SWM files.
          5. Save as ISO file (or .imgPTN file for use with Easy2Boot)
          6. (optional for Easy2Boot) Inject winpeshl.ini and Mysetup.cmd into boot.wim
          Because all files will be less than 4GB, they can now be UEFI-booted from a FAT32 drive volume.
          1. A Win 7/8/10 system is required.
          2. ImDisk - download and install imdisk.
          3. Administrator access rights required.
          4. Use official Microsoft Windows 7/8/8.1/10 Install ISOs.
          5. 32-bit + 64-bit combined ISOs are supported.
          6. Multiple-image ESD\WIM files are supported.
          7. Requires drive U: to be a free drive letter
          Convert to ISO:
          1. Select source - use the ISO button or the PATH button to select a DVD/Folder containing Windows Installer files.
          2. The size and type of ESD\WIM files should now be displayed:
             x86  = \x86\Sources\Install.* size+type (ESD\WIM)
             x64  = \x64\Sources\Install.* size+type (ESD\WIM)
             BOTH = \Sources\Install.*     size+type (ESD\WIM)
          3. Set the Split Size in MB, between 3-5 digit (e.g. 4000). For FAT32, do not exceed 4000.
          4. Press the 'CONVERT' Button.
          USE WITH EASY2BOOT (
          1. The Easy2Boot MPI Tool Pack is required
          2. Copy this application .exe file into the MPI Tool Pack folder and run it.
             You should now see a new MPI button as well as the CONVERT button.
          CONVERT - converts large ESD\WIM files, you can save it as a FAT32 .imgPTN for Easy2Boot or as an .ISO file.
          MPI     - save as FAT32 or NTFS .imgPTN file but DOES NOT SPLIT LARGE FILES
          Modification of boot.wim (optional):
          1. Both the CONVERT and MPI buttons will also offer you the option to add the files MySetup.cmd and Winpeshl.ini
             into the boot.wim image #2 (Setup) file.
          2. Some sample .XML files and the \Auto.cmd will also be copied to the root of the USB drive. These will require 
             changing by the user before use.
          3. This allows the user to choose from a selection of XML files (e.g. to install Home or Pro, etc.).
             For more details, see
          1. Some antivirus and firewalls may block this tool. Please disable or whitelist as required.
          2. Some Microsoft ISOs may not support split WIM files. See:
             If you find such an ISO, please use WinNTSetup instead.
          3. When converting a .ESD to .WIM, the process will consume very high amounts of CPU and RAM resources which may 
             drastically slow down your system.
          4. '[WARNING] Failed to enable short name support’ - this warning is normal and can be ignored.
          THANKS tO:
          1. Steve Si (
          2. Olof Lagerkvist (
          3. Abbodi1406 & Synchronicity
          Best Regards "Chandra ("
        • UEFI – Adding Windows 7/8/10 which have >4GB Install.wim/Install.esd files

          UEFI – Adding Windows 7/8/10 which have >4GB Install.wim/Install.esd files

          New for 2020: We can now use the a1ive grub2 File Manager (agFM) to Secure UEFI-boot to large or small Windows ISOs. See here for details. 

          The instructions below allow you to make a FAT32 Partition Image (.imgPTN file) containing large (>4GB) Windows Install files – this is useful if you have problems Secure Booting to agFM.

          E2B eBooks are available.


          agFM currently allows you to Secure UEFI-boot and then directly select ISOs of any size and boot from them – however, if you require Secure Boot to always work with Windows, you should convert the ISO to a .imgPTN file. 

          To UEFI-boot, we need to use a FAT32 .imgPTN file, but the largest file supported by FAT32 is 4GB.These instructions only apply if the largest file inside your ISO is larger than 4GB and you need to UEFI-boot

          Here is a typical error message from MakePartImage (MPI_FAT32) when you have a large file inside your ISO file:

          You can have an NTFS E2B USB drive containing a 20GB .imgPTN file formatted as FAT32, as long as no single file (usually the \sources\install.wim or install.esd file is the largest) inside the .imgPTN image is > 4GB.  Examine the files inside the ISO file to check for large files…

          This ISO can be easily converted into a FAT32 partition image

          Note: The install.wim in the example ISO above is the largest file inside the ISO and it is below 4GB. So, in this case, you can just drag-and-drop the Windows ISO onto the MPI_FAT32 shortcut to make a .imgPTN file. You can then use the FAT32 .imgPTN file to MBR or UEFI-boot.
          The special instructions below do not need to be followed unless the .wim or .esd is over 4GB in size and you need to UEFI-boot. 

          Tip: Use a file extension of .imgPTN23 instead of .imgPTN if you have an E2B v2 USB drive that includes agFM on Partition 2.

          Install.wim is larger than 4GB and so cannot be copied onto a FAT32 partition

          The E2B USB partition 1 must be formatted as NTFS in order to hold .imgPTN files of a size greater than 4GB.

          For UEFI-booting (from all systems), the .imgPTN file on the E2B drive must be internally formatted as FAT32. Some systems will also UEFI-boot from an NTFS partition but many systems will only boot from a FAT32 volume, so always use MPI_FAT32 if you want to UEFI-boot from a .imgPTN file.

          The internal format of the .imgPTN file must be FAT32 for UEFI booting. 

          The maximum partition size for a FAT32  .imgPTN file is 32GB because, when using the MakePartImage script, Windows will refuse to format any partition larger than 32GB as FAT32. 

          Methods 1-6

          If you do not want to UEFI-boot, you can use the MPI_NTFS shortcut. 

          I recommend that you do not convert custom All-In-One (AIO) ISOs that have files larger than 4GB inside them by using Methods 2-4 below – instead try Method 1 or use WinNTSetup instead. Using two partitions for UEFI-booting (Methods 2-5 below) can result in mixed degrees of success or failure depending on the system’s firmware. If you need to be able to UEFI-boot on a wide variety of systems, then use a single FAT32 partition .imgPTN solution or use several versions of smaller ISOs instead of one large ISO or use Method 1 below to split the WIM file and use one single FAT32 partition for the .imgPTN file. 

          Removable E2B Flash drives

          I recommend Method 1 (and using Split-WinISO to split >4GB WIM files) or for a more manual method, try WinNTSetup (note that with WinNTSetup, you can install a UEFI-bootable Windows OS from an MBR boot and thus a .imgPTN file is not required).

          Methods 1, 4, 5 and 6 can be used if E2B is on a Removable USB Flash drive.

          If splitting the install.wim or .esd file does not work for your particular payload, try Method 6.

          Fixed-disk E2B drives

          If your E2B USB drive is of the ‘Fixed Disk’ type… 

          If you have Install ISOs containing small files <4GB:

          • Place ISOs in \_ISO\WINDOWS\xxx folders (MBR booting only)
          • Make FAT32 .imgPTN files using MakePartImage and place them in the \_ISO\MAINMENU or \_ISO\WIN folder (supports UEFI and MBR booting)

          If you have Install ISOs containing large (install.wim) files >4GB

          • Place ISOs in \_ISO\WINDOWS\xxx folders (MBR booting only) – E2B drive must be formatted as NTFS (or exFAT)
          • Split the install.wim file and make a FAT32 .imgPTN file (see Method 1 below)  (supports UEFI and MBR booting)
          • Make two image files, one FAT32 and the other NTFS (see Methods 2/3/4 below)  (supports UEFI and MBR booting)
          • Add a second FAT32 partition to your E2B USB drive and use one NTFS .imgPTN file (Method 5)

          To convert your Windows Install ISO to a .imgPTN file, use the MakePartImage.cmd script. 

          Method 5 involves making a permanent second (FAT32) partition on your E2B USB drive but only one partition image needs to be created for each ISO so there is no ‘partition order’ problem (see MOVE_IMGPTN below for details of this problem). However, this may stop some systems from MBR-booting to E2B (no MBR boot option!)! 

          You can UEFI-boot directly from the MBR\CSM menu by using the Clover boot option in the CSM menu – no need to reboot and select the ‘BIOS’ UEFI USB boot option. However, some systems may crash when loading Clover.

          Note: All UEFI-systems should support FAT32. Some UEFI systems also support UEFI-booting from NTFS partitions (e.g. Asus Z87 mainboard). In this case you can just create an NTFS .imgPTN file by dragging-and-dropping the ISO file onto the MPI_NTFS shortcut. 

          Try improving the WIM file compression

          For some reason Microsoft don’t use the best compression. On a Windows 10 system, extract the ISO contents to an empty folder and run DISM to compress the WIM file. Use the Windows command line to change to the \sources folder which contains the install.WIM file.Then rename the install.wim to Then run DISM…

          dism /export-image / /sourceindex:1 /destinationimagefile:install.wim /compress:recovery

          Now delete if the install.wim is below 4GB in size – if not then compression won’t work and you will have to try one of the methods below.Now you can use the folder as the source to create a FAT32 .imgPTN file – just drag-and-drop the folder onto the MPI_FAT32 Desktop shortcut.  

          Use WinNTSetup instead?

          If these methods seem too complicated for you, you may prefer to use WinNTSetup.exe

          Unattended installs

          To automate a Windows install, see here

          UEFI booting – How to add Windows 7/8/10 installers with >4GB install.wim files

          Note: Methods 1, 4 and 5 can be used if E2B is on a Removable USB Flash drive or Fixed Disk type.
                    Methods 2 and 3 are for Fixed Disk USB drives only because the 2nd partition will not be accessible to Windows (unless recent Win10 is used).
                    Method 5 requires you to add a 2nd FAT32 partition to your E2B USB drive – Removable or Fixed Disk type (it can be used for file storage or other purposes at the same time)

          Please note: Many UEFI systems will not list the E2B drive in the UEFI boot list if it contains more than one partition, therefore using two partition images (Methods 2-5) may not work on every type of system!Method 1 will be the most reliable and work on a wider variety of systems.

          Methods 2-5 each have their own advantages and disadvantages. Due to system firmware bugs, there is no ‘clear winner’ – that is why there is a choice! 

          Method 1 – FAT32 single-partition using split wim files (Fixed or Removable – *RECOMMENDED*)

          Suitable for Secure Boot


          Chandra has written a Windows application that will automatically convert and split Install.WIM\ESD files for you (see here). 

          • Download and install the latest MPI Tool Kit onto your Windows system
          • You MUST run Split_WinISO.exe from the MPI folder (same folder as MakePartImage.cmd) and click on the ISO button to select a Windows Installer ISO file.
          • Check that at least one WIM or ESD file is listed. You can use the ‘View’ button to see the contents of the Install.wim file.
          • Leave the SPLIT SIZE (MB) field as 4000 (it may be less than 4000 if the ISO does not require splitting).
          • Click on the 4 CONVERT button             (the MPI button will not split the wim\esd file – only use the MPI button if <4GB files present).
          • Answer the questions – choose FAT32      (not NTFS) 
          • Be sure to enter the FULL PATH for the new .imgPTN file when prompted.

          The ISO will be converted to a FAT32 .IMGPTN file and the large .WIM\.ESD file(s) will be split into smaller files. 

          Note: Temporary disk space is required on your Windows system drive (C: drive). Optionally, Split_WinISO can also add the necessary files inside the boot.wim file to run \auto.cmd too.

          IMPORTANT EI.CFG file: If prompted by MakePartImage.cmd during the making of a Win 8 Install .imgPTN image file, you must enter either V or R as appropriate (for Volume Licence (MAK or KMS)  or Retail/OEM) depending on what type of ISO you have as the source. This will create a \sources\ei.cfg file  (Win8\10 doesn’t normally have one) which will bypass Setup’s 5×5 Product Key entry request. If you do not create an EI.cfg file for Win8\10, you will get a “Windows cannot find the Microsoft Software License Terms.  Make sure the installation sources are valid and restart the installation.” error message. Thanks to Simone for this method!
           If you experience problems (if it prompts for Product Key or ‘license’ error, it will be because the EI.cfg file contents are not correct or you have used the wrong Product Key.) 

          — o O o — 

          Methods 2-6 below use two partitions, you may need to use MOVE_IMGPTN or SWITCH_E2B in order to get UEFI booting to work… 

          Note: If you get a ‘Missing MBR Helper’ message when booting in MBR mode from a .imgPTN file on some systems, rename the file to .imgPTNLBAa23 (but this may cause the UEFI boot option to not be listed by the UEFI firmware!).

          Alternative methods to split a large .wim\.esd file

           If you have a install.esd file, you can convert it to a .WIM file and then split the WIM file.
          See here for a script that will convert the .esd file to a single large .wim file using DISM (all images inside the .esd are converted).

          Use WinToolKit or DISM to split the file using a DISM command, e.g. DISM /Split-Image /ImageFile:d:\temp\sources\install.wim /SWMFile:d:\temp\sources\install.swm /FileSize:3000

          • 1. Extract all files from ISO to empty temp folder
          • 2. Convert install.esd to install.wim using script
          • 3. Split install.wim to install.swm and install2.swm (choose 3GB max size)
          • 4. Replace install.esd with install.swm and install2.swm (in same folder)
          • 5. Drag-and-drop temp folder onto MPI_FAT32 shortcut to make .imgPTN fileThis method should work on all types of USB drives. 

          This method may be unsuitable for modified (e.g. AIO) ISOs which have been coded to use an install.wim file.

          • 1. Extract the ISO contents to a folder on your system hard disk (e.g. using 7Zip)
          • 2. Download and run the WinToolKit
          • 3. In WinToolKit – Select Tools – Imaging – Wim Splitter
          • 4. Select the \sources\install.wim file as the source
          • 5. Use install.swm as the target file and select Custom – 3000 as the size
          • 6. Click Start
          • 7. Delete the sources\install.wim file (check that the \sources\install.swm and install2.swm files are present first!)
          • 8. Use MakePartImage to create a .imgPTN file using the folder as the source and FAT32 as the filesystem  

          Method 2 – using two partitions (Fixed-disk E2B drives only or later Win10 versions)

          This method works with USB Hard Disks and also special USB Flash drives of the ‘Fixed Disk’ type only – it does not work with normal ‘Removable’ UFDs unless using recent 2018+ Win10 ISOs. This method uses two partitions, a bootable FAT32 partition to hold all the Windows install files except the large Install.wim file, and a second NTFS partition which holds the large install.wim file. This method may be unsuitable for AIO ISOs which have a modified X:\windows\system32\winpeshl.ini file. Result after switching partitions:

          Partition 1: FAT32 = contains all Windows Install files except \sources\setup.exe and install.wim\esd (.imgPTN image)

          Partition 3: NTFS  = contains only \sources\setup.exe and \sources\install.wim or install.esd              (image file has no file extension)

          • Can UEFI boot via BIOS (inc. Secure Boot)
          • Can UEFI boot via Clover
          • Can MBR boot via BIOS
          • E2B disk must be fixed disk type (but Win 10 2018 or later will work with both fixed and removable USB flash drives)

          You can install Windows 7/8/8.1 using a large install.wim or install.esd file as follows: 

          1. On your Windows system hard disk, create two folders to extract your Windows Install ISO onto – e.g. C:\temp\Win81\MAIN and C:\temp\Win81\AUX1 

          2. Using 7Zip or some other method, extract the entire contents of the ISO into the MAIN folder 

          3. Cut and paste (i.e. move) the MAIN\Sources\Install.wim (or install.esd) and MAIN\Sources\Setup.exe files to the  C:\temp\Win81\AUX1\Sources folder e.g. AUX1 folder should now have these two files:



          4. IMPORTANT: Check that the files at MAIN\Sources\Install.wim (or install.esd) and MAIN\Sources\Setup.exe files no longer exist 

          5. Run MakePartImage (drag-and-drop folder onto MPI_FAT32 Desktop shortcut) using the MAIN folder as the source to create a file named – e.g. Win81.imgPTN – you must select FAT32. If the conversion fails due to insufficient space, specify a larger size. Note: The filename must only have one dot (.) in the name just before the file extension – do not use a name like Win8.1.imgPTN which has two dots in the name!).
          When prompted to make the EI.cfg file, choose the correct option (either Retail or Volume Licence) depending on what ISO you have used. e.g. from an Administrator command prompt, (note: the source folder path MUST end with a \) MakePartImage “C:\temp\win81\MAIN\” “C:\temp\Win81.imgPTN” FAT32 700 Win81  “WINDOWS 8.1 64-bit AIO” 

          6. Run MakePartImage  (drag-and-drop folder onto MPI_NTFS Desktop shortcut) using the AUX1 folder as the source to create a file named – e.g. Win81 – it must not have a . in the file name – you must select NTFS as the filesystem If prompted to make an EI.cfg file, choose the same option as before. If you have a problem booting, move the ei.cfg file to the second partition. 

          7. Copy both the Win81.imgPTN and Win81 files to your E2B USB hard disk folder (e.g. \_ISO\MAINMENU or \_ISO\WIN). The MAIN file extension must be .imgPTN or one of it’s ‘family’ .imgPTNxxx.

          The AUX1 image file must have an identical filename but no file extension (no dot in the name).  

          Note: If your UEFI firmware does not list the USB drive in it’s boot list, try using MOVE_IMGPTN  or SWITCH_E2B (see Method 4 below for details). 

          If you want to add an answer file, follow the procedure above using the MAIN folder as the source.

          Method 3 – using two partitions and Clover (1st Ptn = FAT32)   (Fixed-disk E2B USB only)

          Not suitable for Secure Boot

          This method works with USB Hard Disks and USB Flash drives of the ‘Fixed Disk’ type only – it does not work with ‘Removable’ UFDs.

          With this method, you cannot UEFI-boot using the system’s UEFI boot firmware, you can run a UEFI install by MBR-booting and using Clover to boot in UEFI mode. Some systems may crash when loading Clover so this method may be more troublesome on some systems than method 1 or 2. Partition 1 = FAT32   (.imgPTN image) – can have any non-Windows Install payload e.g. linux, WinToGo boot files+Windows in NTFS ptn, WinPE, etc. (must NOT contain \sources\setup.exe or \sources\install.wim/swm/esd files). You can just use an empty folder as the ‘Source’ for MakePartImage or use EFI_TOGO – recommended (see Method 4).Partition 3 = FAT32 or NTFS (image file with no file extension).

          1. Obtain the EFI_TOGO_V3 files, unzip, drag-and-drop the file onto the MPI_FAT32 Desktop shortcut to make a .imgPTN file

          2. Drag-and-drop the ISO or source folder onto the MPI_NTFS Desktop shortcut to make a file with no file extension

          3. Copy both files to the E2B USB drive and run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd

          4. Drag-and-drop the large .imgPTN file onto the MOVE_IMGPTN Desktop shortcut (see Method 4 below) to check that the two files are in the correct order or use  or SWITCH_E2B.

          5. If required, run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd (you may need to repeat steps 4 and 5 if the files have been moved) 

          Note: The filename must only have one dot ( . ) in the name just before the file extension – do not use a name like Win8.1.imgPTN which has two dots in the name or else both files will appear in the E2B menu! 

          • Can UEFI boot via system firmware to UEFI files on 1st ptn only (if any EFI files present instead of EFI_TOGO – e.g. memtest86)
          • Can UEFI boot via MBR and Clover to 32-bit and 64-bit NTFS partition
          • Can boot via UEFI firmware to EFI boot files NTFS partition if EFI_TOGO used on FAT32 partition.
          • Can MBR boot to 1st ptn payload
          • Can MBR boot to bootmgr and Windows installer on 2nd ptn

          See Tutorial 122 – Method 3 for more details. 

          Note: If your UEFI firmware does not list the USB drive in it’s boot list, use MOVE_IMGPTN (see Method 4 below for details).

          Method 4 – using NTFS+FAT32 partitions and Clover (NTFS Fixed or Removable E2B drive)  UEFI-boot, Clover and MBR boot

          Not suitable for Secure Boot.

          Note: If you have an E2B USB HDD, then Method 3 is better.

          This method works with both Removable and Fixed USB drives.

          For UEFI-booting from the NTFS partition, the Rufus EFI boot files are placed on the FAT32 partition.

          The E2B partition should be formatted as NTFS. For UEFI-booting, the .IMGPTN file must be located on the disk before  the file with no file extension – otherwise the UEFI-boot entry will not be listed by the firmware (see MOVE_IMGPTN for details).

          The E2B drive must be formatted as NTFS. With this method, you cannot UEFI-boot using the system’s UEFI boot firmware unless you use the EFI_TOGO files in the FAT32 partition image. EFI_TOGO (see below) will allow a system to UEFI-boot from the NTFS partition as it contains EFI NTFS drivers – however, some UEFI-BIOSes will not list the drive as UEFI-bootable in the boot menu list unless the .IMGPTN file is positioned before the FAT32 file on the E2B drive! 

          Partition 1 = NTFS  =  WindowsInst.imgPTN  (or WindowsToGo payload)
          Partition 3 = FAT32  =  made from an empty folder or EFI_TOGO_V2 (recommended) or  E2B_UEFI_BOOT_ADDON_NTFS64 

          To make: 

          1. Drag-and-drop a Windows 7/8/10 ISO onto the MPI_NTFS shortcut to make (for example) Win81_x64.imgPTN  (any name will do) 

          2. Download  EFI_TOGO_V3 and extract the files to make a new EFI_TOGO folder (it should contain the EFI folder as shown below):

          • .\EFI_TOGO_v2
          • .\EFI_TOGO_v2\EFI
          • .\EFI_TOGO_v2\EFI\Boot
          • .\EFI_TOGO_v2\EFI\Rufus 

          Drag-and-drop the file onto the MPI_FAT32 shortcut to make (for example) Win81_x64. (same file name but with no file extension). EFI_TOGO can be also downloaded from the E2B Alternate Download – Other files area. It supports 32-bit and 64-bit UEFI systems.

          If you use an empty folder for the FAT32 partition, then it will not be capable of booting via a UEFI system (only by MBR booting + Clover -> UEFI Windows). An alternative is to use E2B_UEFI_BOOT_ADDON_NTFS64 – this boots to rEFInd UEFI boot manager + NTFS driver – from there you can boot to any EFI boot file present on the disk via rEFInd icon menu (press ENTER if ‘map error’) – 64-bit UEFI only.

          The filenames must be identical (no . dot in the FAT32 filename or it will appear in the menu as well as the .imgPTN file!) – e.g. file names = Win81_x64.imgPTN + Win81_x64


          Copy the large .imgPTN file to the E2B USB drive first and run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd.

          Then copy the smaller . file (no extension) to the same folder and run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd 

          3. Make all files on the E2B drive contiguous by running \MAKE_THIS_DRIVE_CONTIGUOUS.cmd MOVE_IMGPTN/SWITCH_E2B.exe

          4. The .imgPTN file must be located on the disk before the other file that does not have a file extension, or else direct UEFI-booting may not be possible because the drive may not be listed by the firmware. After making the files contiguous, try selecting the .imgPTN file using SWITCH_E2B – if the files need re-ordering, it will offer to try to move them. An alternative is to use the MOVE_IMGPTN script.

          Read and follow the instructions in the \_ISO\docs\E2B Utilities\MOVE_IMGPTN\ReadMe.txt file.

          You must make a shortcut that will run with administrator rights.

          Drag-and-drop the WindowsInst.imgPTN file onto the MOVE_IMGPTN administrator shortcut and press [ENTER] if required.Look for a green=PASS screen on completion. 

          Note: If you are having problems with re-ordering, try swapping over the file extensions so that the .imgPTN file is the small file, and the file with no extension is the large file. This should work for Fixed-disk E2B drives. If you have a Removable USB flash drive however, it will only work for Windows 10 1607 or later based files. 

          5. The two files must be contiguous. If you are warned by MOVE_IMGPTN or SWITCH_E2B that they are not contiguous, then repeat steps 3 and 4 until it reports success. If it cannot re-order the files, install and run Defraggler – Defrag on the E2B drive, followed by Defraggler – Advanced – Defrag free space, and then run \MAKE_THIS_DRIVE_CONTIGUOUS.cmd and then try SWITCH_E2B.cfg! 

          • for MBR-booting – boot to the NTFS partition directly (CSM Menu)
          • for UEFI-booting via Clover – MBR boot to the CSM menu and run Clover which will then UEFI-boot
          • for UEFI-booting from system firmware – pick the UEFI boot option (if your UEFI BIOS lists your drive in the boot list – not all do!)

          This method can be used to boot WindowsToGo and MDT Windows Deployment payloads from a Fixed- or Removable USB drive via MBR or UEFI.
          Note however that Windows 8.1ToGo and Win10ToGo do not boot from a removable drive (unless you use a VHD file to hold the image or use Win10 1607+).  

          Method 5 – Add a 2nd FAT32 partition to your E2B drive (Fixed or Removable E2B drive – may not work on all systems)

          Not suitable for Secure Boot.

          This method uses the UEFI:NTFS files as used by Pete Batard’s Rufus UEFI:NTFS scheme.We need to create a second small FAT32 partition at the end of the E2B USB drive which contains the UEFI boot files. WARNING: The big disadvantage with this method, is that you may not be able to MBR-boot to the E2B or CSM menu on some systems! This is because some systems will just give a UEFI boot option if a valid UEFI boot file is present but will not present you with an MBR boot option. If this happens, I suggest you temporarily rename the \EFI folder in order to be able to boot to E2B on that system.If you prefer, you can use Rufus to re-format the USB drive by selecting the special ‘Format Option’ arrow and setting UEFI:NTFS. This will format the USB drive with a FAT partition already containing the correct files – just copy over the E2B files to the NTFS folder and then install grub4dos to the MBR and PBR using RMPrepUSB.

          Use Rufus to wipe and partition the E2B USB drive if you want the second partition to be as small as possible. 1. Create an NTFS E2B USB drive with a small FAT32 partition at the end:

          PTN1: NTFS E2B
          PTN2: FAT32 300MB or larger (it can be FAT instead of FAT32 if you want it to be smaller)
          PTN3: unused
          PTN4: unused

          You can use Easeus Home Paritition Master for this (it can make mulltiple partitions on Removable USB drives). Be careful to avoid the extra PUPs when you install it!

          2. Copy Pete Batard’s UEFI:NTFS files to the FAT32 partition (can be downloaded as EFI_TOGO_V3).  If you used Rufus to prepare the USB drive, update the files in the FAT partition with EFI_TOGO to use the latest version. If your E2B drive is a Removable USB drive, you can switch PTN1 with PTN2 for access using the Switch_E2B partitions button or RMPrepUSB – Ctrl+O – 2 and copy the files over. There should be a \EFI folder in the root after copying the files then switch back to the NTFS partition in the same way as before.
          We can now add large Windows Install AIO files as follows:

          1. Drag-and-drop the source ISO or folder onto the MPI_NTFS Desktop shortcut to make a .imgPTN file.
          2. Copy the .imgPTN file to the E2B USB drive (e.g. the \_ISO\WINDOWS\WIN8 folder or \_ISO\MAINMENU, etc.)
          3. Rename the file to use a .imgPTNLBAa23 file extension.

          Now you can switch to the .imgPTNLBAa23 file (using the E2B  menu or Switch_E2B) and then MBR (if the BIOS gives you that option) or UEFI-boot.

          We don’t need to use two .imgPTN files because the last partition will always be the UEFI boot file partition so we have no ‘partition order’ problem.

          Method 6 – Boot to a WinPE and mount the ISO

          Instead of directly booting to Windows, you can boot to a Windows 10 based WinPE and then mount your Windows Install ISO file as a virtual drive (usually by right-clicking on the ISO file and choosing the ‘mount’ option). You can then run \Setup.exe directly from the new virtual DVD drive.

          The WinPE (e.g. HBCD_PE or Strelec) can be extracted to a FAT32 Partition 3 or you can create a FAT32 .imgPTN file from it – boot to WinPE – and then run \e2b\SWITCH_E2B.exe or \e2b\Restore_E2B.cmd to restore the E2B partition 1 – now find and mount the required ISO file and run \Setup.exe.

        • Unattended Windows Installs

          Unattended Windows Installs (answer files, etc.)

          You can specify your own unattend.xml file for Easy2Boot to use (Vista/Win7/SVR2K8R2/Win8/Server2012/Win10/SVR2016/SVR2019/AIO) or unattend.txt files (XP).If the file DEFAULT.XML exists in the same folder as the ISO, then the DEFAULT.XML file will be automatically picked by E2B (E2B v1.B0+,not for XP).

          New! E2B eBooks are now available (including a complete course on making a multiboot USB drive and an eBook on Installing Windows). 

          Windows XP

          Using the  ‘Install XP from an ISO using WinPE’ Menu option

          Add your answer file (unattend.txt or winnt.sif format) to the \_ISO\WINDOWS\XP folder.

          Any name ending in .txt will work.

          Use the ‘Install XP from an ISO using WinPE’ menu option and you will be able to select it from a list.

          You can automate the entire install by using an answer file in this way, or just some parts of the install. There is an example XP_EeePC_Auto_UK.txt file already present.  

          Tip: if you don’t use this WinPE process to install XP ISOs at all, you can remove the menu entry for it by deleting the \_ISO\WINDOWS\XP\WINPE_INST.TAG file. 

          Using the ‘Install from ISO using Step 1/Step 2’ (DPMS) Menu option

          Place your answer file (unattend.txt or winnt.sif format) in the \_ISO\WINDOWS\XP folder and name it with a .SIF file extension (e.g. fred.sif)  – the filename for the .sif file must be in 8.3 format (no long filenames). 

          Note: There are example files in the \_ISO\WINDOWS\XP folder.

          Just name your XP ISO Winxp_32_sp3.iso – and then it will use Winxp_32_sp3.ISO.AUTO and EeePC.SIF (and at the end of the Stage 2 install, it will run EeePC.sif.cmd

          Create a new text file with a .ISO.AUTO file extension in the same folder, with the following contents (fred.sif is an example name only): 


          set WINNT=fred.sif 

          If the .AUTO filename is exactly the same as the ISO that you picked, then it will automatically be selected (e.g. XP_PRO_SP3.ISO.AUTO is picked automatically if the ISO selected was XP_PRO_SP3.ISO). 

          If you want to be able to select a variety of different .AUTO files for the same ISO file, then use a \_ISO\MyE2B.cfg file and add the line:   

          set PICKAUTO=YES

          to it.

          Note: The MyE2B.cfg file must start with !BAT on the first line. 

          You will then be prompted to select from all the .AUTO files that are in the \_ISO\WINDOWS\XP folder when you run Step 1 of the XP install. 

          If you have only one .AUTO file for XP installs then that will be picked by default. These files do not need to end in .ISO.AUTO, just xxxxxxxxxx.AUTO will do. 


          • .SIF files must have a filename of 8 or less characters.
          • You do not need to use .SIF as the file extension, you can use .TXT but the filename must be 8.3 in format (no long filenames).
          • .SIF files and .AUTO files must be in the \_ISO\WINDOWS\XP folder (the path is hard-coded).
          • AUTO filenames can be any length
          • If you want a specific unattend file to be used with a specific ISO, name the AUTO file with a matching xxxx.ISO.AUTO filename, i.e. ending in .ISO.AUTO.If you have a matching AUTO file for the ISO that you selected AND you have set PICKAUTO then you will be asked to select from the AUTO files – if the user aborts the selection, no .SIF file will be used. 

          Example 1 – Auto-selection (one SIF file for one ISO)