Monday, 28 March 2016

E2B v.79f available and 'E2B.cfg is MISSING!' error

I found some error handling issues in QRUN.g4b (v1.77 and 1.78C). The problem centres around this kind of grub4dos code...

if not "%X%"="1" pause ERROR && configfile (md)0xa000+0x50

This reloads the Main menu (stored at (md)0xa000) when the user presses a key.
This may look OK, but if the user presses the ESC key (as some were apparently doing!), then the pause command returns FALSE and the configfile command is not executed. Instead, control continues on the next lines of code and so it allows the user to proceed.

Now in v1.78 I replaced this type of code with:

if not "%X%"=="1" set /p A=ERROR || configfile (md)0xa000+0x50

This is because if the user presses ENTER or ESC, the set command will return FALSE and so configfile will be executed. However, if the user types a normal key or word (e.g. abc) and then presses ENTER, the set command returns TRUE and so the configfile command is not executed.

Also, I had some incorrect lines where I used  set /p A= && configfile (md)0xa000+0x50, and this would only work if the user actually typed something before pressing ENTER.

The new fix is to call a subroutine to prompt for a key and then prompt the user to press [ENTER] and then run the configfile command. It also displays the prompt in the user's language too.

Since there have been several 1.78 versions and since this issue is in 1.77 and 1.78C, I have decided to skip officially releasing 1.78C and instead jump to v1.79.

Please update your E2B USB drives with v1.79f (or later) and report any issues. If no issues are reported within a few days, I will release it as v1.79.

E2B.cfg if MISSING!

Note: This issue is now fixed by using a later version of grub4dos. Please update your E2B drive to use the latest version of E2B.

About six people have encountered this message. So far we know that:

1. It can be fixed by replacing the \glrdr file with the 0.4.5c version (found in the \_ISO\e2b\grub folder)
2. It only happens on a certain system (often after installing a linux OS to that system)
3. It can be fixed by reformatting one or more partitions on your internal hard drive
4. Any E2B USB drive will report the same error on the same system - it is not a problem with the E2B USB drive.
5. Repeating the same OS install procedure often 'fixes' the issue, so the problem cannot be reproduced.

The bug seems to be that grub4dos 0.4.6a does not like something about the one or more partitions (or partition table?) on the internal hard drive. Going to the grub4dos command prompt after the error occurs, may also result in weird things like the 's' key not working! The problem may be associated with the swap partition (guess at this point!).

If you encounter this issue and would like to help debug the problem, please do NOT change the internal hard disk in any way (or we won't be able to reproduce the issue and debug it) and contact me.