Tuesday, 3 September 2013

'Hide' grub4dos menu.lst and other 'sensitive' files

If you have made a grub4dos bootable USB drive and you have password protected the menu.lst (or maybe just some of the menu entries) using the grub4dos password command, it is really quite easy for someone to hack the menu.lst file and simply remove the password lines just by using Notepad.

Another scenario is that you have set up an expiry date in the menu.lst file, so that when the expiry date is reached, a message will warn the user that it has expired and it should be updated and you don't want this to be circumvented! . See here for details on how to set this up.

Here are two ideas which I use to deter the amateur hacker.

1. Use 7Zip to compress the menu.lst file (or any sensitive .g4b batch files or other files loaded by grub4dos) to GZip format. Ensure that the resultant filename and extension is not changed and grub4dos will still run it just fine.

2. Set the file attribute on the 'sensitive' files (e.g. menu.lst) to Hidden (right-click - properties - Hidden).
You could also set the file attribute to System+Hidden+ReadOnly to make it even more difficult to see in Windows Explorer. You can use the Windows command line and the attrib menu.lst +h +r +s command or use NirSoft BulkFileChanger to do this.

This (compression to Gzip +  attribute change) will also work on most of the grub4dos Easy2Boot files (e.g. all .g4b, .lst and .mnu files and even your \_ISO\MyE2B.cfg file). Just keep the filename and the extension the same. Any file loaded by grub4dos that is detected as being in compressed gzip format is automatically uncompressed by grub4dos when it is read.

Of course, now I have told everyone this, it is no longer a secret!


Footnote: Another format that grub4dos can read is lzma, but not the standard lzma compression used by 7Zip. This format is slightly better because if you open it in NotePad, you don't see any tell-tale header information. For this lzma compression which grub4dos understands, we need to use the Windows lzma.exe utility

1. Download lzma.exe from https://code.google.com/p/grub4dos-chenall/downloads/detail?name=lzma.exe
2. Open command prompt
3. Type
                  lzma.exe e J:\_ISO\MyE2B.cfg J:\_ISO\MyE2B.cfg.lzma
4. Delete the original file and rename the lzma so it is the same name as the original (e.g. MyE2B.cfg).

To decode the compressed file, use the d parameter:

              lzma.exe d J:\_ISO\MyE2B.cfg J:\_ISO\MyE2B.cfg.txt

P.S. 7Zip can also decode the compressed lzma files if you add the .zip extension - 7Zip lists them as LZMA:23 encoded files.

For more details and also a handy drag&drop utility to compress E2B files (without changing the original filename) see Tutorial 72a here. It also has a decompress drag&drop utility included too. Each file selected is checked first to ensure you don't try to double-compress a file by mistake!

E2B - bitdefender ISO + persistence now supported

You can run a BitDefender .ISO with persistence from an E2B USB drive which keeps AV updates on the USB drive's persistent ext2 filesystem. I have added a new .mnu file to the E2B download - look in the \_ISO\docs\Sample mnu files folder (as usual).

Saturday, 24 August 2013

Easy2Boot v1.07 now available

Download Version 1.07 here.

  • Latest grldr gives better alphabetical sorting (e.g. _fred.iso now listed in E2B menu before afred.iso).
  • .isope file extension support - if WinPE2/3/4 iso then when wpeinit runs, the iso will be loaded as a virtual CD/DVD.  See here for more info.
  • WinPE ISOs (.isope) can mount the .ISO after booting and user can define any drive letter for the ISO and auto-run a post-cmd batch file once ISO is loaded. See here for more info.
  • ISOASK variable supported (is set, will ask user how to run every .iso). See here for more info.
  • Can force any .iso to run as if it had a different file extension by creating a .mnu file for the iso file. See here for more details.


Sunday, 18 August 2013

E2B v1.07 Beta5

Another small change for Zalman ZM-VE200/300/400 CD emulator owners! You do not have to change the .iso file extension for E2B now.

This version allows you create a .mnu file for each .iso file that requires a different extension for E2B.

