Add 'Ventoy for Easy2Boot'

 

New website for E2B at www.easy2boot.xyz

Details on this website may now be outdated

 

 

 

 

 

 

 

Note: The official Ventoy v1.0.28 (2020-11-13) and later versions have been deliberately prevented from running on an E2B USB drive by the developer - so the latest official version of Ventoy that can be added is Ventoy v1.0.27 by using the Alternative Method detailed below. See my blog for more details.
 
You should add the latest 'Ventoy for Easy2Boot' version. This version has been slightly modified to run on E2B USB drives and requires agFM v1.66 or later.
 
Instead of using the E2B version, you can compile your own version of 'Ventoy for Easy2Boot' by following the guide here.

Introduction

Ventoy is a grub2-based menu system for MBR\Legacy and UEFI booting of ISOs, etc. similar to agFM.
 
You can add Ventoy to your E2B+agFM USB drive for both MBR\Legacy+UEFI32+UEFI64 and Secure UEFI64 booting.
By adding Ventoy to E2B+agFM it allows us to Secure UEFI64-boot to Ventoy via agFM - Mok Manager is not required for Secure Boot if we first boot to agFM.
 
Ventoy only enumerates files that are in the first partition. You must use standard file extensions only (e.g. .iso, .vhd).
 
Ventoy is particularly good at booting WinPE-based ISOs because it can inject code into WinPE to mount the original ISO as a DVD drive - e.g. drive Y:. This means that all the programs and Desktop icons should work correctly even if the ISO does not support the WinBuilder .ini file method of loading the ISO as a DVD drive. Ventoy may not be suitable if your system has limited RAM or you are booting very large ISO files.
 
Note: Testing Ventoy using a Virtual Machine can be unreliable - always test using a real system if a payload fails under VirtualBox or VMWare (esp. if testing a Windows based payload or UEFI-booting).
'Ventoy for Easy2Boot' v1.0.32 and later supports Legacy, UEFI32 and UEFI64 (use agFM v1.69 or later).
 

To add the current release of 'Ventoy for Easy2Boot'

First - you must update the E2B USB drive to agFM v1.66 or later using \eb2\Update agFM\Download and update agFM_v2.cmd.
Or update to the latest Beta of agFM (if available) by extracting the files from the .zip file directly to the root of the second partition of the E2B USB drive.
The 'Ventoy for Easy2Boot' version is an unofficial 'fork' of Ventoy which has been patched and recompiled to work on an E2B USB drive.
 

To download and add this E2B version of Ventoy, go to the second partition where the agFM EFI boot files are located and double-click on the file on Partition 2 at:

             \e2b\Update agFM\Update_to_latest_Ventoy_version.cmd

Internet access is required. The .cmd script will access the E2B server, download a zip file, extract the files and then copy the Ventoy boot files to partition #2 of the USB drive.

Note: agFM version 1.66 or later is required.

If you are using the standard agFM theme, then the F5 hotkey in the agFM menu system will launch Ventoy. If you Legacy boot to the E2B Main Menu, then you can select the Ventoy menu entry which will boot from the /ventoy/core.img file on partition 2.

Note: When booting, Ventoy enumerates ALL files in Partition 1 - so you must allow enough time for this! You can configure Ventoy to ignore certain folders and thus reduce the menu load time.

 

Alternative method to add Ventoy

Windows 10 is required if you are using an E2B USB Flash drive because only Win10 (recent versions) can access Partition 2 of a flash drive.
 

