Add E2B to your own grub4dos USB drive

I strongly recommend that you add your own grub4dos menus into the E2B menus and E2B folder stucture, rather than try to use some of the E2B features and batch files without running from the E2B menu system.
 
  • The USB drive should not contain more than 2 primary partitions. 
  • Partition 4 must be empty. 
  • Partition 3 is used by some functions (e.g. if you use linux+persistence).
  • For best 'bootability', I recommend that the USB drive contains two partitions (even of the 2nd one is very small and hidden).
  • Also, ensure grub4dos is installed to both the MBR and the PBR of the first partition.
  • Ensure you are using the same version of grub4dos that E2B uses - copy the grldr file in the E2B download to the root of your grub4dos-bootable USB drive first and overwrite any older version.
 
If you already have a syslinux or grub4dos multiboot USB drive, you can add E2B to your USB drive as follows:
 
1. Download, extract and copy ALL the E2B files to your existing multiboot USB drive (including the files in the root). 
 
If you already have a \menu.lst file then do not overwrite it with the E2B menu.lst.
 
Ensure the E2B folder \_ISO is in the root of the USB drive (do not move it to a different folder).
 
2a. If you have a grub4dos menu.lst file, add in a menu entry to run E2B as follows:
 
title Run Easy2Boot
set grub=_ISO/e2b/grub
configfile /%grub%/menu.lst
 
2b. If don't already have a \menu.lst file and have a syslinux boot pen, add this to your syslinux menu (the E2B \menu.lst file will be required)
 
LABEL Easy2Boot
MENU LABEL Easy2Boot
BOOT /grldr
 

Using E2B features in your own grub4dos menus (not recommended)

If you just want to use the same method of autorunning any payload file but don't want the E2B menu system (not recommended), you can use QRUN.g4b in your menus, e.g.
 
title Run xxxx.iso
/%grub%/qrun.g4b   ()/_ISO/MAINMENU/xxxx.iso
boot
 
title Run Hirens
/%grub%/qrun.g4b   ()/_ISO/MAINMENU/Hirens.isowinvh
boot
 
You can also force QRUN to run an iso as if it had a different extension, e.g. this will run the iso as if it had the .isowinvh file extension
 
title Run Hirens
/%grub%/qrun.g4b force.isowinvh  ()/_ISO/MAINMENU/Hirens.iso
boot
 
Note: The %grub% variable must be set by you to point to the folder that contains QRUN.g4b and all the other files and folders under grub, so at the top of your menu.lst put something like:
 
set grub=_ISO/e2b/grub
set LANG=ENG
cat /%grub%/%LANG%/STRINGS.txt > (md)0x880+0x80
# next line assumes the USB drive will be hd0 - it usually is when booting from USB.
set E2BDEV=%?_BOOT:~1,3%
if not "%E2BDEV%"=="hd0" pause ERROR: E2BDEV = %E2BDEV% !!!
#initialise memory areas so they are not confused by grub4dos seeing them as compressed files!
echo fffffffffffffff > (md)0x800+1
echo fffffffffffffff > (md)0x220+1
echo fffffffffffffff > (md)0x3000+1
echo fffffffffffffff > (md)0x6000+1
echo fffffffffffffff > (md)0xA000+1
# set keyboard scan codes (uses USA if not set) - optional
###set KBD=KBD_GERMAN.g4b
###call /%grub%/%KBD%
# load font file for non-US language fonts - e.g. Ü. 
font ()/%grub%/unifont.hex.gz
 
You will need to load a language file into memory. If you don't do this you will get 'Missing $$STRxxxx' messages.
 
Note that you should check E2BDEV is hd0.
 
Many different files and folders are used by QRUN.g4b - ALL the files and folders under the grub folder must be present.
 
You MUST preserve the folder structure and set grub to _ISO/e2b/grub  (i.e. \_ISO\e2b\grub and \_ISO\e2b\firadisk and \_ISO for CONTIG.ISO and MyE2B.cfg). You can use a different folder for %grub% as long as you only boot simple linux ISOs (not Windows or WinPE) - ALL the files and folders under the grub folder must be present. I do not recommend this though and cannot support it or be held responsible for any damage to the USB drive or to system disks if you don't use the original E2B folder structure!
 
WARNING: I recommend you not use .imgPTN files in non-E2B menus! You can potentially destroy partitions on the system hard disk if anything goes wrong or if E2BDEV is set to the wrong device.
 
To run WinPE/Windows Install ISOs, you should first clear the \AutoUnattend.xml and \Unattend.xml files using the code which you can obtain from \_ISO\e2b\grub\menu.lst (near the end of the file). If you run any WinPE payload using .iso or .vhd or .wim, then it may use the \AutoUnattend.xml file from the previous boot!
 
I recommend you use the Easy2Boot menu system to run Windows-based payload files for these reasons.
 
Example for running a Win7 Install ISO using E2B  (RunVista.g4b is for Server2K8R2,Win7 or Vista, RunWin8.g4b is for Server2012 and Win8)
 
title Install Windows 7 (32-bit) \n Install Win7 from ISO
# suppress return to Windows Install menu
set NOWMENU=1
set ISO=Win732.iso
set MFOLDER=/_ISO/WINDOWS/WIN7
/%grub%/RunVista.g4b  WIN7
boot
 
title Install Windows Server 2008 R2 (64-bit) \n Install SVR2K8 from ISO
# suppress return to Windows Install menu
set NOWMENU=1
set ISO=Win2K8R2_x64.iso
set MFOLDER=/_ISO/WINDOWS/SVR2K8R2
/%grub%/RunWin8.g4b  SVR2K8R2
boot

 

Transfer to a different E2B drive (DANGER!)

If you boot grub4dos from a different drive or partition, you can transfer to the E2B drive using this menu entry:

find --set-root /_ISO/e2b/grub/menu.lst
chainloader /grldr
boot
 
Note that this is not recommended because the boot drive wil not be the E2B drive. Check the E2BDEV variable carefully! Be aware that Easy2Boot menus may destroy partition 4 of a drive (drive is defined by E2BDEV). Also, some .mnu files may expect to be running from hd0 and be hard-coded for hd0. It also assumes that hd0 is a USB drive for certain functions - it may accidentally erase/modify disk 0 of your system! So check carefully any menu you use!
 
Note: This may not work for exFAT E2B drives because grub4dos may just load your other \menu.lst file first!




More Info