For instance, if you have a Hirens iso file and you want to run it with the .isowinvh file extension in E2B, but leave the hirens iso file with a .iso extension on the Zalman E2B drive, use this .mnu text:

title Hirens ISO\n Boot direct from Hirens ISO\n If running DOS utilities from an NTFS drive you may need to select the NTFS driver when offered a choice instead of AUTO
/%grub%/qrun.g4b force.isowinvh %MFOLDER%/Utility/Hiren's.BootCD.15.2.iso
boot


The force.isowinvh is a dummy filename (any filename will do!) followed by the extension that you want E2B to use. Whatever extension is specified in this first dummy parameter will be used to run the .iso file that is specified in the second parameter. So in this case, the Hirens .iso file will be run by E2B as if it had a .isowinvh file extension.

In the example above, the hirens iso file and .mnu file would be present in the \_ISO\UTILITIES\Utility folder or \_ISO\MAINMENU\Utility folder  (i.e. at the \_ISO\xxxx\Utility level).

Friday, 16 August 2013

E2B v1.07Beta 4 now available - BUGFIX!

bugfix for v 1.00 and all later versions - %MFOLDER% was set to ()/_ISO/xxx instead of /_ISO/xxx by AUTOMN.g4b. This meant that some sample .mnu files that used (bd)%MFOLDER% did not work and you needed to remove the (bd) portion to get them to work.
Beta4 fixes AUTOMN.g4b so that MFOLDER is now /_ISO/xxxx  as it was in most previous Beta versions.
If you are having problems getting the sample .mnu files to work, try this new version!
See Easy2Boot V1 Tutorial 72a  (bottom of page) for the download.

Thursday, 15 August 2013

E2B v1.07Beta3 now available

If you add the line
set ISOASK=1
to your \_ISO\MyE2B.cfg file, then any ISO file listed in the E2B menus will run as if the extension was .isoask  (i.e. it will run the .iso and ask you to choose a way to run it).
This means if you have a Zalman CD/DVD  USB HDD caddy, you do not have to have duplicate copies of all the iso files (e.g. have hirens.isowinvH for E2B and hirens.iso for the Zalman). All your files can be .iso but when running E2B, it will ask you how to run them.

Easy2Boot 1.07 Beta 2 now available

This has enhanced WinPE2/3/4 ISO support.
If you place a file that is the same filename as the ISO in the same folder as the WinPE ISO, e.g.
\_ISO\MAINMENU\WinPEx86ABC.isoPE
\_ISO\MAINMENU\WinPEx86ABC.cmd

WinPEx86ABC.cmd
===============
set ISOLETTER=S:


then if no <isoname>.cmd file exists then Y: is used, otherwise the letter set in your .cmd file is used. If Y: is already used then the next free letter will be used to mount the WinPE ISO.

Now .cmd files as well as .mnu and .txt files will not be listed in the menu.

This version also supports the .isoPE01  extension. This has the same function as .isoPE but swaps hd0 and hd1 over before booting to the ISO. This may be useful for some repair ISOs that expect hd0 to be the primary internal system disk.

Beta2a has minor change to add double-quotes around the iso filename when ImDisk is called to load the ISO - this should (may) allow filenames with spaces in them to work (e.g. SVR2012).

Wednesday, 14 August 2013

Easy2Boot v1.07Beta now available

This version recognises iso's with a .isoPE extension.

This can be used with Vista/7/8 WinPE ISOs. If the extension is .isoPE then when WinPE runs and wpeinit starts, the .ISOPE file will be automatically loaded in WinPE as a virtual CD/DVD drive.
This means that once the WinPE is fully loaded, it will have access to all the files in the ISO as a virtual CD/DVD drive.
Note that this only works if you use an E2B USB flash drive, or use an E2H USB HDD + USB 'Helper' Flash drive, as the \unattend.xml file is required to be on a 'removable' USB drive for this to work.

This version is available from the downloads section of the E2B Tutorial here.

There have also been some minor changes to the LOADISOxx.cmd files used for Vista/7/8 install ISOs but hopefully this should not affect their function at all.

Monday, 5 August 2013