You can add or change the version of Ventoy as follows:

  1. Update your E2B+agFM USB drive to E2B v2.06 or later and update to agFM v1.66 or later.
     
  2. Download an official Ventoy Windows .zip file from the Ventoy depository (v1.0.27 is the last unblocked version - later versions of Ventoy will not run from an E2B USB drive unless they are the E2B version!). You can instead download any 'Ventoy for Easy2Boot' zip file from the E2B Alternate Downloads archives (recommended).
     
  3. Drag-and-drop the Ventoy .zip file onto the  \e2b\Update agFM\Add_Ventoy.cmd file on your E2B drive (in the agFM partition 2).
     
  4. If you have downloaded an 'official'  Ventoy zip file - The latest Ventoy (blocked) version of core.img is fetched from the Ventoy server. This will not work when Legacy booting is tested. An older (unblocked) version of core.img file will be needed. You can directly download an older (unblocked) version of core.img from here for use with Ventoy v1.0.28 and later. The core.img file should be extracted and placed in the \ventoy folder on Partition 2 to support MBR\Legacy booting from the E2B Main menu. The file \ventoy\core.img is not present inside the official Ventoy .zip file but it is required for MBR\Legacy booting via the E2B menu system.
    If you are not online, you can download the current core.img file from https://github.com/ventoy/Ventoy/blob/master/INSTALL/grub/i386-pc/core.img and add it to the agFM Partition 2 \ventoy folder. You can directly download an older (unblocked) version of core.img from here. The core.img file should be extracted from this .zip file and replace the existing core.img in the \ventoy folder on Partition 2 to support MBR\Legacy booting (even if Legacy Ventoy v1.0.28 or later).

Windows XP/7/8 users can first switch to the 2nd partition (using Switch_E2B.exe - 'Access partition 2 on Removable drive' button) and then drag-and-drop the downloaded Ventoy .zip file onto the \e2b\Update agFM\Add_Ventoy.cmd file. Don't forget to switch back partitions 1 and 2 afterwards using the same button in Switch_E2B.exe!

Instructions for using Ventoy and for modifying the Ventoy menu system are on the Ventoy website.
 

User configuration file (ventoy.json)

Create a new \ventoy\ventoy.json on the first partition of the E2B USB drive to configure Ventoy.
See the Ventoy plugins pages for more details.
 
You can see sample  configuration files in the \ventoy\Sample Ventoy config files folder. These can be copied to the \ventoy folder on Partition 1 (the NTFS partition).
 
{
    "control_uefi": [
        { "VTOY_DEFAULT_MENU_MODE": "1" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "0" },
        { "VTOY_DEFAULT_SEARCH_ROOT": "/_ISO" },
        { "VTOY_MENU_TIMEOUT": "5" },
        { "VTOY_DEFAULT_IMAGE": "/_ISO/LINUX/linuxmint-20-cinnamon-64bit.iso" }
    ],
    "control_ia32": [
        { "VTOY_DEFAULT_MENU_MODE": "1" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "0" },
        { "VTOY_DEFAULT_SEARCH_ROOT": "/_ISO" },
        { "VTOY_MENU_TIMEOUT": "5" },
        { "VTOY_DEFAULT_IMAGE": "/_ISO/LINUX/xubuntu-18.04.3-desktop-i386.iso" }
    ],
    "control_legacy": [
        { "VTOY_DEFAULT_MENU_MODE": "1" },
        { "VTOY_FILT_DOT_UNDERSCORE_FILE": "0" },
        { "VTOY_DEFAULT_SEARCH_ROOT": "/_ISO" },
        { "VTOY_MENU_TIMEOUT": "5" },
        { "VTOY_DEFAULT_IMAGE": "/_ISO/LINUX/linuxmint-20-cinnamon-64bit.iso" }
    ]
}
 
 
Action of above settings
  • 1 = TreeView mode (0 = List mode)
  • List files with ._ in name
  • Start menu at /_ISO (user cannot navigate 'above' this level)
  • After 10 second timeout, run iso (file specified must be 'below' the VTOY_DEFAULT_SEARCH_ROOT path)

One menu for MBR booting and the other for UEFI booting.

 

Load agFM or Easy2Boot from Ventoy menu

