Use the use the E2B_Editor.exe menu editing utility, in the \_ISO folder, to configure the menu.
\_ISO\MyE2B.cfg is the user configuration file for E2B.
\_ISO\Sample_MyE2B.cfg contains hundreds of documented configuration examples. To change the Main Menu heading, footer help text, menu position, size, colours, language, password and many other options - copy and rename the \_ISO\Sample_MyE2B.cfg file to \_ISO\MyE2B.cfg - then read and edit the file (many settings can be changed!) - or use the E2B_Editor.exe menu editing utility (see below) to design your own custom MyE2B.cfg file and menu.
To change the wallpaper - add a 800x600 \_ISO\Mybackground.bmp or .jpg file (save using MS Paint) - see below for details.
To change the text of individual payload menu entries, simply rename the payload file (e.g. 'ubuntu-14.04-desktop-amd64.iso' can be renamed to 'Ubuntu 14.04 64-bit Desktop.iso'). Note: Spaces in filenames can cause problems - always test without spaces first and then change the file name once it is working!
The Menu entry order is determined by E2B which sorts the payload and .mnu filenames alphabetically - so just rename them to change their order in a menu. Tip: press the spacebar to pause file enumeration so you can see how E2B orders each item.
E2B also uses .mnu files to add new grub4dos menu entries into a menu - you can add more .mnu files, delete or rename them (but don't edit an existing E2B .mnu file unless you first change it's filename).
Double-click on \_ISO\PimpMyDrive.cmd to add some demo menu entries (.mnu files) for you to test out (E2B v1.92+)
Some systems may not be able to display 800x600 or 1024x768 graphics modes. If you use E2B on 100's of systems for repair, consider using a Text-mode only theme (see "\_ISO\docs\Templates\TextMinimal\MyE2B.cfg"). You can also use a text-mode .imgPTN CSM menu too.
\_ISO\MyE2B.cfg configuration file
E2B looks for a \_ISO\MyE2B.cfg user configuration file and, if it is present, uses the settings within it. It then looks for .mnu files (of any name) and payload files that are in, or under, the \_ISO\MAINMENU folder.
This file may have been created by the Make_E2B.exe creation utility.
Many E2B configuration settings can be changed by making and editing the \_ISO\MyE2B.cfg file - please see this page for details.
The \_ISO\Sample_MyE2B.cfg file contains examples of all the possible configuration settings.
E2B uses keyword lookup strings ($$STRxxxx). If you need to change the language, menu entries and headings, prompts and messages, you can use your own STRINGS.txt language file. Please use the LANG variable in the \_ISO\MyE2B.cfg configuration file (for details, see 'Changing the Language' in the MyE2B.cfg page).
Do not edit any of the original E2B files because if you later update the E2B drive with a newer version of E2B, you will lose all your changes. If you need to change one of the E2B files, rename it first, e.g. rename \_ISO\MAINMENU\ZZSubMenuAll.mnu to ZZSubMenuAllXYZ.mnu before you edit it. \_ISO\MyE2B.cfg can be edited because it is not in the E2B download and is not an 'original' file.
Note: The CSM menu that is created by MakePartImage, is inside the .imgPTN image file, so it's menu is not affected by MyE2B.cfg or any file within E2B - see 'Modifying the CSM Menu' on this page.
A YouTube Video about changing the E2B Menu background and using a MyE2B.cfg file is here.
E2B automatically adds payload files (.ISOs, .IMAs, .IMG, etc.) to the menu, only if they are at the 2nd folder level (i.e the \_ISO\xxxx level).
Payload files (and .mnu files) are listed in alphabetical order of their file names.
For automatic addition to a menu, a payload file must be in a menu folder.
Note that .mnu files will be found at all levels, even if they are nested below the 2nd folder level (nested sub-folders).
\_ISO\LINUX\FRED\Ubuntu.iso <<< will not be added to the LINUX menu
\_ISO\LINUX\FRED\Ubuntu.mnu <<< will be added to the LINUX menu
\_ISO\LINUX\Clonezilla.iso <<< will be added to the LINUX menu
\_ISO\LINUX\Clonezilla_Persistent.mnu <<< will be added to the LINUX menu
Change the background wallpaper
To add your own wallpaper background, prepare a .bmp file which is exactly 800x600 in size and 24/32-bit colour depth.
Name the file as mybackground.bmp and copy it to the \_ISO folder.
If you wish, you can reduce it's file size by using 7Zip to compress it using GZip format (name it mybackground.bmp.gz or mybackground.bmp). Some high-quality wallpapers can be downloaded from here and here (choose a size of 800x600).
You can also have an E2B menu of 640x480 or 1024x768 by changing the \_ISO\MyE2B.cfg file and the GMODE value (see below).
The \_ISO\mybackground.bmp file can also be a JPEG encoded file (e.g. saved as a JPEG file called mybackground.bmp using MSPaint or Gimp). Note that a name of \_ISO\mybackground.jpg is also recognised by E2B v1.92 and later.
If you add a \_ISO\MyE2B.cfg configuration file, you can specify the background wallpaper file name and path (notice that forward slashes are used for grub4dos paths!) - e.g.
or... set MYWBMP=/User_E2B/myimage.jpg
It is also possible to load a different background wallpaper for each submenu - see here for details.
Do not use a wallpaper larger than 1024x768 (it can cause E2B to crash!) - use either 800x600 or 1024x768
I recommend you use 800x600 because not all systems can display 1024x768x24 colours.
E2B uses grub4dos 0.4.6a which supports .jpg files, grub4dos version 0.4.5c does not - so if you use or switch to grub4dos 0.4.5c, do not use a .jpg file.
Choosing a suitable background bitmap
When designing or choosing a menu bitmap, it is best to avoid lots of different colours in the menu area because the menu text needs to stand out against the background.
Therefore, choose an area for the menu which is suitable to have text overlaid on it so that it will stand out. You could do this by drawing a blank rectangle on the image before saving the bitmap.
Menu Help text
The help text area directly below the menu needs 5 clear lines of space, because up to 5 lines of help text can be printed, starting at the 'tophelp' position, on the display.
Note: with more recent versions of grub4dos, only 4 lines are required, however I recommend you allow for 5 lines of help text below the menu for backwards compatibility reasons.
grub4dos 0.4.5c - If a default menu entry is chosen by the user, they may see a 'This highlighted entry will be booted automatically in x seconds' message at position tophelp+5 if a default menu item is set. This text is part of grub4dos. It's position is the 5th line down from the menu help text start position (tophelp set in MyE2B.cfg file). Thus you can define a maximum of 4 lines of help text for each menu entry.
e.g. if the .mnu file was title TEST \n1\n2\n3\n4\n5\n6
The help text below the menu would be (grub4dos 0.4.5c) 1
The highlighted entry will be booted automatically in x seconds
So you always need to ensure that there a 5 clear lines directly below your menu and then the HELPTEXT footer text below that.
Note: More recent versions of grub4dos display the timeout counter on the same menu entry line and only 4 lines of help text below the menu are used.
If you want to hide the menu entry title help text, set tophelp to a large value so it is positioned off-screen (e.g. set tophelp=70) in the \_ISO\MyE2B.cfg file.
Tip: grub4dos 0.4.5c - To check you have left 5 lines clear below the menu. As a test, set a timeout of 10 seconds - the countdown message will appear in line 5 under the menu. Also press SHIFT+P to check the pasword prompt text position. Test using grub4dos 0.4.6a and 0.4.5c (change using Utilities menu).
Set the line width and position of the menu entry help text
Use hstart and hwidth (E2B v1.97+)
In MyE2B.cfg, you can change the default position of the menu entry help text under the menu using:
tophelp - sets row at which to start help text (y offset)
hstart - sets column at which to start help text (x offset) (default = rstart-1), min = 1, 0 = use menu width and menu start
hwidth - sets the width of each help text line before it will wrap over (default = menuw+2), 0 = use whole screen width - 2 x hstart
# Example 1 - define exact position of help text
# Example 2 - use whole screen width (minus 2 x hstart value) - so 3 spaces at start and 3 spaces at end
# Example 3 - use menu default position and width
Note: In My_E2B.cfg, hstart and hwidth should be defined below the 'ADVANCED MENU SETTINGS' area so that they are preserved if you use the E2B_Editor utility.
In 800x600 mode, hstart+hwidth < 101, in 1024x768, hstart+hwidth<129.
Note: E2B v1.97 and later versions do not use a leading space in the help text after \n, e.g. instead of
title Here is my title\nLine 1 help text\nLine 2 help text
E2B now uses no spaces:
title Here is my title\nLine 1 help text\nLine 2 help text
You can draw a box around the help text using 'setmenu --draw-box'. Note that you may have to draw a box one-character wider than the help text width to allow for an extra space that can occur at the end of a help text line. You may also need to adjust the vertical start position of the box downwards by one line.
Type help setmenu in the GRUB4DOS command prompt to see the syntax.
Try the E2Bed editor to design your own menu system (save configuration as MyE2B.cfg).
1. Run \_ISO\E2B_Editor.exe (Windows only) and choose a .cfg file (e.g. \_ISO\MyE2B.cfg or select the Sample_MyE2B.cfg file)
2. Choose a 800x600 or 1024x768 (uncompressed) .bmp file or .jpg (if one was not already specified in the .cfg file) - the file MUST be under the \_ISO folder (or sub-folder) and it must be on the E2B USB drive.
3. Use the mouse to draw a rectangle for the menu area (any menu border, if configured, will be drawn around the outside of the menu text)
4. Change the colours, header and footer text and other settings as required.
5. Click on the red Save button to save the new settings (if you chose Sample_MyE2B.cfg then New_MyE2B.cfg or MyE2B.cfg will be saved)
Tip: You can just view the new settings in Notepad by answering 'No' to the 'Save' question.
Note: When E2B boots, it will always load the user's configuration file from \_ISO\MyE2B.cfg.
Screen Size and Menu layout
The diagram below shows an 800x600 display mode (100 text characters x 37.5 lines, GMODE=800).
A 1024x768 display will be 128x48 characters (GMODE=1024).
If GFX=none is set, we will have 640x400 text mode 16-colour (VGA mode 3) of 80x25 lines (sometimes mode 18 which is 80x30)
E2B can automatically choose the best available resolution by adding code to your \_ISO\MyE2B.cfg file - see my blog post here. However, I suggest you stick to 800x600.
Note: Default menu parameters assume a 800x600 screen. You may need to modify MyE2B.cfg if you change the display mode.
1024x768 = 128 x 48 lines
800x600 = 100 x 37 lines
GFX=NONE = 80 x 25 lines - note you must adjust noitems (max 17), tophelp (max 19), HBTM (max 24) and reduce length of HELPTEXT string.
Note: The border is always drawn outside of the menu, e.g. if rstart=2 then the border vertical is in column 0 and an arrow pointer is in column 1. The menu text starts in column 2. Allow 1 line for the horizontal border lines. rstart=0, rstart=1 and rstart=2 are equivalent.
If GMODE=800 then we get 100 characters (0-99) across each row and 37 rows (0-36).
A default menu size is preset by E2B, and assumes a 800x600 screen resolution and the following parameters:
You can change these in _ISO\MyE2B.cfg.
Main Menu Heading
Menu headings are positioned on the screen using HEADPOS+HPAD+HEADING (the heading text).
HEADPOS is a four digit number (row+column) - e.g. YYXX - 0103 is line 1, 3rd character across. HEADPOS is ignored if CENTREHD is used.
HPAD is a variable that contains a string of one or more spaces and it is automatically calculated from the rstart value by E2B.
HEADPOS is 0000 by default. HPAD is used by E2B to shift all the menu headings to the right and contains a number of spaces.
You can override the internal HPAD value by setting it in MyE2B.cfg, e.g. set HPAD=\x20 \x20
The Main Menu heading is set by HEADING in the MyE2B.cfg file. It can be offset by adding spaces - e.g. \x20 MY MAIN HEADING
You can cause all menu headings to be auto-centred by setting set CENTREHD=1 in the \_ISO\MyE2B.cfg file (v1.65+).The central position is calculated by E2B from the menuw value that has been set in MyE2B.cfg (the default value is set in the E2B.cfg file = menuw = 64). You can skew the menu headings by using a value other than 1 for CENTREHD - e.g. set CENTREHD=65 will make E2B use 65 instead of the menuw value to calculate the centre of the menu. CENTREHD pads out the heading string with the correct number of spaces, i.e. HPAD + CENTREHD is used to shift the headings over to the right.
If you set CENTREHD in MyE2B.cfg, then HEADPOS (YYXX) will be set to YY00 by E2B v1.97+ (i.e. the X offset will be set to 00).
The X position of the heading is now determined by [HPAD] + CENTREHD value.
Note: You can specify your own padding for HPAD in your \_ISO\MyE2B.cfg file - e.g. set HPAD=\x20 \x20.
set CENTREHD=98 The menu headings may also have leading spaces - if you want to change this, copy the STRINGS.txt file to your own LANGuage folder and edit the headings that are in the STRINGS.txt file. See here for more details.
Note that HBTM (the bottom help text position) is an absolute position, it is not padded by HPAD and not centered even if CENTREHD is set.
Other changes (headings, menu position, colours, etc.)
You can make a new \_ISO\MyE2B.cfg file by using the E2B_Editor or by making a copy of the \_ISO\Sample_MyE2B.cfg file - see the MyE2B.cfg page for more details.
E2B uses keyword lookup strings which begin with $$STR followed by 4 alphanumeric characters (e.g. $$STR1bhx). To change the existing E2B menu headings or standard menu entries or change the language, please go to the 'Languages' page here.
Sub-Menu heading positions
HEADPOS can be set in the MyE2B.cfg file. If CENTREHD is used, the HEADPOS xx value is set to 0 by E2B.
HPAD is usually automatically calculated by E2B from the rstart value set in MyE2B.cfg and so does not usually need to be set.
e.g. If HEADPOS = 0200 (3rd line down) and rstart=4 (5th column across) then HPAD will be automatically set to '\x20\x20\x20' (i.e. rstart = 3 spaces) - followed by the heading string ('AntiVirus Menu').
HPAD can be set in the MyE2B.cfg file - e.g. set HPAD= \x20 \x20.
Sub-menu headings may start with leading spaces if you wish. If you look in the \_ISO\e2b\grub\ENG\STRINGS.txt language file you will can use entries like:
$$STRm017=AntiVirus Menu \x20
So if you want one Heading to start further to the right, you must add the spaces in the STRINGS.txt headings - e.g.
$$STRm017=\x20 AntiVirus Menu \x20
You should make and change your own STRINGS.txt file (do NOT edit the original E2B files!). see 'Changing the Language'.
All Sub-Menu headings will be automatically centred if CENTREHD has been set in the MyE2B.cfg file.
Changing the filenames that are listed in the menus
By default, payload files (e.g. ISO files, etc.) are listed in the E2B menus by their full filename but without their file extension (set EXTOFF=1).
To force E2B to list the filename+extension, use set EXTOFF= in the MyE2B.cfg file (clears the variable).
If you use set EXTOFF=1 in a \_ISO\MyE2B.cfg file then only the filename will be displayed in the menus (without extension). The filename can be any name you like, E2B will look at the file extension to decide how to boot from it. e.g. a file named \_ISO\MAINMENU\Boot Ubuntu 14.04.iso will appear in the menu as 'Boot Ubuntu 14.04' unless EXTOFF is set.
To change the text of a menu entry and add your own menu help text, make a .txt file of exactly the same name as the payload file:
e.g. for a payload ISO in \_ISO\MAINMENU\fred.iso, you can create a \_ISO\MAINMENU\fred.txt file containing the line...
title This is a menu for Fred\nThis is help text\nThis is a 2nd line of help text
and the 'fred.iso' menu entry will now appear as 'This is a menu for Fred' and the Help text at the bottom of the menu will also be changed. See here for more details.
To do this without having to use a file editor, copy the \_ISO\TXT_Maker.exe or \_ISO\docs\E2B Utilities\E2B TXT Maker.cmd file to your Windows Desktop. Then drag and drop the payload file (.e.g .iso file) and you will be prompted to enter the menu text and help text. A new .txt file will be made on the E2B drive in the same folder as your payload file. You can also define a hotkey for the menu entry.
Using .mnu files
If you use a .mnu file, you can also define the menu entry text and help text and also the grub4dos commands too.
.mnu files contain just grub4dos menu lines that you might find in a normal grub4dos menu.lst file. All .mnu file contents are automatically collated and added into the Easy2Boot menu each time you boot E2B. Save the text file as UTF-8 if you want to display special non-ASCII characters.
.mnu files are typically used for special cases and many example files can be found in the \_ISO\docs\Sample mnu Files folder. Instructions for users are inside each .mnu file (view/edit using Notepad).
Typically, .mnu files and their payload files are placed at the 3rd level (e.g. \_ISO\MAINMENU\MNU). You can use any folder name instead of MNU for the 3rd level folder and you can have many different 3rd level folders or many sub-folders below that. The folder names will be enumerated alphabetically.