Easy2Boot v1.06

If you update your current E2B USB drive, it will make quite a few changes and you will need to delete some files from your existing E2B USB drive - otherwise you may get duplicate entries in the menu!

The big change in this version is that ALL files are sorted alphabetically. In previous versions you could either have all .mnu files listed in the menu first and then all payload (e.g. .iso) files OR all payload files first and then all .mnu files.

With version 1.06  .mnu and payload files are enumerated in one go, so the menu will list entries according to the files alphanumeric order. This means you can arrange the menu better (just sort the files by name in Windows Explorer to see what order they will be in). It also means that the boot is quicker as the whole \_ISO folder is only enumerated once instead of twice.

I have had to re-organise some files in the \_ISO\Mainmenu folder.  Mainmenu.mnu is gone and so are the SubMenuxxx.mnu files. Instead we have some ZZxxxxx.mnu files. Obviously these will be listed last in the main menu.

Although all menu entries will now be listed in the menu according to their filename, it is important to realise two things:

1. If a .txt file is specified for a payload file, or a .mnu file is found, then the actual text that appears in the menu is that contained in the file.
e.g.
a.mnu   (contains 'title X files')
z.iso  
z.txt     (contains 'title Runs z.iso')

then the menu will look like this
X files
Runs z.iso
2. Files in sub-folders will be listed alphabetically as each folder name is discovered. This means that a .mnu file entry from a file at \_ISO\MAINMENU\A\Zlot.mnu will appear in the main menu before a payload file at \_ISO\MAINMENU\backup.iso.



If you want to try the new version, you can download it here.

I recommend you make a new USB E2B drive and re-copy your payload files onto the drive.

If you want to just update your current E2B drive then you will need to delete the following files:
All \_ISO\MAINMENU\SubMenuxxxxx.mnu files
\_ISO\MAINMENU\mainmenu.mnu
\_ISO\e2b\grub\adf2mm.g4b (no longer required)
Note that you can now control the position of each individual menu entry (except F9 and F10 which will always be last in the menu) by renaming the payload and .mnu files.

Files in \_ISO\MAINMENU folder
=========================
ZZSubMenuAntiVirus.mnu
ZZSubMenuAuto.mnu
ZZSubMenuBackup.mnu
ZZSubMenuDos.mnu
ZZSubMenuLinux.mnu
ZZSubMenuUtilities.mnu
ZZSubMenuWinPE.mnu
ZZWindowsInstall.mnu

ZZZF7BootHdd.mnu
ZZZF8ReloadMenu.mnu

If you want the sub-menu entries for the sub-folders to be listed first in the main menu, just add $ in front of the first 8 ZZxxxx.mnu files.

Note that ZZZF7BootHdd.mnu and ZZZF8ReloadMenu.mnu must not be deleted and must be alphabetically last so that the F9 and F10 entries, which are automatically added to the end of the menu by E2B, will be listed in order and look nice!

Please add a comment if you have tried this and give me your feedback!






Saturday, 3 August 2013

Easy2Boot v1.05

This version has a few minor changes:

1. Some more sample .mnu files added to the docs folder
2. A new 'Jolene' menu theme added to docs folder (see below) For Star Trek fans!
3. Ability to suppress the E2B file enumeration messages by setting a new grub4dos variable in your MyE2B.cfg file.

set redir=> nul

If you also want to suppress the E2B progress messages (not recommended as they may be useful on systems with bad BIOSes) then add this line:

set redirp=> nul

See the \_ISO\Sample_MyE2B.cfg file (end) for an example of these two lines (note there is a space between the > and nul).

New 'Jolene' sample background and borderless menu (also redir is also set, so silent file enumeration is enabled).

Monday, 22 July 2013

Easy2Boot and XBMCBuntu

I have added a new .mnu file that can be used with an XMBCBuntu 12.2 ISO file to allow you to run XBMCBuntu with persistence. Please read the text in the .mnu file for details. The .mnu file is at the bottom of the Tutorial 72a page.

Friday, 19 July 2013

Puppy linux for E2B with persistence

