Format, partition and make your USB drives bootable with this powerful tool
License: | Freeware |
---|---|
Operating Systems: | Windows 7 (32 bit), Windows 7 (64 bit), Windows 8, Windows Vista (32 bit), Windows Vista (64 bit), Windows XP |
Requirements: | |
Languages: | English, Catalan, Chinese (Simplified), Chinese (Traditional), Danish, Dutch, Finnish, French, German, Indonesian, Italian, Norwegian, Polish, Portuguese (Brazil), Portuguese (Portugal), Russian, Serbian, Spanish, Slovak, Slovenian, Swedish, Turkish |
Software Cost: | Free |
Date Updated: | 28 August 2012 |
---|---|
Watchlist: | Add download to my watchlist |
Downloads To Date: | 10945 |
Developer: | RMPrepUSB |
Buy TuneUp Utilities 2013 for only $29.99, with lifetime license, saving 50% from the RRP, only from store.pcauthority.com.au
Format, partition and make your USB drives bootable with this powerful tool
RMPrepUSB is a tool for working (primarily) with USB keys:
formatting and partitioning them, running speed tests, making the drives
bootable, and more.
The program's interface isn't exactly conventional, and may leave you confused at first, but with a little work you should soon figure things out. If you're formatting the drive, for instance, all you have to do is complete the five numbered steps in the main program window: enter the partition size, then the volume label, choose your preferred boot loader, file system and so on. Then click Prepare Drive and RMPrepUSB will reconfigure the USB key to your specifications.
Other buttons on the right will test the speed of the drive, check its size, or clean it.
And the more you explore, the more options you find. There are tools here to create and restore an image of a USB key; view a key's raw disk sectors; edit a disk's signature; install a different boot loader; run QEMU to test booting from the USB drive, and the list goes on.
RMPrepUSB is actually a graphical front end for the console program which does most of the work, and as a result most of its options don't work quite as you expect. Click Drive > View Drive Information, for instance, and the program will display a sector view of your current disk - but not within RMPrepUSB. Instead, a text file will open with the data you need.
There is still a huge amount of power here, though, and the RMPrepUSB site contains lots of helpful tutorials and guides if you do need more assistance. Just keep in mind that the program provides many different ways to format, wipe and otherwise prepare your keys: use it with extreme caution.
The program's interface isn't exactly conventional, and may leave you confused at first, but with a little work you should soon figure things out. If you're formatting the drive, for instance, all you have to do is complete the five numbered steps in the main program window: enter the partition size, then the volume label, choose your preferred boot loader, file system and so on. Then click Prepare Drive and RMPrepUSB will reconfigure the USB key to your specifications.
Other buttons on the right will test the speed of the drive, check its size, or clean it.
And the more you explore, the more options you find. There are tools here to create and restore an image of a USB key; view a key's raw disk sectors; edit a disk's signature; install a different boot loader; run QEMU to test booting from the USB drive, and the list goes on.
RMPrepUSB is actually a graphical front end for the console program which does most of the work, and as a result most of its options don't work quite as you expect. Click Drive > View Drive Information, for instance, and the program will display a sector view of your current disk - but not within RMPrepUSB. Instead, a text file will open with the data you need.
There is still a huge amount of power here, though, and the RMPrepUSB site contains lots of helpful tutorials and guides if you do need more assistance. Just keep in mind that the program provides many different ways to format, wipe and otherwise prepare your keys: use it with extreme caution.
Verdict:
A powerful, if complex tool for formatting, making bootable and otherwise working with USB keysE2B Upgrade Package available
If anyone has made a PayPal donation to me for E2B or has contributed to
its development, I would like to reward them with the E2B Upgrade
Package. This is currently at v1.01 and the idea is that any further
developments of E2B will go into this Upgrade Package.
The first version is v1.01 and will modify E2B so it lists the menus in alphabetical (alphanumeric) order.
So all you need to do is rename your ISOs to re-arrange the listing order, e.g.
_1fred.iso
_2doris.iso
_3george.iso
_4debian.iso
_5plop.iso
etc.
To have nice titles, just make a .txt file for them, e.g.:
_1fred.txt
=======
If you have any .mnu files, you can also cause their entries to be listed in sequence too, just by changing the name of the .mnu file - e.g. _1Ubuntu_with_Persistence.mnu would be listed before the other .mnu entries. You can even rename the SubMenuxxxxx.mnu files in the MainMenu folder to change the order they are listed in.
The first version is v1.01 and will modify E2B so it lists the menus in alphabetical (alphanumeric) order.
So all you need to do is rename your ISOs to re-arrange the listing order, e.g.
_1fred.iso
_2doris.iso
_3george.iso
_4debian.iso
_5plop.iso
etc.
To have nice titles, just make a .txt file for them, e.g.:
_1fred.txt
=======
title This runs fred direct from the iso \n This is help text for fred
If you have any .mnu files, you can also cause their entries to be listed in sequence too, just by changing the name of the .mnu file - e.g. _1Ubuntu_with_Persistence.mnu would be listed before the other .mnu entries. You can even rename the SubMenuxxxxx.mnu files in the MainMenu folder to change the order they are listed in.
Wednesday, 19 June 2013
Easy2Boot v1.00 now 'officially' released!
I have decided to release E2B now as v1.00. It is virtually identical to
the last BETA (just a few changes to the colour syntax in E2B.cfg as
grub4dos now supports names for the color command - e.g. color
normal=blue/light-blue, but I have left the old colour variable
definitions in so older MyE2B.cfg files will still work.
Now it is officially released, I suppose I can expect a flood of bug reports (as this always seems to be what happens when people are afraid to try beta s/w)!
Now it is officially released, I suppose I can expect a flood of bug reports (as this always seems to be what happens when people are afraid to try beta s/w)!
Friday, 14 June 2013
Monday, 10 June 2013
RMPrepUSB v2.1.707
I have added David B's great new utility Start_VM.exe to this version.
Start_VM.exe automagically dismounts the USB drive before running QEMU - this allows QEMU to have full write access to the USB drive. This means that any writes which are made to the USB drive under grub4dos or an OS booted to via grub4dos will actually work and the sectors on the USB drive will be permanently changed. For instance the default command will work in this mode as data will be written to the \default file or linux with persistence will work. This mode will now be the 'standard' mode for all future RMPrepUSB versions as it gives full rd/wr emulation capabilities and more reliable OS booting!
So v2.1.707 and later versions now have two different QEMU boot from USB drive options:
F11 - boot from USB drive but now with full read/write access (but the host Windows OS will not be able to access the drive whilst QEMU is running).
Ctrl+Shift+F11 - boot from USB drive in 'snapshot' mode. This used to be the default action in previous versions of RMPrepUSB (used to be F11). This mode is still useful if you want to be able to modify files on the USB drive whilst QEMU is running because the USB drive is not dismounted. This allows you to make simple changes (e.g. colour or menu position) and reload the menu whilst still running in the QEMU session and so this mode is still useful in some cases.
Start_VM.exe automagically dismounts the USB drive before running QEMU - this allows QEMU to have full write access to the USB drive. This means that any writes which are made to the USB drive under grub4dos or an OS booted to via grub4dos will actually work and the sectors on the USB drive will be permanently changed. For instance the default command will work in this mode as data will be written to the \default file or linux with persistence will work. This mode will now be the 'standard' mode for all future RMPrepUSB versions as it gives full rd/wr emulation capabilities and more reliable OS booting!
So v2.1.707 and later versions now have two different QEMU boot from USB drive options:
F11 - boot from USB drive but now with full read/write access (but the host Windows OS will not be able to access the drive whilst QEMU is running).
Ctrl+Shift+F11 - boot from USB drive in 'snapshot' mode. This used to be the default action in previous versions of RMPrepUSB (used to be F11). This mode is still useful if you want to be able to modify files on the USB drive whilst QEMU is running because the USB drive is not dismounted. This allows you to make simple changes (e.g. colour or menu position) and reload the menu whilst still running in the QEMU session and so this mode is still useful in some cases.
Sunday, 9 June 2013
E2B BETA30 v9 available
This version allows you to have a standard text-mode menu (if you really want!)
See here for details of the change.
See here for details of the change.
Saturday, 8 June 2013
E2B BETA30 V8 now available
I have changed the menu headings and menu footer code slightly.
Now you do not need to change the padding if you change the menu box position as it is automatically calculated.
e.g. in MyE2B.cfg you may have had a heading for the main menu of:
set HEADING=\x20 EASY2BOOT V1 - MAIN MENU (%VER%) \x20
Now you do not need to change the padding if you change the menu box position as it is automatically calculated.
e.g. in MyE2B.cfg you may have had a heading for the main menu of:
set HEADING=\x20 EASY2BOOT V1 - MAIN MENU (%VER%) \x20
but if you moved the menu box to the middle of the screen, you would
have had to pad all the menu text so it sits above the menu box:
e.g.
set HEADING=\x20 EASY2BOOT V1 - MAIN MENU (%VER%) \x20
You no longer have to do this as the spaces will be added automatically as now it is padded out by the code which looks at the rstart value for the border setting that you use in your MyE2B.cfg file.
This padding (%HPAD%) is applied to all headings and footers.
I have also added a new sample 'theme' called 'Aliums' as shown below:
Wednesday, 5 June 2013
PassPass for E2B now available
PassPass
by Holmes.Sherlock, Wonko et al. at reboot.pro is a grub4dos batch file
which can be used to permanently patch or unpatch a Windows dll file
(msv1_0.dll) on a hard disk by booting from a grub4dos USB drive (or
CD). Once patched, any password will be accepted for a Windows User
account, thus allowing anyone access to any Windows system (XP ->
Win7 tested so far, Win8 is in Alpha test status).
Details can be found here on the reboot.pro forum.
The files required should be copied to either the \_ISO\UTILITIES\Utility folder or the \_ISO\MAINMENU\Utility folder of your E2B drive. The PPass.g4b file has been modified specifically for E2B, it cannot be used as a standalone grub4dos batch file.
Once you have gained access, remember to run it again to Unpatch the dll or you will have no security!
P.S. WARNING: Make a backup of the DLL first! If you want to test this on your office/home system, you may find that the login credentials will be reset for some applications after unPatching - in particular, DropBox credentials may be lost and you will need to re-login and re-synchronise all DropBox files and folders! Therefore it is best to test this on 'test' system rather than your main PC!
P.P.S latest version can backup and restore the dll to \PassPass.bak on your USB boot disk. This allows you to test the patch/unpatch operations and then restore the dll afterwards so if you patch and then unpatch, the MD5 hash should be the same as before - if not you can use the Restore function.
1. Check MD5 of msv1_0.dll and run PassPass Backup from E2B
2. Run PassPass Patch
3. Boot and test the no pwd is required
4. Run PassPass UnPatch - Check MD5 of msv1_0.dll
5. If different, report it as a bug and then restore the original file and check MD5 of msv1_0.dll again
Details can be found here on the reboot.pro forum.
The files required should be copied to either the \_ISO\UTILITIES\Utility folder or the \_ISO\MAINMENU\Utility folder of your E2B drive. The PPass.g4b file has been modified specifically for E2B, it cannot be used as a standalone grub4dos batch file.
Once you have gained access, remember to run it again to Unpatch the dll or you will have no security!
P.S. WARNING: Make a backup of the DLL first! If you want to test this on your office/home system, you may find that the login credentials will be reset for some applications after unPatching - in particular, DropBox credentials may be lost and you will need to re-login and re-synchronise all DropBox files and folders! Therefore it is best to test this on 'test' system rather than your main PC!
P.P.S latest version can backup and restore the dll to \PassPass.bak on your USB boot disk. This allows you to test the patch/unpatch operations and then restore the dll afterwards so if you patch and then unpatch, the MD5 hash should be the same as before - if not you can use the Restore function.
1. Check MD5 of msv1_0.dll and run PassPass Backup from E2B
2. Run PassPass Patch
3. Boot and test the no pwd is required
4. Run PassPass UnPatch - Check MD5 of msv1_0.dll
5. If different, report it as a bug and then restore the original file and check MD5 of msv1_0.dll again
New RMPrepUSB with QEMU write access
If you ran QEMU from RMPrepUSB, it used snapshot mode which meant that
writes to the USB drive did not actually write to the USB. This meant
that any grub4dos command like dd, echo > (bd)/xxx, default, cat
--replace=, write, etc, which wrote to the USB drive did not actually
work.
DavidB (from reboot.pro) has made two extremely useful apps which allow QEMU and Oracle VBox to run from a USB drive with full rd/wr access.
I have updated the QEMU cmd file in RMPrepUSB to use this new utility and now we can boot from a USB drive with full rd/wr access from RMPrepUSB v2.1.706QEMUw!
Details of DavidB's new utility can be found here and the latest version of the utility for both QEMU and Oracle VBox here. To learn how to use it with VBox (much faster than QEMU!) please read Tutorial 4.
The new version of RMPrepUSB is on the Beta download page here (only the QEMU .cmd file has changed).
DavidB (from reboot.pro) has made two extremely useful apps which allow QEMU and Oracle VBox to run from a USB drive with full rd/wr access.
I have updated the QEMU cmd file in RMPrepUSB to use this new utility and now we can boot from a USB drive with full rd/wr access from RMPrepUSB v2.1.706QEMUw!
Details of DavidB's new utility can be found here and the latest version of the utility for both QEMU and Oracle VBox here. To learn how to use it with VBox (much faster than QEMU!) please read Tutorial 4.
The new version of RMPrepUSB is on the Beta download page here (only the QEMU .cmd file has changed).
Sunday, 2 June 2013
Monday, 27 May 2013
Beta30 v5 now available - full release soon - please try this version!
Only minor changes in this version:
Please let me know of anything that is wrong or could be improved in this version. I will release it as the official full release after 1 week of no bug reports or changes.
- XP Step 1 install now loads the ISO into memory - this may prevent BSOD on some systems.
- Updated grub4dos version
- Updated some readme and help htm files.
- Added E2B stamp to the background.
Please let me know of anything that is wrong or could be improved in this version. I will release it as the official full release after 1 week of no bug reports or changes.
Wednesday, 22 May 2013
Easy2Boot BETA 30 v4
This version of BETA30 should be the same as v3, except with this version you can turn an E2B USB drive into a bootable ISO.
Don't get too excited though because many things won't work!
Windows XP via WinPE installs and Win8/SVR2012 installs won't work (Vista/7 and XP step1/2 may work but I have not tested them!).
Many linux ISO won't work unless you use a .mnu file which has special cheat codes in it - this is because I can't use the partnew command on a CD!
WARNING! If you try to use the partnew command in any of your .mnu files, it could wipe a partition on the internal hard disk that you boot the CD/DVD on!
WARNING!!!: If you have used any of the old sample .mnu files for linux ISO's - remove them before you boot from the E2B CD!!!! These .mnu files will wipe the 4th partition of your hard disk without warning if you boot from an E2B CD/DVD!!!!!
I have modified the Sample .mnu files now so they just abort if you try to use them on a CD.
Simple ISOs like KonBoot, or plpbt or WinPE ISOs will work though. Hirens Mini XP will work if you use an extension of .isomem (.isoWinvH does not fully work).
The CD\DVD that you make will also support FASTLOAD so it does not have to enumerate all the ISOs each time it boots.
Here is what you need to do to turn your E2B Flash memory stick into a bootable CD/DVD:
1. Make a USB Flash drive (or USB HDD) with BETA30 v4 or later
2. Add your payload files and test as normal
3. (optional) If you want FASTLOAD enabled on your final CD/DVD then copy FASTLOAD.YES to the root of the USB drive
4. (optional) If you have FASTLOAD enabled, boot the USB drive on a real system. Then reboot it to check that it loads the menu from cache correctly.
5. Run RMPrepUSB and select the USB drive - then type Ctrl+M (File - Make grub4dos ISO from drive). This will make a bootable ISO.
6. (optional) Test the ISO using RMPrepUSB Ctrl+F11 (File - Boot from ISO using QEMU Emulator)
7. Burn your ISO (or copy it to a Zalman ZM VE-200/300/400 or IsoStick for testing).
BETA30 v4 is available at the bottom of the Tutorial 72a page.
Don't get too excited though because many things won't work!
Windows XP via WinPE installs and Win8/SVR2012 installs won't work (Vista/7 and XP step1/2 may work but I have not tested them!).
Many linux ISO won't work unless you use a .mnu file which has special cheat codes in it - this is because I can't use the partnew command on a CD!
WARNING! If you try to use the partnew command in any of your .mnu files, it could wipe a partition on the internal hard disk that you boot the CD/DVD on!
WARNING!!!: If you have used any of the old sample .mnu files for linux ISO's - remove them before you boot from the E2B CD!!!! These .mnu files will wipe the 4th partition of your hard disk without warning if you boot from an E2B CD/DVD!!!!!
I have modified the Sample .mnu files now so they just abort if you try to use them on a CD.
Simple ISOs like KonBoot, or plpbt or WinPE ISOs will work though. Hirens Mini XP will work if you use an extension of .isomem (.isoWinvH does not fully work).
The CD\DVD that you make will also support FASTLOAD so it does not have to enumerate all the ISOs each time it boots.
Here is what you need to do to turn your E2B Flash memory stick into a bootable CD/DVD:
1. Make a USB Flash drive (or USB HDD) with BETA30 v4 or later
2. Add your payload files and test as normal
3. (optional) If you want FASTLOAD enabled on your final CD/DVD then copy FASTLOAD.YES to the root of the USB drive
4. (optional) If you have FASTLOAD enabled, boot the USB drive on a real system. Then reboot it to check that it loads the menu from cache correctly.
5. Run RMPrepUSB and select the USB drive - then type Ctrl+M (File - Make grub4dos ISO from drive). This will make a bootable ISO.
6. (optional) Test the ISO using RMPrepUSB Ctrl+F11 (File - Boot from ISO using QEMU Emulator)
7. Burn your ISO (or copy it to a Zalman ZM VE-200/300/400 or IsoStick for testing).
BETA30 v4 is available at the bottom of the Tutorial 72a page.
E2B BETA30 v3 - AUTO folder is back!
I have re-instated the \_ISO\AUTO folder!
If you populate it with payload files (e.g. ISOs) and .txt files (optional) then you will see the DIRECT BOOT Menu appear in the Main menu.
You can have sub-folders under a \_ISO\AUTO and all payload files will all be listed in the DIRECT BOOT menu.
Another small change: Hotkeys for SubMenus such as BACKUP, ANTIVIRUS, etc. now are all Ctrl+ combinations.
If you populate it with payload files (e.g. ISOs) and .txt files (optional) then you will see the DIRECT BOOT Menu appear in the Main menu.
You can have sub-folders under a \_ISO\AUTO and all payload files will all be listed in the DIRECT BOOT menu.
Another small change: Hotkeys for SubMenus such as BACKUP, ANTIVIRUS, etc. now are all Ctrl+ combinations.
Tuesday, 21 May 2013
Monday, 20 May 2013
E2B BETA30 re-uploaded
Just some small changes have been made as the P, C, E and B keys are
used by grub4dos so these need to be kept free. So I have used Ctrl+B
and Ctrl+W for the Backup and WinPE hotkeys now. Please re-download and
overwrite current files to refresh your USB drive. I have not bothered
to change the version number as the changes are very small.
Easy2Boot BETA30 v1 now available
I have deleted the AUTO and MNU folders and menu entries.
Instead you have some-predefined Main menu folders. If you place a payload file inside one of the folders then that folder will appear in the Main menu. BACKUP_LINUX and UTILITIES_MEMTEST are sub-menus of the BACKUP and UTILITIES folder.
ANTIVIRUS
BACKUP
BACKUP_LINUX
docs
DOS
e2b
FASTLOAD.YES
FASTLOAD_Read_Me.txt
LINUX
MAINMENU
ReadMe.txt
Sample_MyE2B.cfg
UTILITIES
UTILITIES_MEMTEST
WINDOWS
WINPE
If you just download the BETA30 and make a new USB drive, you will see that BACKUP, DOS and UTILITIES will be listed, but not the other folders (WINPE, LINUX, ANTIVIRUS) as they are empty.
The UTILITIES menu has a Plop ISO and also a sub-menu entry for MEMORY TEST programs. The UTILITIES_MEMTEST folder contains memtest86+.
The DOS menu just has a FreeDos bootable floppy disk image.
The BACKUP menu is currently empty but it is displayed because there is a sub-menu .mnu file in it of Backup_Linux.mnu. So if you add some payload files to the \_ISO\BACKUP_LINUX folder, then the Linux sub-menu will be listed.
All these examples have hotkey's assigned, so if you are using GFXMenu, you will need to remove the hotkey text from each of the SubMenuXXXX.mnu files in the \_ISO\MAINMENU folder. I assume that if you are experienced with GFXMenu then you will know how to do this!
I hope this new menu system is easier to understand and you can easily add more sub-folders by just copying an existing SubMenuXXXX.mnu file.
The new BETA30 download is here.
Note that because the .mnu files are enumerated in a semi-random order, the order of each entry in the Main menu cannot be pre-set or pre-determined. If you want the Main menu ordered in a different way, then you need to combine all of the SubMenuXXX.mnu files with the MAINMENU.mnu file to make a MyMainMenu.mnu file and then delete the old .mnu files.
Instead you have some-predefined Main menu folders. If you place a payload file inside one of the folders then that folder will appear in the Main menu. BACKUP_LINUX and UTILITIES_MEMTEST are sub-menus of the BACKUP and UTILITIES folder.
ANTIVIRUS
BACKUP
BACKUP_LINUX
docs
DOS
e2b
FASTLOAD.YES
FASTLOAD_Read_Me.txt
LINUX
MAINMENU
ReadMe.txt
Sample_MyE2B.cfg
UTILITIES
UTILITIES_MEMTEST
WINDOWS
WINPE
If you just download the BETA30 and make a new USB drive, you will see that BACKUP, DOS and UTILITIES will be listed, but not the other folders (WINPE, LINUX, ANTIVIRUS) as they are empty.
The UTILITIES menu has a Plop ISO and also a sub-menu entry for MEMORY TEST programs. The UTILITIES_MEMTEST folder contains memtest86+.
The DOS menu just has a FreeDos bootable floppy disk image.
The BACKUP menu is currently empty but it is displayed because there is a sub-menu .mnu file in it of Backup_Linux.mnu. So if you add some payload files to the \_ISO\BACKUP_LINUX folder, then the Linux sub-menu will be listed.
All these examples have hotkey's assigned, so if you are using GFXMenu, you will need to remove the hotkey text from each of the SubMenuXXXX.mnu files in the \_ISO\MAINMENU folder. I assume that if you are experienced with GFXMenu then you will know how to do this!
I hope this new menu system is easier to understand and you can easily add more sub-folders by just copying an existing SubMenuXXXX.mnu file.
The new BETA30 download is here.
Note that because the .mnu files are enumerated in a semi-random order, the order of each entry in the Main menu cannot be pre-set or pre-determined. If you want the Main menu ordered in a different way, then you need to combine all of the SubMenuXXX.mnu files with the MAINMENU.mnu file to make a MyMainMenu.mnu file and then delete the old .mnu files.
Easy2Boot - all change for BETA30!
OK. I have pretty much decided to drop the AUTO and MNU folders and just use a few new folders for BETA30
So I will include as standard Main Menu entries (if there is a file in the folder):
LINUX
UTILITIES
ANTIVIRUS
BACKUP
WINPE
and UTILITIES will also have a sub-sub-menu of MEMTEST for an example of how to make a sub-sub-menu.
So the user can select Utilities from the Main menu,and then select
Memtest from the Utilities menu and then the Memtest menu will list all
the memory test utilities that the user has put there.
so the folder structure will look like this:
\_ISO\E2B
\_ISO\WINDOWS
\_ISO\MAINMENU
\_ISO\LINUX
\_ISO\ANTIVIRUS
\_ISO\BACKUP
\_ISO\WINPE
\_ISO\ANTIVIRUS
\_ISO\BACKUP
\_ISO\WINPE
\_ISO\UTILITIES
\_ISO\UTILITIES_MEMTEST
and the \_ISO\MAINMENU folder will also now contain the .mnu files for these:
\_ISO\MAINMENU\SubMenuLinux.mnu
\_ISO\MAINMENU\SubMenuAntiVirus.mnu
\_ISO\MAINMENU\SubMenuBackup.mnu
\_ISO\MAINMENU\SubMenuWinPE.mnu
\_ISO\MAINMENU\SubMenuUtilities.mnu
and for the sub-sub-menu, I will include the .mnu file...
\_ISO\UTILITIES\Utilities_MemTest.mnu
Users can copy these .mnu files or change them to have their own
MainMenu 'folders' and edit the text for their own language or
add/change hotkeys.
Please let me know if you have any strong objections ASAP!
Sunday, 19 May 2013
Easy2Boot - adding extra folders
If you want to create sub-folder entries in the Main menu, e.g. have
sub-menus for say Backup, Utilities, Linux, Hirens ISOs, DOS images,
BIOS update images, Diagnostics, etc. you can add all of these to the
Main menu by adding a .mnu file for each one (but you will need to edit a
few lines!).
Hotkeys can also be assigned to these entries.
The instructions on how to do this are now in Tutorial 72a and the required Example_Backup.mnu file is in the latest (refreshed) BETA29V11 download (just re-uploaded!).
This example BACKUP menu entry leads to another menu which will list all payload/.mnu files under \_ISO\BACKUP.
You can even nest these menus and have sub-sub-menus, etc. etc. etc.
Hotkeys can also be assigned to these entries.
The instructions on how to do this are now in Tutorial 72a and the required Example_Backup.mnu file is in the latest (refreshed) BETA29V11 download (just re-uploaded!).
This example BACKUP menu entry leads to another menu which will list all payload/.mnu files under \_ISO\BACKUP.
You can even nest these menus and have sub-sub-menus, etc. etc. etc.
Saturday, 18 May 2013
E2B BETA29 v11 now available!
- minor changes to menus - re-worded to look better
- Fix [L] appearing in GFXMenu for List PCI devices
- Fix selecting blank menu entry in GFXMenu causes reversion to text mode menu
- hotkey utility changed to latest version (old one caused keyboard problems)
- ubuntu with persistence .mnu sample file added
- Tails HDD .mnu sample file added (needed to boot Tails from USB HDD - not needed if booting from Flash drive)
Please update to this version (overwrites 5 or 6 files only).
Thanks to halikus for bug spotting and suggestions!
Friday, 17 May 2013
Booting Ubuntu 12.10/13.04 with persistence from an NTFS USB drive
Grub4dos booting of Ubuntu with persistence from an ISO is fairly easy
if you use a FAT32 USB boot drive. You just add the keyword 'persistent'
into the command line and set the iso-scan/filename= to the name of the
iso and create your ext2 casper-rw in the root using RMPrepUSB:
However. when I tried this from my Easy2Boot USB hard drive, it booted fine, but persistence would not work.
The reason for this is that my USB hard drive was formatted as NTFS.
Many Ubuntu versions will not mount a casper-rw persistent file automatically if it is on an NTFS volume.
As you may know, Easy2Boot uses the trick of using the grub4dos partnew command to map a spare partition entry to an ISO file. In this way, nearly all linux ISOs can be directly booted from with Easy2Boot (without needing the iso-scan/filename=xxx.iso cheat code).
Well, we can use the same trick to map the casper-rw file to an empty partition too!
Even better, we can rename the casper-rw file because linux will look for a volume name of casper-rw first before it looks for a file called casper-rw and put the file anywhere we like on the boot drive! This means we can have 2 or more different versions of linux ISOs (e.g. Ubuntu 12.04, 11.01, 11.10 and 12.10) all on the same multiboot USB drive and all using different 'casper-rw' files!
The grub4dos menu for this is fairly simple too (a simplified version with no checks is shown below):
title Ubuntu-12.10-desktop-i386 PERSISTENT
partnew (hd0,2) 0x0 /ubuntu1210-rw
partnew (hd0,3) 0x0 /ubuntu-12.10-desktop-i386.iso
map /ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
initrd /casper/initrd.lz
However, I have added some checks to make sure we do not trash the 3rd partition (I don't check the 4th partition in this menu, Easy2Boot already checks that the 4th partition is free when it boots) and made an Easy2Boot Ubuntu.12.10.mnu file for Ubuntu as follows:
# Make a \casper-rw ext2 file using RMPrepUSB in the root of the drive (MUST be made as casper-rw)
# Rename the file to \Ubuntu1210-rw
# Place this .mnu file and the Ubuntu ISO in either \_ISO\MainMenu\Linux or \_ISO\MNU\Linux
# This menu will work even on an NTFS USB boot drive
iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso] Ubuntu ubuntu-12.10-desktop-i386 PERSISTENT\n Boot using .mnu file with persistence
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (hd0,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE ENTRY 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist (bd)/ubuntu1210-rw echo WARNING: /ubuntu1210-rw persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)/ubuntu1210-rw
errorcheck on
#map ptn 4 to ISO
partnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso
map (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
initrd /casper/initrd.lz
This should work for most versions of Ubuntu.
For 13.04 x64 you need to load the /casper/vmlinuz.efi kernel:
iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso] Ubuntu 13.04 Persistent\n Boot using .mnu file with persistence - assumes we have a casper-rw ext2/3/4 partition
partnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso
map (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- persistent
initrd /casper/initrd.lz
E2B .mnu file (using ext2 /ubuntu1304-rw file)iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso] Ubuntu 13.04 PERSISTENT\n Boot using .mnu file with persistence
set ISO=%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso
set PF=/ubuntu1304-rw
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (hd0,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist (bd)%PF% echo WARNING: %PF% persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)%PF%
errorcheck on
#map ptn 4 to ISO
partnew (hd0,3) 0x0 (bd)%ISO%
map (bd)%ISO% (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper persistent noeject noprompt quiet splash --
initrd /casper/initrd.lz
Once you have booted to Ubuntu you can change the Desktop wallpaper or create a file on the Desktop and it should still be there when you reboot.
Whilst in Ubuntu, here are a few things you can try:
In the Desktop - click on your USB drive (listed in left-hand panel) to view the contents
CTRL+ALT+F1 - go to command shell
ls /media
if /media/ubuntu is not listed type:sudo mkdir /media/ubuntu - now switch back to the Desktop GUI (ctrl+alt+F7) and can now browse your USB drive to mount it (this is a bug in the x86 liveCD!) - now press CTRL+Alt+F1 again.
ls /media/ubuntu/ - should see your USB drive listed (e.g. WDPassPort)
CTRL+ALT+F7 - return to Desktop GUI
mount -l - lists mounted volumes
df -h - should see /cow persistent ptn listed (doesn't mean it is working though!)
To make a new 2GB ext4 file:
cd /media/ubuntu/WDPassPort
rm casper-rw
rm casper-rw ubuntu1210-rw
dd if=/dev/zero of=casper-rw bs=1M count=2048
mkfs.ext4 -F casper-rw
mv casper-rw ubuntu1210-rw
As I am not a 'linux' person and don't own any sandals, please correct me if any of the linux commands are not accurate!
Hope you find this useful!
title Try Ubuntu without installing
find --set-root /ubuntu-12.10-desktop-i386.iso
map /ubuntu-12.10-desktop-i386.iso (0xff) || map --mem /ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed noprompt boot=casper persistent iso-scan/filename=/ubuntu-12.10-desktop-i386.iso quiet splash --
initrd /casper/initrd.lz
The reason for this is that my USB hard drive was formatted as NTFS.
Many Ubuntu versions will not mount a casper-rw persistent file automatically if it is on an NTFS volume.
As you may know, Easy2Boot uses the trick of using the grub4dos partnew command to map a spare partition entry to an ISO file. In this way, nearly all linux ISOs can be directly booted from with Easy2Boot (without needing the iso-scan/filename=xxx.iso cheat code).
Well, we can use the same trick to map the casper-rw file to an empty partition too!
Even better, we can rename the casper-rw file because linux will look for a volume name of casper-rw first before it looks for a file called casper-rw and put the file anywhere we like on the boot drive! This means we can have 2 or more different versions of linux ISOs (e.g. Ubuntu 12.04, 11.01, 11.10 and 12.10) all on the same multiboot USB drive and all using different 'casper-rw' files!
The grub4dos menu for this is fairly simple too (a simplified version with no checks is shown below):
title Ubuntu-12.10-desktop-i386 PERSISTENT
partnew (hd0,2) 0x0 /ubuntu1210-rw
partnew (hd0,3) 0x0 /ubuntu-12.10-desktop-i386.iso
map /ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
initrd /casper/initrd.lz
However, I have added some checks to make sure we do not trash the 3rd partition (I don't check the 4th partition in this menu, Easy2Boot already checks that the 4th partition is free when it boots) and made an Easy2Boot Ubuntu.12.10.mnu file for Ubuntu as follows:
# Make a \casper-rw ext2 file using RMPrepUSB in the root of the drive (MUST be made as casper-rw)
# Rename the file to \Ubuntu1210-rw
# Place this .mnu file and the Ubuntu ISO in either \_ISO\MainMenu\Linux or \_ISO\MNU\Linux
# This menu will work even on an NTFS USB boot drive
iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso] Ubuntu ubuntu-12.10-desktop-i386 PERSISTENT\n Boot using .mnu file with persistence
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (hd0,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE ENTRY 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist (bd)/ubuntu1210-rw echo WARNING: /ubuntu1210-rw persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)/ubuntu1210-rw
errorcheck on
#map ptn 4 to ISO
partnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso
map (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
initrd /casper/initrd.lz
This should work for most versions of Ubuntu.
For 13.04 x64 you need to load the /casper/vmlinuz.efi kernel:
iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso] Ubuntu 13.04 Persistent\n Boot using .mnu file with persistence - assumes we have a casper-rw ext2/3/4 partition
partnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso
map (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- persistent
initrd /casper/initrd.lz
E2B .mnu file (using ext2 /ubuntu1304-rw file)iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso] Ubuntu 13.04 PERSISTENT\n Boot using .mnu file with persistence
set ISO=%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso
set PF=/ubuntu1304-rw
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (hd0,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist (bd)%PF% echo WARNING: %PF% persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)%PF%
errorcheck on
#map ptn 4 to ISO
partnew (hd0,3) 0x0 (bd)%ISO%
map (bd)%ISO% (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper persistent noeject noprompt quiet splash --
initrd /casper/initrd.lz
Once you have booted to Ubuntu you can change the Desktop wallpaper or create a file on the Desktop and it should still be there when you reboot.
Whilst in Ubuntu, here are a few things you can try:
In the Desktop - click on your USB drive (listed in left-hand panel) to view the contents
CTRL+ALT+F1 - go to command shell
ls /media
if /media/ubuntu is not listed type:sudo mkdir /media/ubuntu - now switch back to the Desktop GUI (ctrl+alt+F7) and can now browse your USB drive to mount it (this is a bug in the x86 liveCD!) - now press CTRL+Alt+F1 again.
ls /media/ubuntu/ - should see your USB drive listed (e.g. WDPassPort)
CTRL+ALT+F7 - return to Desktop GUI
mount -l - lists mounted volumes
df -h - should see /cow persistent ptn listed (doesn't mean it is working though!)
To make a new 2GB ext4 file:
cd /media/ubuntu/WDPassPort
rm casper-rw
rm casper-rw ubuntu1210-rw
dd if=/dev/zero of=casper-rw bs=1M count=2048
mkfs.ext4 -F casper-rw
mv casper-rw ubuntu1210-rw
As I am not a 'linux' person and don't own any sandals, please correct me if any of the linux commands are not accurate!
Hope you find this useful!
Thursday, 16 May 2013
Easy2Boot BETA29 v10!
Same as v9 but I have moved the [xx] characters to the end of the line.
I did not understand how to use the hotkey function properly
^L means a hotkey of L but don't show the ^L
[L] means a hotkey of L but show [L]
The examples given were badly chosen! The exampes were
^F10
[L]
So I thought ^ meant it was a Function key !
Anyway, now we can have hotkeys and the menu looks (almost) the same as before!
I did not understand how to use the hotkey function properly
^L means a hotkey of L but don't show the ^L
[L] means a hotkey of L but show [L]
The examples given were badly chosen! The exampes were
^F10
[L]
So I thought ^ meant it was a Function key !
Anyway, now we can have hotkeys and the menu looks (almost) the same as before!
Easy2Boot BETA29 v9 with menu hotkey support
v9 now has hotkeys for some menu items (e.g. press W and you go straight
to the Windows Install menu). F8 will always take you back to the main
menu (or fully reload if you are already in the main menu).
F7 Boot to first HDD
F8 Main Menu
F9 Reboot
F10 Power off
W Windows Install
D Direct Boot menu
S Special menu
Hotkeys don't work in gfxmenu.
Let me know if you like it or prefer no hotkeys as in v8.
If you would prefer the [F8] to be at the end of the line, this can be done.
P.S. Now done in v10!
F7 Boot to first HDD
F8 Main Menu
F9 Reboot
F10 Power off
W Windows Install
D Direct Boot menu
S Special menu
Hotkeys don't work in gfxmenu.
Let me know if you like it or prefer no hotkeys as in v8.
If you would prefer the [F8] to be at the end of the line, this can be done.
P.S. Now done in v10!
Easy2Boot v1 BETA29 v8 now available with gfxmenu support
For those of you that don't like the nice and practical grub4dos
splashimage menu in Easy2Boot and think it looks 'naff', please download
and try v8 (bottom of page)! Now you can add your own gfxmenu file so
please don't complain about the menu again - if you don't like it then
you can change it yourself (there is a gfxmenu tutorial on my site)!
To test out gfxmenu with Easy2Boot, just rename the \_ISO\GFXMyE2B.cfg file to MyE2B.cfg to try out the gfxmenu system (it uses the \_ISO\message file).
It has some disadvantages like
1. Drops back to the textmode grub4dos menu if any error encountered
2. No titles at the top of the menus
3. Cannot set default menu entry or timeout
4. Cannot show number of files present in each folder
5. When it switches to the console to list files, etc. it looks a bit messy.
6. probably lots more which I can't remember at this moment!
I suppose you will want a screenshot (I am not a fan of GFXMenu - can you tell?) - here you are:
Can you guess who it is (one for Star Trek fans....)?
To test out gfxmenu with Easy2Boot, just rename the \_ISO\GFXMyE2B.cfg file to MyE2B.cfg to try out the gfxmenu system (it uses the \_ISO\message file).
It has some disadvantages like
1. Drops back to the textmode grub4dos menu if any error encountered
2. No titles at the top of the menus
3. Cannot set default menu entry or timeout
4. Cannot show number of files present in each folder
5. When it switches to the console to list files, etc. it looks a bit messy.
6. probably lots more which I can't remember at this moment!
I suppose you will want a screenshot (I am not a fan of GFXMenu - can you tell?) - here you are:
Can you guess who it is (one for Star Trek fans....)?
Easy2Boot v1 BETA29 v7 now available
The only change to this update is that the QRUN.g4b batch file now supports an extra file extension type:
.isoask
If you name an ISO file with the .isoask extension, you will be given the choice of how to boot it - see the screenshot below for an explanation:
I got this idea from Rob G.C. (thanks Rob!) who wanted to boot the same ISO file in two different ways.
Hirens ISOs will boot if you use .isomem and miniXP will work and so will the DOS utilitities, however it is slow to load and some systems are low-ram and won't load the whole ISO into memory - so now you can name the ISO file as .isoask and boot it any way you want!
In case you missed it, Easy2Boot will support different languages. Payload files with non-ANSI filenames will be shown correctly in the menus. Titles can be in non-ANSI characters - just save the MyE2B.cfg file in UTF-8 format (use NotePad). You can also rename the Mainmenu.mnu file to MyMainMenu.cfg and edit and save that as UTF-8 too, as well use non-ANSI .txt files with alternative titles.
.isoask
If you name an ISO file with the .isoask extension, you will be given the choice of how to boot it - see the screenshot below for an explanation:
I got this idea from Rob G.C. (thanks Rob!) who wanted to boot the same ISO file in two different ways.
Hirens ISOs will boot if you use .isomem and miniXP will work and so will the DOS utilitities, however it is slow to load and some systems are low-ram and won't load the whole ISO into memory - so now you can name the ISO file as .isoask and boot it any way you want!
In case you missed it, Easy2Boot will support different languages. Payload files with non-ANSI filenames will be shown correctly in the menus. Titles can be in non-ANSI characters - just save the MyE2B.cfg file in UTF-8 format (use NotePad). You can also rename the Mainmenu.mnu file to MyMainMenu.cfg and edit and save that as UTF-8 too, as well use non-ANSI .txt files with alternative titles.
Tuesday, 14 May 2013
Easy2Boot BETA29v6 is uploaded
The user settings file MyMenu.lst is now deprecated and should no longer be used - instead we have \_ISO\MyE2B.cfg!
This file contains nearly all user strings for the menus now (mainmenu.mnu has the others - so you can make your own version of that too!). Easy2Boot uses \_ISO\E2B\grub\E2B.cfg and then calls \_ISO\MyE2B.cfg (if present).
The user background files MyBackground.bmp or MyBackground.bmp.gz should now be located in the \_ISO folder too. These will be automatically used of they are present (unless you have a MyE2B.cfg file which changes the default.
A Fontfile is loaded in this version. This allows for Chinese and special language characters like ® or ΓΌ to be used - just save the MyE2B.cfg file as UTF-8 format. You can now have menu entries and headings in your own language.
The 'Blue' menu can be enabled by renaming \_ISO\BlueMyE2B.cfg to MyE2B.cfg. The blue.bmp.gz file is also in \_ISO now.
Take a look at the BlueMyE2B.cfg file to see what it looks like.
The template file to make your own MyE2B.cfg file is also in \_ISO\Sample_MyE2B.cfg.
Basically, there is no reason for the user to change or edit any file in the grub folder any more.
P.S. A password of 'easy2boot' is set to prevent users from editing menus inside grub4dos. if you want to edit menus then press P followed by the password easy2boot. if you want to remove the password, rename \_ISo\Sample_MyE2B.cfg to MyE2B.cfg and set pwd to nothing (set pwd=).
This file contains nearly all user strings for the menus now (mainmenu.mnu has the others - so you can make your own version of that too!). Easy2Boot uses \_ISO\E2B\grub\E2B.cfg and then calls \_ISO\MyE2B.cfg (if present).
The user background files MyBackground.bmp or MyBackground.bmp.gz should now be located in the \_ISO folder too. These will be automatically used of they are present (unless you have a MyE2B.cfg file which changes the default.
A Fontfile is loaded in this version. This allows for Chinese and special language characters like ® or ΓΌ to be used - just save the MyE2B.cfg file as UTF-8 format. You can now have menu entries and headings in your own language.
The 'Blue' menu can be enabled by renaming \_ISO\BlueMyE2B.cfg to MyE2B.cfg. The blue.bmp.gz file is also in \_ISO now.
Take a look at the BlueMyE2B.cfg file to see what it looks like.
The template file to make your own MyE2B.cfg file is also in \_ISO\Sample_MyE2B.cfg.
Basically, there is no reason for the user to change or edit any file in the grub folder any more.
P.S. A password of 'easy2boot' is set to prevent users from editing menus inside grub4dos. if you want to edit menus then press P followed by the password easy2boot. if you want to remove the password, rename \_ISo\Sample_MyE2B.cfg to MyE2B.cfg and set pwd to nothing (set pwd=).
Monday, 13 May 2013
grub4dos and environment variables
Whilst developing Easy2Boot, I found that I kept running out of variables space.
grub4dos has a meagre limit of only 60 variables (and up to 512 bytes per value). Try to define any more than 60 and it simply refuses to put them into the environment.
I devised some nifty grub4dos code that would count how many variables I had left (see below).
This led me to realise that I could not use variables to store the names of all the files in a folder - thus reducing the number of files I could allow in a folder.
So I had to re-write Easy2Boot so that it used system memory to store the variables and then find and retrieve the value of a specified variable from memory when I wanted it!
VarsLeft.g4b
=========
!BAT
# grub4dos can have only 60 variables defined (512 bytes max per value)
# set * will clear all variables - to find the max limit use set * followed by calling this batch file.
# take a copy of the current environment
setlocal
# Now lets fill up the environment until it fails!
# n is our counter
set n=1
:LOOP
# any more than 600 and it is probably not worth worrying about!
if "%n%"=="600" goto :end
set AAA%n%=FFF
# on first loop AAA1=FFF
# now we need to read back AAA1 by writing a small batch file in memory - e.g.
# !BAT
# set B=%AAA1%
echo -e !BAT\nset B=%^AAA%n%%% > (md)0x3000+1
# now call the batch file we just made to set B to the value of AAA1
call (md)0x3000+1
if not "%B%"=="FFF" echo Approx. %n% Variables left! && exit
# increment n for next loop
set /a n=%n%+1 > nul
goto :LOOP
# restore the copy of the current environment
# this is not really required as 'exit' also restore the environment
endlocal
# quit!
exit
grub4dos has a meagre limit of only 60 variables (and up to 512 bytes per value). Try to define any more than 60 and it simply refuses to put them into the environment.
I devised some nifty grub4dos code that would count how many variables I had left (see below).
This led me to realise that I could not use variables to store the names of all the files in a folder - thus reducing the number of files I could allow in a folder.
So I had to re-write Easy2Boot so that it used system memory to store the variables and then find and retrieve the value of a specified variable from memory when I wanted it!
VarsLeft.g4b
=========
!BAT
# grub4dos can have only 60 variables defined (512 bytes max per value)
# set * will clear all variables - to find the max limit use set * followed by calling this batch file.
# take a copy of the current environment
setlocal
# Now lets fill up the environment until it fails!
# n is our counter
set n=1
:LOOP
# any more than 600 and it is probably not worth worrying about!
if "%n%"=="600" goto :end
set AAA%n%=FFF
# on first loop AAA1=FFF
# now we need to read back AAA1 by writing a small batch file in memory - e.g.
# !BAT
# set B=%AAA1%
echo -e !BAT\nset B=%^AAA%n%%% > (md)0x3000+1
# now call the batch file we just made to set B to the value of AAA1
call (md)0x3000+1
if not "%B%"=="FFF" echo Approx. %n% Variables left! && exit
# increment n for next loop
set /a n=%n%+1 > nul
goto :LOOP
# restore the copy of the current environment
# this is not really required as 'exit' also restore the environment
endlocal
# quit!
exit
Easy2Boot BETA29v5 available
This version has some more tidying up.
All headings can now be set in the Menu.lst (of course, you should not change menu.lst but copy it to MyMenu.lst and it will be used instead!).
The Footer help colour doesn't need to be the same colour as the heading now - it can be set in mymenu.lst.
I have also included two optional test files (delete them if you don't want them!):
blue.bmp.gz - a background picture
TEST_MyMenu.lst - rename this to MyMenu.lst to see how you can change the colours, background and menu position, menu headings and footer text, etc. (see screenshot below).
As well as some text colours being changed, the headings have been padded out to be central (ish) on the menu box. Also, the console background is dark blue to match the bitmap colour better. Try it for some inspiration!
Note with the TEST_MyMenu.lst file, the menu has been moved to the centre. This causes problems with the help text just under the menu as grub4dos can only print help text up to column 79 before it wraps the text to the next line - see below.
All headings can now be set in the Menu.lst (of course, you should not change menu.lst but copy it to MyMenu.lst and it will be used instead!).
The Footer help colour doesn't need to be the same colour as the heading now - it can be set in mymenu.lst.
I have also included two optional test files (delete them if you don't want them!):
blue.bmp.gz - a background picture
TEST_MyMenu.lst - rename this to MyMenu.lst to see how you can change the colours, background and menu position, menu headings and footer text, etc. (see screenshot below).
As well as some text colours being changed, the headings have been padded out to be central (ish) on the menu box. Also, the console background is dark blue to match the bitmap colour better. Try it for some inspiration!
Note with the TEST_MyMenu.lst file, the menu has been moved to the centre. This causes problems with the help text just under the menu as grub4dos can only print help text up to column 79 before it wraps the text to the next line - see below.
Easy2Boot BETA29v4 available
I had a brain wave last night (I don't get many of them these days!).
The main change in v4 is that I don't use environment variables to store the filenames any more. This caused a limitation as to the number of files you could have, especially if you used lots of variables in mymenu.lst to change the default menu text to suit your own preference/language. The more variables you defined or files you had, the more limited was the number of files displayed!
You can have as many .xml and .key files as you like now (i.e. that will fit on the screen before scrolling off = approx 34 in 800x600 mode!)
It may also mean I can add more variables for the menu title variables so that you can change the headings for all the menus in mymenu.lst.
I also changed some filenames from grub\xx.mnu to xxx.hdr to avoid confusing them with proper .mnu files.
Still a few more revisions to go, I feel, but it is nearly finished!
The main change in v4 is that I don't use environment variables to store the filenames any more. This caused a limitation as to the number of files you could have, especially if you used lots of variables in mymenu.lst to change the default menu text to suit your own preference/language. The more variables you defined or files you had, the more limited was the number of files displayed!
You can have as many .xml and .key files as you like now (i.e. that will fit on the screen before scrolling off = approx 34 in 800x600 mode!)
It may also mean I can add more variables for the menu title variables so that you can change the headings for all the menus in mymenu.lst.
I also changed some filenames from grub\xx.mnu to xxx.hdr to avoid confusing them with proper .mnu files.
Still a few more revisions to go, I feel, but it is nearly finished!
No comments:
Post a Comment