The Windows utility E2B_Editor.exe, will help you to make a custom menu with your own custom wallpaper.
First, copy an uncompressed .bmp or .jpg wallpaper file onto your E2B USB drive in or under the \_ISO folder (e.g. \_ISO\Mary\Special_800x600.bmp)
Always run E2B_Editor.exe directly from the \_ISO folder on the E2B USB drive.
If you don't have a .cfg file, load the \_ISO\Sample_MyE2B.cfg file directly from the E2B USB drive.
Note: E2B_Editor.exe does not display animations or stamps, or the correct E2B version number and some other special variables (e.g. %day%).
The E2B menus will display the filename extensions unless you tick Other E2B options - No file extensions in menus (EXTOFF=1).
Note: Easy2Boot will only use the new configuration file if it is saved as \_ISO\MyE2B.cfg.
You should find E2B_Editor.exe in the \_ISO folder inside the E2B download or download the latest version from the Alternate Downloads Area.
The description below relates to the latest version.
A Windows system
Display/Monitor - 1152 x 768 pixels or larger monitor (if the vertical height is less than 900 pixels - e.g. 768, then E2Bed will use a borderless version of the GUI).
1024x768 will (just\almost) fit and E2Bed will be usable, 800x600 displays are not suitable!
For the wallpaper graphics file, you will need a 800x600 or 1024x768 24-bit .bmp bitmap file (or a non-progressive .jpg file if using E2B v1.72+) - do not use a compressed .gz file!. Lots of .jpg progressive format wallpapers can be found here (note: Load into MS Paint and re-save as non-progressive .jpg). Tip: 800x600 (4:3) is best - not all systems support 1024x768, e.g. most early netbooks. Copy the wallpaper file to the E2B USB drive\_ISOfolder (or any sub-folder). You can use the \_ISO\Sample_MyBackground.jpg file provided.
E2B_Editor must be run from a writeable drive because it creates temporary files on the same drive.
E2B_Editor should be run from the \_ISO folder on the E2B USB drive - otherwise you will not get the Language and Keyboard boxes populated correctly. The .cfg, .bmp, .jpg and \_ISO\e2b\grub folders should not be marked as 'System' or 'Hidden', so that the Editor can find them on the USB drive.
E2Bed will accept either ASCII or UTF-8 .cfg files and will create UTF-8 .cfg files.
If testing E2B using QEMU or VBOX+VMUB, quit E2B_Editor.exe first, because the VM may make the files on the USB drive inaccessible which will cause E2Bed to display an error.
E2Bed does not support Chinese/Japanese/Persian glyphs - you must edit the .cfg file afterwards using a text editor if you want non-ASCII characters to be saved in the .cfg file for the Main menu heading or footer text.
E2Bed can be used to create a \MyCSM.cfg configuration file for use with the CSM Menu found in .imgPTN files (MPI v0.067+).
If you have a low-res display (e.g. 1024x768) ensure your Windows Display DPI setting is set to the Normal setting (96), otherwise it may not fit on the display and the menu will be out of proportion.
Using the E2B_Editor (E2Bed)
When you first run the E2B_Editor (aka. E2Bed) it will ask you to:
Select a .cfg file (e.g. Sample_MyE2B.cfg or MyE2B.cfg) Normally, you will have aready made a \_ISO\MyE2B.cfg file by copying the \_ISO\Sample_MyE2B.cfg file - however, if you do not have a .cfg file, just select the \_ISO\Sample_MyE2B.cfg file and a new file will be written when saved (either as New_MyE2B.cfg, or MyE2B.cfg if one does not already exist).
Select a wallpaper background .bmp or .jpg file (if not specified in the MyE2B.cfg file) N.B. THE FILE SHOULD BE LOADED DIRECTLY FROM THE E2B USB DRIVE (otherwise the path in the MyE2B.cfg file will be wrong when you save it!)
E2Bed will parse the specified .cfg file for the menu parameters and the Language and Keyboard settings. By default, ENG will be set as the language and no keyboard country will be selected (unless the settings are in the .cfg file).
E2Bed will then populate two listboxes with the languages folders and the keyboard translation KEY_xxxx.g4b files in the X:\_ISO\e2b\grub\ folder (where X: is the same drive as the .cfg file). If you are not running E2Bed from the E2B drive, then it won't be able to populate these listboxes.
E2Bed will look for a 'set MYWBMP=xxxx' entry in the chosen .cfg file and attempt to load the bitmap that is specified. If no file is specified or if the file specified cannot be found, then E2Bed will look for a \_ISO\MyBackground.bmp file (uncompressed). If this cannot be found, then the user will be prompted to select a wallpaper bitmap file.
E2Bed cannot load a compressed .bmp file.
You can load a .jpg file into E2Bed. Note that Progressive jpg files (e.g. SOF2) will load in E2Bed but will not work when you boot to E2B - try re-saving the .jpg using MSPaint if it does not load correctly in E2B.
Note: Only E2B v1.72+ versions and only grub4dos 0.4.6a 2015-08-05 and later versions support .jpg files - so switching to an older version of grub4dos may not load the .jpg file - you can compress .bmp files using the LZMA encoder tool (see below) if you wish, to reduce their size and increase load speed.
Once you have the E2Bed GUI displayed, you can use the E2Bed controls, as follows:
GRID - superimposes a grid over the image
NUMBER - numbers the x and y axes over the image
SHIFT PICTURE UP - shifts up the image window so that it will fit on a low resolution display (e.g. 1360 x 768) - in this mode the HEADING, HELPTEXT, language and keyboard fields will be hidden.
HEADING - this is the text that will be set for the Main Menu heading.. You can use the %@DATE%, %day%, %month%, %year%, %@TIME%,%VER%, %B64%, %SIZE_E2B% and %SIZE_HD1% variables in the text. \xnn can be used for any ASCII character, \Xnnnn can be used for any Unicode character (e.g. \X00DC for Ü). \n can be used to start a new line. Adjust the position using HEADPOS instead or use preceding \x20 strings instead of a space character.
FOOTER HELPTEXT - this is the footer help text that is normally displayed at the bottom of each menu (e.g. Reboot [F9] Power Off [F10]) - but it can be used to display text anywhere on the screen. You can use the %@DATE%, %@TIME%, %day%, %month%, %year%, %VER%, %B64%,%SIZE_E2B%, %SIZE_HD1%and %^LANG%variables in the text. Do not use leading spaces as they will be ignored by E2B (but not by the editor). \xnn can be used for any ASCII character, \Xnnnn can be used for any Unicode character (e.g. \X00DC for Ü). \\n can be used to start a new line.
MENU - these parameters control the position, size and colour of the menu entries
BORDER - these parameters control the colour of the border and the thickness (0-4) of the border
HEADING - these parameters control the position and colour of all menu headings. CENTREHD = 1 will cause all menu headings to be centred over each menu.
Note: E2B will set the X value of HEADPOS to 00 if CENTREHD is set, so use a HEADPOS of YY00.
FOOTER HELPTEXT - these parameters control the position and colour of the footer HELPTEXT text - normally at the bottom of the display but can be anywhere on the screen or even off-screen.
Language listbox - highlight the language that you want E2B to be displayed in (languages folders must be present on the same drive as E2Bed)
Keyboard listbox - highlight the keyboard scancode conversion file that you want E2B to use (kbd files must be present on the same drive as E2Bed)
Other E2B Options - you can select or deselect various advanced configuration options here
(config file path) - click on this to edit or view the current .cfg file in Notepad
(image file path) - click on this text to launch the .bmp file (view\edit) - depends on Windows file association for .bmp on your system
Load Config (*.cfg) - this button will allow you to load a E2B .cfg file (a new bitmap may also be loaded if it is specified in the .cfg file)
Load Bitmap (*.bmp) - this button will allow you to change the wallpaper bitmap without changing the menu parameters - .jpg files can also be loaded.
Save .cfg file - this button will always create a temporary file (MyE2B.tmp) in the same folder as E2Bed.
You will then be asked if you want to update the existing (or new) .cfg file. If you answer 'No' then E2Bed will open the MyE2B.tmp file for you in Notepad. If you answer 'Yes' then E2Bed will:
Backup the old .cfg file into a MyE2B.bak file
Overwrite the old .cfg file with the new values (or make a new file)
Copy all lines that occur after the line containing '-- ADVANCED MENU SETTINGS ---' to the .cfg file. If the special line does not exist, you will be warned.
Open the updated .cfg file in Notepad for you to view and edit if required.
Undo (CTRL+Z) - Restores the most recent menu position change. If you accidentally clicked on the bitmap window and thus moved\resized the menu, this will restore the previous values! It only has a memory depth of only 1 change though - think of it as an 'Oops' button!
Draw a menu box with the mouse
You can use the mouse to draw a menu. Note that the menu border (if enabled) will be drawn around the outside of the menu area that you draw with the mouse. The Undo button (Ctrl-Z) will restore the previous menu size and position.
24-bit colours (e.g. FF00FF)
These must be 6 hexadecimal numbers (0-9, A-F where A=10, B=11, etc.), the first two characters are the Red value, followed by the Green value and then the Blue value (i.e. RRGGBB). Hex value 00 would mean no colour, FF would mean full colour, 80 would mean half-full colour.
000000 is therefore Black. FFFFFF is White, 808080 is grey, FF0000 is Red, 00FF00 is Green, 0000FF is Blue, 00FFFF is Cyan, FFFF00 is Yellow and so on.
Any value between 000001 and 0000FF will automatically have a Green 01 value added by E2Bed, because 24-bit colour values must be greater than 0000FF in order to work correctly with the grubdos color command.
When in graphics mode (i.e. E2B is displaying a bitmap), all grub4dos text will have a transparent background so that the picture can be seen underneath the text. However, the menu highlight text (selected menu item = highlight) and the console text (standard), can display a background colour - e.g.
color highlight=0xFF0000 < this is overridden by the next line
color highlight=cyan/red < foreground/background pair
will display the cyan highlighted menu entry with a red solid bar background behind it.
color highlight=cyan/red < this is overridden by the next line
will display a red (RGB = FF0000) highlighted menu entry with a transparent background (because the background colour is 000000 (0xFF0000 == 0x0000000000FF0000).
You can use a 64-bit value to set both the highlight background colour and the text colour:
color highlight=0x0022222200FFFF00 < yellow 00FFFF00 + background will be 00222222 (v. dark grey/black) - see screenshot below:
Tip - Instead of colour pairs, you can set a hexadecimal foreground/background pair using a value of 255 (0xFF) or less, e.g. color highlight=0x1c will set a light-red text (c) on a blue (1) background.
Note: E2Bed does NOT display a background highlight colour. It always uses a transparent highlight background.
The background colour of the Highlight bar can extend the full width of the menu, or just the length of the menu text by editing the MyE2B.cfg file:
# If you define a highlight background colour (not transparent), make the highlight bar only as long as the text
setmenu --highlight-short > nul
# set full length highlight bar for selected menu item (--highlight-short or --highlight-full)
### setmenu --highlight-full > nul
4-digit colours - HCOLOUR and FCOLOUR (e.g. 0103)
These must be in the format of ABCD where:
A = 0 or 1 where 1 = blink - E2Bed only allows 0 (Note: It won't blnk if using a VM/QEMU).
B = 0 or 1 where 1 = bright/intensity on bit
C = 0-7 background colour (E2Bed only allows 0 = transparent)
D = 0-7 foreground colour
If you click on one of these fields, E2Bed will allow you to choose from 16 colours and will automatically enter the correct value.
Note that Black (0) is treated as 'transparent' by E2B if defined as a background colour.
Tip: If you want some text hidden (e.g. menu help text), then you can use one of the following methods:
Use a rectangle in your bitmap background that is the same colour as your text, so that the text cannot be seen against that area of the background.
- or -
Specify the start position for that text to be outside of the display area - e.g. setting tophelp=37 for a 800x600 bitmap, will place the menu help text off-screen.
Colour name [bIBF] Hex RGB value b=blink, I=Intensity, B=background colour, F=Foreground colour
These must be in the form YYXX, e.g. 3201 will draw the text starting at 32 lines down and 1 character across.
Note: I suggest that HEADPOS normally ends with XX=00 (e.g. 3200) because E2B will pad out the headings assuming they start at offset 0. HEADPOS will affect the Main menu and all Sub-Menu headings.
CENTREHD=1 for centering headings, assumes the HEADPOS XX position is 00.
HBTM is an absolute YYXX position for the FOOTER help text and is not padded out by E2B in any way. It can be used to place text anywhere on the display.
Advanced Menu Settings
E2Bed will look for a special line of text in the source .cfg file - it must contain the string "-- ADVANCED MENU", e.g.
# ----------- ADVANCED MENU SETTINGS ------
all lines below this line will be copied to the new .cfg file when you update it. Any E2B settings that are already supported by E2Bed will be removed before the lines are copied to the new .cfg file.
If you have any special settings, e.g. font or hotkeys, etc. then place them below this special line and they will be preserved when copied over to the new .cfg file.
The Sample_MyE2B.cfg file already contains this special line (v1.65+).
Note: E2B_Editor ignores the hstart and hwidth variables if present in the MyE2B.cfg file. If you have defined these variables, ensure they have been defined below the ADVANCED MENU SETTINGS section of the MyE2B.cfg file.
E2B Options (pwd, EXTOFF, AUTONUM, etc.)
Note: Most of these option checkboxes do not cause the E2B_Editor display to change, but they will add entries to the .cfg file and thus affect E2B when you boot from it. However, the AUTONUM and EXTOFF settings will affect the menu that is displayed by the E2B_Editor.
If you want to disable the grub4dos menu password (pwd) then you must tick the password checkbox before saving the .cfg file.
To override any pwd setting with your own password, place your 'set pwd=mynewpwd' line below the -- ADVANCED MENU SETTINGS -- line.
AUTONUM=0 causes the menu numbering down the left-hand side of the menu to be suppressed/removed.
The checkbox will be automatically ticked if your .cfg file contains 'set AUTONUM=0' or 'set AUTONUM=0x0000'.
I recommend that you do not tick the redir or redirp boxes unless you are an experienced E2B user and have tested all the E2B ISO's, etc. These options will suppress useful user tips, information and warning messages which may help you to fix problems with some 'special' payload files.
Displaying File Extensions in the Menus
If you have no \_ISO\MyE2B.cfg file, E2B will only display the file names in the menus and will not display the file extensions.
However, when you run E2B_Editor, the default will be to show file extensions in the menu (unless you load a .cfg file that has EXTOFF=1).
If you want E2B to show the filenames without their extensions, tick the Other E2B options - EXTOFF=1 checkbox.
Note: The .cfg file may contain more than one 'set' command of the same type:
(some lines here)
The last setting will always be the one to take affect (so no file extensions will be show in the E2B menu, in this example).
Note: As with most variables, EXTOFF=0 is the same as EXTOFF=1 or EXTOFF=99. You must use EXTOFF= to clear the variable if you want to see the file extensions in the menu.
E2Bed will use either a normal Windows form with the usual top border and min/max/exit icons or a borderless form if your display does not have enough resolution for a 1024x768 bitmap.
The borderless Windows GUI form cannot be moved (it will be located at 0,0 which is the top-left of the display).
You cannot resize or maximise the form.
Use the 'SHIFT PICTURE UP' checkbox to move the bitmap to the top of the screen if you don't have a large enough display.
Tip: If you cannot see the Exit button (e.g. on a 800x600 display) - press ALT+X to Exit E2Bed.
Compress the wallpaper bitmap
Once you have the .cfg file working, you can compress the .bmp file to a .gz file (e.g. using 7Zip) or, even better, use LZMA for even greater compression.
To compress a file using LZMA, just drag-and-drop the .bmp file onto the \_ISO\docs\E2B Utilities\LZMA\LZMA_ENCODE.cmd file. It will compress the orginal file but not change it's filename. A backup will be made of the original file which you can choose to delete.
If you wish, you can even compress the .cfg file using the same LZMA_ENCODE.cmd script file!
E2B v1.72+ also will accepted standard (non-progressive) JPEG files which are usually much smaller than .bmp or .bmp.gz files. You can use MSPaint to convert a .bmp file to a .JPG file.
For best image quality, I suggest you always work with .bmp files in your graphics editor. Once you have finished all editing of the .bmp file, you can convert it to a .jpg file using MSPaint- Save As - JPEG.
Note that even though E2B will automatically decompress gzip and LZMA-encoded files, theE2B_Editor can only work with uncompressed files.