If you want the 'Save on Exit' feature to work for Puppy Linux ISOs, you will need to add a .mnu file.

I have added two .mnu files to the bottom of the Tutorial 72a E2B page. One is for E2B USB HDDs and the other is for E2B USB Flash drives.

The .mnu file is for Puppy 5.4.3 but you can easily edit it for any other version just by changing the ISO filename.

For USB HDDs the cheat code pmedia=usbhd is required. For USB Flash drives the cheat code pmedia=usbflash is required. These codes are already in the .mnu file.

Puppy seems to work well on my Acer 7741G notebook. Audio, Video, trackpad scroll bar support and WiFi all worked on first boot.

Wednesday, 17 July 2013

RMPrepUSB v2.1.708 - Change partition type menu option added

V2.1.708 is now available. It has the latest grub4dos version (compatible with E2B v1.04) and also has a new menu option to change the primary partition type number.

This new option was added primarily to allow people to format a USB drive with a FAT32 partition and then use the new menu option to change the type to EEh which is the partition type number for EFI partitions. This means you can now create an EFI FAT32 partition which will boot to grub4dos if you install grub4dos, and boot to an EFI OS or secondary bootloader if you install rEFInd or gummiboot.

Monday, 15 July 2013

Easy2Boot v1.04 (minor changes)

The new version has only minor changes (not worth updating if you already have E2B working OK).

1. DPMS2 - minor changes to fix some issues with some drivers.
2. Improved grldr version warning
3. XP Installs Step 2 now allows user to press D or A to debug or abort

P.S. new version RMPrepUSB 2.1.708 installs the same version of grub4dos as used by E2B.

Thursday, 11 July 2013

E2B v1.03 available (includes DPMS2)

Easy2Boot v1.03 can now be downloaded here.

It is essentially v1.01 of E2B + DPMS2 + small changes/bugfixes:

1. DPMS2 added (but not the mass storage drivers - you must download and add these files yourself)
2. New grub4dos version - files/folders can now be sorted alphabetically and are NOT case sensitive (bugfix in grub4dos).
3. Bugfix for large HDDs (>1TB) - E2B reported bad BIOS when it wasn't!
4. Change to XP Step 1 install code - now correct choice is automatically made for the user for most questions.

Friday, 5 July 2013

DPMS 2 Update Package now available!

Update: You can now download Easy2Boot+DPMS2 in one download - see Tutorial 72a for the link.

Using E2B and a vanilla unmodified XP ISO, you can now install to any SATA/RAID/SCSI system without needing to integrate the mass storage drivers into the ISO!

Auto-F6 SRS floppies made. Adds [Config.xxx] sections to txtsetup.oem so should work with scsi drives too.

If using an E2B USB-HDD and FiraDisk then you need to load the ISO into memory (answer Y to the question just after DPMS2 runs).

If using an E2B USB-flash drive and FiraDisk then you don't need to load the ISO into memory (just press Enter or let it timeout).

Includes improved alphabetical menu sort code for E2B.

Instructions on how to use it here.

You can disable alphabetical sorting of menus (if you find it too slow), by adding

set NOSORT=1

to your MyE2B.cfg file.

Sunday, 30 June 2013

DPMS 2 coming soon!

I have heavily modified chenalls DPMS script during the last week and have been testing it on both virtual and real hardware.
In VBOX I have tested in IDE, SATA(AHCI ICH8) and SCSI systems. These all install XP correctly in text-mode and GUI Mode.
I also tested on a real ICH8 notebook in IDE and SATA mode with success.
I have had to test using Firadisk and WinVBlock drivers so this doubled the testing.
I have also added code to copy the PnpInstances section over to the txtsetup.oem file, so it should work with most SCSI systems.
I have got to the stage now where it all works but the code is not pretty!
I should be able to make the early package for E2B available for anyone who has made donations soon.
I will then be making some YouTube videos demonstrating E2B and the DPMS auto-detection feature and after a month or so I will release the DPMS Update package for everyone.
It has been a hard week and there have been lots of frustrations (twice I 'broke' the code without realising it until later and then spent a day on each problem trying to find out what had gone wrong!) - really frustrating!
David B's VM Starter app has certainly helped as I can boot from my USB on VBox and have full read/write access to the USB stick.

