Many thanks to Krishna for this idea!
Note: If you want some sub-menus to only be displayed in the Main Menu under certain conditions, see ‘ADMIN Menu’ here.
You can set up your E2B USB drive so that if anyone boots to it, they will just see a ‘Guest Menu’.
The Guest user will not have access to the full E2B Main Menu system or any of the other E2B sub-menus unless they know the password.
You can set a different wallpaper or just use the same background as the Main Menu.
The ‘Guest Menu’ is a menu which lists files in the \_ISO\GUEST folder.
The \_ISO\GUEST folder can contain payload files (e.g. ISOs).
You can also add .mnu files to run payload files that are present in any other folder (e.g. \_ISO\MAINMENU or \_ISO\LINUX\MNU).
You can change the name of the menu and folder to be whatever you like. e.g. If you give it a heading of ‘Easy2Boot Main Menu’, the user will think they are in the normal Main menu!
You can also add sub-menus into the Guest menu. However, if you press a ‘secret key’ before the Guest menu is displayed as E2B boots, it will display the full E2B Main Menu.
Access to the E2B Main Menu can also be password protected instead of or as well as using a ‘secret key’. The user can only get full access to the E2B full menu system, if they know the ‘secret key’ and\or if they know the secret password!
If they don’t know the password or ‘secret key’, then they can only access the ‘Guest Menu’.
See the Sample mnu Files folder for the three example $$$$GUEST.mnu files and pick one of them.
$$$$GUEST_MENU_ESC_PWD.mnu - user must press ESC and then enter correct password or they get Guest menu. $$$$GUEST_MENU_F4.mnu - user must press F4 as menu is loading or just get Guest menu. $$$$GUEST_MENU_PWD.mnu - user is prompted for password on first boot, if wrong they get Guest menu.
To set up Guest Mode
1. Double-click on the \_ISO\docs\E2B Utilities\E2B SUBMENU Maker.cmd file to create a new menu folder and mnu entry called GUEST.
Note: The folder name can be any name (it does not have to be GUEST) but must not contain any spaces!
2. Copy one of the sample \_ISO\docs\Sample mnu files\E2B Menus\$$$$GUEST_MENU_xxxxx.mnu files into the \_ISO\MAINMENU\$$$$CONFIG folder.
3. Copy your payload files into the \_ISO\GUEST folder, and\or create new .mnu files in the \_ISO\GUEST folder, as required.
Example .mnu file that will run an ISO file in the MAINMENU folder…
iftitle [if exist /_ISO/MAINMENU/kali-linux-1.1.0a-amd64.isodefault] kali-linux-1.1.0a-amd64.iso \nRun Kali /%grub%/qrun.g4b /_ISO/MAINMENU/kali-linux-1.1.0a-amd64.isodefault boot
4. If you wish, you can delete the \_ISO\MAINMENU\ZZSubMenu$GUEST.mnu file (if you don’t want to have the Guest Menu also listed in the Main menu)
See my blog post for more details on how to set up Guest Mode and how to add menu entries to run payloads that are already in other folders using a .mnu file.
The sample $$$$GUEST_MENU_xxxx menus use the pwd variable for the password which is set to ‘easy2boot’ by default, but it can be changed in the MyE2B.cfg file – or – you can specify your own password instead of %pwd% in the .mnu file code or use %menupwd% which can be defined in the MyE2B.cfg file.
How to make a Guest Sub-Menu
The Guest menu can contain one or more sub-menus.
To make each Guest sub-menu:
1. Double-click on the \_ISO\docs\E2B Utilities\E2B SUBMENU Maker.cmd file
2. Input the name of the new menu folder you want to create (e.g. GUEST2)
Note: The folder name must not contain any spaces or non-standard characters! e.g. Don’t use GUEST 2 or GUEST (2).
3. Enter the menu Heading and Title and Help text
4. The new .mnu file will be saved in the MAINMENU folder (e.g. \_ISO\MAINMENU\ZZSubMenu$GUEST2.mnu) and the \_ISO\GUEST2 folder will be created.
5. Now copy the new ZZSubMenu$GUEST2.mnu file to the \_ISO\GUEST folder (not the \_ISO\GUEST2 folder)
6. Finally, add a payload file or .mnu file into the empty \_ISO\GUEST2 folder, so that the GUEST2 menu will be visible in the GUEST menu.
7. You can leave the ZZSubMenu$GUEST2.mnu file in the MAINMENU folder if you want to access it from the Main menu, or delete it if you don’t want a sub-menu entry.
Making it more secure
The password may be set in \_ISO\MyE2B.cfg and\or in the $$$$GUEST_MENU_xxxxx.mnu and can be easily read or changed by a user.
You can disguise these files (or any .mnu, .cfg or .txt file) by compressing it. Simply drag-and-drop the file onto the \_ISO\docs\E2B Utilities\LZMA\LZMA_ENCODE.cmd file to compress it.
Use set redir=1 in the MyE2B.cfg file so the user cannot see which files are enumerated by E2B as it boots.
The LZMA_DECODE.cmd will restore the original text file (you can delete this from the E2B drive if you don’t want anyone to use it). 7Zip can also decompress the files too.
However, if the user deletes the .cfg and $$$$GUEST_MENU_xxxxx.mnu file they will get full access anyway!
Tip: You can compress, hide and protect the $$$$GUEST_MENUxxxx.mnu file using the \_ISO\docs\E2B Utilities\Protect\Protect.cmd script (drag-and-drop a file onto it). Protect.cmd sets SYSTEM + HIDDEN attributes, sets File Permissions (NTFS only), and encrypts\compresses the file. Read the ReadMe.txt file to see what Protect.cmd does.
You can also use the Windows attrib command to make the other menu folders (\_ISO\MAINMENU, \_ISO\LINUX, etc.) invisible to the average user (e.g. attrib +s +h \_ISO\MAINMENU).