You can see sample  configuration files in the \ventoy\Sample Ventoy config files folder. These can be copied to the \ventoy folder on Partition 1 (the NTFS partition).
Make a new file at \ventoy\ventoy_grub.cfg on Partition 1 (the first NTFS partition) so that you can press F6 in Ventoy to load your own grub2 menu:
 
menuentry "Load agFM Menu" --class=custom {
if [ "${grub_platform}_${grub_cpu}" = "pc_i386" ]; then
linux ${vtoy_efi_part}/e2b/loadfm
initrd ${vtoy_efi_part}/e2b/grubfm.iso
else
    if [ "$grub_cpu" = "x86_64" ]; then chainloader ${vtoy_efi_part}/grubfmx64.efi; fi
    if [ "$grub_cpu" = "i386" ]; then chainloader ${vtoy_efi_part}/efi/boot/bootia32.efi; fi
fi
}
if [ "${grub_platform}_${grub_cpu}" = "pc_i386" ]; then
menuentry "Load Easy2Boot Menu" --class=custom {
insmod ntldr
set root=${vtoydev},1
ntldr ${vtoy_iso_part}/grldr
}
fi
submenu 'My Custom SubMenu -->' --class=customsub {        
    menuentry "My Custom Menu2" --class=custom2 {
        echo 'This is custom menu2 ... '
        sleep 1    
    }
    menuentry '<-- Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
        echo 'Return ...'
    }
}
menuentry '<-- Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
    echo 'Return ...'
}
 

Now you can boot back to agFM (or E2B if in MBR mode).

 

Here is an example menu to boot a linux ISO located in \_ISO\LINUX folder:

menuentry "Boot Micron Firmware Updater" --class=custom {    
    isofile=/_ISO/LINUX/1300_revM5MU30_bootable_media_update.iso
    loopback microncd $vtoy_iso_part$isofile
    linux  (microncd)/boot/vmlinuz64 libata.allow_tpm=1 quiet base loglevel=3 waitusb=10 superuser mse-iso rssd-fw-update rssd-fwdir=/opt/firmware rssd-force-update
    initrd (microncd)/boot/corepure64.gz    
}
 
 

Comparison agFM v. Ventoy

Feature agFM Ventoy
Switch in .imgPTN files YES NO
Boot WinBuilder WinPE ISOs YES SOME
Easy selection of XML files for Windows Install ISOs YES NO
Secure UEFI64 boot YES only via Mok Manager*
UEFI32 boot YES YES v1.0.32+
Files can contain spaces YES YES v1.0.29+
Generic method of booting of Linux ISOs YES NO
Use specific file extension to boot in different way YES NO
Menu mode USER MENU + TREE ONE BIG LIST +
TREE
Boot DOS images YES NO
Secure UEFI64-boot non-secure payloads YES     NO
USB drive can be write-protected NO YES
ISO boot speed MEDIUM FAST
Password protect ISOs YES YES

 

 

 

 

 

 

 

 

 

 

 

 

 

 




* If you first Secure UEFI64-boot to agFM then you can boot to Ventoy without needing to use Mok Manager.

Ventoy special features

Ventoy has some special features, for example:

  • Full GPT partition style support
  • Contiguous files not needed
  • Auto installation for Linux distros
  • Directly boot for whole FreeBSD series 
  • Boot configuration file dynamically replacement
  • Injection files for Windows and Linux (ideal for WinPE ISOs)
  • Boot configuration file dynamically replacement
  • Driver update disk support

agFM special features

  • agFM also supports different languages and keyboard types.
  • E2B+agFM also supports SDI_CHOCO  automated Windows install from ISO, UtilMan Hack, MemTest86, etc.
  • .imgPTN Partition Image files supported

If you find a bug with agFM or E2B or 'Ventoy for Easy2Boot', please contact me, however, if you find the same bug when using an 'official' Ventoy USB drive (not an E2B drive!), please contact ventoy.net.


Recommended for Easy2Boot (fastest flash drive!)
SanDisk Extreme SDCZ880-128G-G46

Fastest USB 3!
See Blog post