The new DPMS 2 batch file also copies the F6 floppy txtsetup.oem's and directory listings to some log files on the USB stick. This will help in the event of any problems found by users as they can just send me these 'log' files.

Here is the DPMS output on a VBOX SCSI system.


Friday, 28 June 2013

Description of txtsetup.oem files for F6 floppy disks for Windows XP Mass Storage drivers

When you make your own txtsetup.oem file, you can just combine several txtsetup.oem files by simply joining them in Notepad.

There are some rules for txtsetup.oem and I will explain the syntax by highlighting the bits that need to match:

KEY
DriverKey - different Config sections can be defined for each driver
Service      - matches the driver name (convention that drivers use)
ID              - ID of the device which may have more than one PCI ID

So in the txtsetup.oem file below, the keys which are the same colour need to match each other. You may find that in some txtsetup.oem files, both the ID and the DriverKey are the same, but they don't need to be!
[Disks]
d1="DPMS Installation Disk by chenall(diskd)",\disk1,\

[scsi]
iastor7="Intel ICH9/ICH10 SATA AHCI/RAID RST 11.2"


[Files.scsi.iastor7]
inf=d1,iaAHCI.inf
catalog=d1,iaAHCI.cat
driver=d1,
iastor.sys,iastor6

[HardwareIds.scsi.iastor7]
id="PCI\VEN_8086&DEV_3B29&CC_0106","iastor"


[Config.iastor6]
value = parameters\PnpInterface,5,REG_DWORD,1

[Defaults]
scsi=iastor7

If you want to specify a default driver, just have one entry (as shown) in the [Defaults] section and only have one [Defaults] section in the whole file.
\disk1 is a file that must be on the source F6 floppy disk. XP will identify which floppy the driver is on by looking for this file.
The PCI IDs used in txtsetup.oem is NOT checked by Setup - whatever driver you tell it to load is loaded by Setup - if the driver reports that if failed to load or recognise your hardware, Setup will report a problem.

If you want to add more txtsetup.oem files, just add them on to the existing txtsetup.oem file, one after the other (but just have one [Defaults] section).

Note that the driver.sys name MUST match the 'service' name used in the HardwareID driver line.

You can only have one driver= line (any others will be ignored).

Note that the (single) driver.sys file specified in the driver= line will be the one copied over to the hard disk. Therefore, this needs to be the one that is mentioned in the INF file, otherwise XP GUI Mode setup will complain about a driver missing from C:\Windows\OEMDir at about the 34 minute mark!

However, if you want to copy across more driver files than just the one allowed per section (or any type and number of extra files), just add more 'catalog=d1,fred.sys' lines, as many as you like! The files specified will then be copied across to the hard disk C:\Windows\OEMDir folder.

For FiraDisk:

[Disks]
d1="DPMS Installation Disk by chenall(diskf)",\disk1,\ 
[scsi]
firadisk=FiraDisk_Driver
[HardwareIds.scsi.firadisk]
id="PCI\firadisk","firadisk"
[Files.scsi.firadisk]
inf=d1,firadisk.inf
catalog=d1,firadisk.cat
driver=d1,firadisk.sys,firadisk
[Defaults]
scsi=firadisk

Loading two drivers automatically (without pressing F6)

You can get XP to automatically load by default both an AHCI driver AND FiraDisk by having almost IDENTICAL floppy disks each containing ALL of the files needed by both the AHCI driver and the FiraDisk driver. Both disks should have the same identifying disk tag file (e.g. disk1 in this case).

The ONLY difference is that in one txtsetup.oem you set the [Defaults] section to your AHCI driver, and on the other txtsetup.oem file you set the [Default] to Firadisk.

(in fact, the txtsetup.oems don't have to have the non-default sections - e.g. on the FiraDisk default txtsetup.oem you can remove all the AHCI driver sections if you want to).

XP text-mode setup will get confused if you don't use the same disk name tag file for both disks and have the same files on both disks, so you need to have all the driver files on both disks so that 'Drive A:' (which is whatever it accessed last just before the 'copyfiles' stage) will always contain the correct files when it tries to copy them from the F6 floppy just after formatting the internal hard disk. (It is just possible to have different disk tag files but you will still need both sets of drivers on each disk and you have to swap over the disk tags (i.e. disk0 oemsetup has 'disk1' as a tag and disk1 oemsetup has 'disk0' as a tag). It is MUCH easier just to use the same tag file and same contents on both disks!

For more details about txtsetup.oem syntax, see here - but it does not mention the fact that the driver.sys name must be the same as the SERVICE name.

I hope this saves someone hours of work!

cheers


Steve




Tuesday, 25 June 2013

E2B DPMS package available for testing



Easy2Boot Upgrade DPMS package (BETA) now available for BETA testers only!

News - July 2013: New DPMS2 is now integrated in Easy2Boot and it is automatic - no need to press F6!

This enhances the current XP install from ISO menu. If you add the updated E2B files and download and add the DriverPack Mass Storage driver package (approx. 8MB download but 50MB when unzipped) you will have the option to autodetect the correct AHCI/SATA/RAID driver.

The DPMS package from chenall (and heavily modified by me) will auto-generate the F6 floppy disk image with the correct driver files. This MassStorage download seems the most bug free at the moment...

DP_MassStorage_wnt5_x86-32_1306202.7z - 9.18 MB a9922b31453aec34d46bdea5eb5a916f4f03589c

Or try Chenalls latest DPMS and just extract the D folder and DriverPack.ini (not dpms.bat!).

The installation method is still the same - you must manually use F6 and select the AHCI driver + Firadisk driver ( + WinVBlock driver (optional)) - however usually there will only be one AHCI driver present in the F6 list, so you will not have to guess which one to pick! Also, as the DriverPack contains non-Intel drivers, E2B XP installs from ISO should now work on non-Intel AHCI platforms.

Instructions are in the ReadMe.txt file.

News: After hours of hair pulling and midnight oil, I have a DPMS version now which loads firadisk AND the AHCI driver automatically (no F6 press required)! It is integrated in the Easy2Boot v1 download.

cheers
Steve

Friday, 21 June 2013

E2B 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
=======
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.

Depending on the MNUFIRST setting in your MyE2B.cfg config file, either all payload (ISO) files will be listed alphanumerically first in the main menu or all .mnu file entries will be listed first. You cannot have .iso files interspersed with .mnu files in a menu.


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)!

Friday, 14 June 2013

E2B BETA30 v11 - small bugfix

There was bug with the bad bios detection script due to the way grub4dos reports drive geometry.
If you found that BETA30 v10 gave a red error message on start-up about a bad bios, upgrade to BETA30 v11 which should fix that.

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.


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.

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

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


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).

Sunday, 2 June 2013

E2B BETA30 v7

In this version, Step 1 of XP install defaults after 3 second timeout to not load the ISO into RAM. If Y is pressed and then Enter, then the ISO will be loaded into system memory.
To speed up the process and not wait for the timeout, instead of waiting 3 seconds, just press the <Enter> key.

Monday, 27 May 2013

Beta30 v5 now available - full release soon - please try this version!

Only minor changes in this version:

  • 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.

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.

Tuesday, 21 May 2013

E2B BETA30 v2

Some changes to the menus to add F7-F10 to all of them and then add hotkey menu in the Footer at the bottom of the display.


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.

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\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.

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 from an ISO 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:


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)
# NOTE: Next line may wrap, it should start with kernel and end woth splash --
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

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 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 we can 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' user/guru and don't own any sandals (it's cold in the UK), please correct me if any of the linux commands are not accurate!

Hope you find this useful!

P.S. The latest versions of RMPrepUSB (v2.1.713 and later) will allow you to create an ext2 file with a volume name that you specify separately, so you can create in one step an ext2 file called, say, 'Ubuntu-rw' with a volume name of 'casper-rw'.

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!


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!



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....)?


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.






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=).


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



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.


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!