Wednesday, 20 August 2014

Easy2Boot v1.55 can display files in the menu without their file extensions

Files in E2B menus are normally displayed by using their full  filename + extension, as below...

You can use a .txt file to define an alternate menu entry for each file.

However, now with v1.55, if you use  set EXTOFF=1 in the \_ISO\MyE2B.cfg file, all files in all menus will be displayed without their file extensions, as shown below...

You can use spaces in the filename if you wish (see #4).

A Beta7 version of 1.55 is available in the Alternate Downloads area as usual.

It is almost ready for release, I am just waiting for one bugfix to grub4dos 0.4.6a from the developers.
E2B v1.55 will complain if the latest version of grub4dos is not used. Although it may work using earlier versions of grub4dos, some bugs have been fixed recently in grub4dos (one of which was quite serious to do with writing to NTFS files not working), so a new version is 'required'.

Many thanks to the E2B users who have suggested small tweaks and improvements to make E2B even better!

The latest grub4dos also allows you to disable or change the ► symbol that is displayed at the side of the highlighted menu entry - see the \_ISO\Sample_MyE2B.cfg file for details.

P.S. MakePartImage has also been updated to v 0.037 and now includes RMPartUSB.exe in the \e2b folder so you can restore the E2B partition from Windows using the RestoreE2B.cmd script, without needing to boot from the E2B USB drive to the CSM menu.

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Sunday, 17 August 2014

Add Desinfect 2014+Persistent Virus Updates to your Easy2Boot USB drive

Here are the steps to add the Desinfect 2014 ISO to you E2B USB drive and have persistent virus definition updates too ...

As well as your E2B USB drive, you will need a spare 4GB or larger USB Flash drive that can be wiped - otherwise you will need a previously-made desinfect 2014 bootable Flash drive. This spare drive is not needed once the E2B installation has been completed.

I also had an internet connection (via Ethernet) connected to the system so that I could get the latest updates.

Direct link to .mnu file for persistent updates here.

1. Follow the instructions in my previous blog here to add desinfect to E2B, but with one important difference, the Volume Name of the ext2 file must be desinfSIGS - create a 1000-2000 MB ext2 file using RMPrepUSB - Create Ext2 FS as follows:

File Name = desinfect-rw
Volume Name = desinfSIGS
Size = 2000 MB  (1000MB minimum but I suggest larger to allow for more updates)

2. Use the .mnu file as detailed in the previous blog and add the .ISO to your E2B drive as well as the .mnu file - e.g. you should now have added to your E2B USB drive:

  • \desinfect-rw
  • \_ISO\MAINMENU\MNU\ct_desinfect_2014.iso
  • \_ISO\MAINMENU\MNU\Desinfect_2014_with_Updates.mnu

Don't forget to run WinContig to make all files contiguous! You can use any of the \_ISO\XXX\MNU folders depending on what menu you want desinfect to be listed in.

3. Boot from the E2B drive to desinfect - this must be done on a real system NOT a VM.

4. We now need to copy the files from a desinfect bootable USB Flash drive that has been made by the Desinfect 'Create USB' utility. If you don't already have one, then make one now...

Insert a spare 4GB or larger USB Flash drive into the system and click on the Desktop icon to 'Create bootable USB drive with desinfect' - follow the prompts to create a Bootable USB drive - I suggest you untick the  'Kompatibilitat' box as that is what I did when I tested this process but I doubt if it matters.

After the USB drive has been made, you should be asked if you want to copy the latest updates - I chose Yes at this point. If you choose No then there will be no new updates and you will have to update the E2B ext2 partition later anyway. The update download can take quite a while (e.g. 40 minutes to 2 hours!). If you just want to get the E2B USB drive working without waiting an hour or more then choose No.

5. Shutdown desinfect.

6. Remove the spare USB Flash drive and reboot from the E2B drive to desinfect again (English or default German language).

7. Insert the spare USB Flash drive - Ubuntu should now mount all the 3 partitions on that drive including the desinfSIGS partition that is on the spare USB Flash drive and contains the virus signatures.

Note: if you have both a desinfSIGS and desinfSIGS_ volume - you did not correctly follow these instructions! One will be the E2B ext2 volume and the other will be the spare Flash drive volume you just created! Shutdown and try again from step 6 or step 1!

8. The spare flash drive 'signatures' volume should be mounted at /media/desinfSIGS - we now need to copy the contents to our ext2 filesystem as follows:

open a command console window and type the blue text below:

df                                       (find the E2B ext2 partition - e.g. /dev/sdb3)
ls /media/desinfSIGS/       (check you have the desinfect-signatures persistent  lost+found logs config folders and several other files present)
mkdir ss
sudo mount /dev/sdb3 ss  (assumes sdb3 is your E2B ext2 partitition made from desinfect-rw)
sudo cp -purv /media/desinfSIGS/*   ss
sudo umount ss

9. Shutdown desinfect - and now remove the spare USB Flash drive - we won't need this again.

10. Now boot to Desinfect from the E2B drive and click on the 'Viren-Signaturen aktualisieren' shortcut - it should report that you have all the latest updates.

Desinfect shows signatures in RAM or signatures on the USB drive

Tip: Make a backup of the \desinfect-rw file, zip it up and keep it in a safe place. If you ever need to reformat your E2B drive or if the ext2 file on the E2B drive gets corrupted, you can easily restore it!

UEFI booting with persistence

Once you have normal MBR booting working as detailed above, you can convert the image to UEFI-boot as follows:

1. Drag-and-Drop the ct_Desinfect_2104.iso file onto the MPI ToolKit  MPI_FAT32  MakePartImage Desktop shortcut on your Windows Desktop to make a ct_Desinfect_2104.imgPTN file. See here for details.

2. Copy the ct_Desinfect_2104.imgPTN file to the \_ISO\MAINMENU folder

3. Move the \desinfect-rw file to the \_ISO\MAINMENU folder

Note: If you wish, you can put both files in a different menu folder - e.g. \_ISO\ANTIVIRUS.

4. Rename the desinfect-rw file to \_ISO\MAINMENU\ct_Desinfect_2014   (i.e. the file name must be identical to the .imgPTN file name but have no file extension)

e.g. we now have:
\_ISO\MAINMENU\ct_Desinfect_2014                  - was desinfect-rw
\_ISO\MAINMENU\ct_Desinfect_2014.imgPTN   - image partition file

5. The ct_Desinfect_2104.iso file and .mnu file in \_ISO\MAINMENU\MNU are no longer required and can be deleted.

6. (optional) - create a \_ISO\MAINMENU\ct_Desinfect_2014.txt file with whatever menu title you require - e.g.

title Desinfect 2014 with Signature updates (MBR+UEFI)\n Boot in either normal BIOS MBR mode or UEFI mode

7. Finally, don't forget to run WinContig on the E2B USB drive (RMPrepUSB - Ctrl+F2)

You can now select the ct_Desinfect_2104.imgPTN menu entry and it will switch in the new FAT32 partition and display the CSM boot menu.

From the CSM menu you can boot in UEFI-mode using Clover or boot in normal MBR-mode. You can also reboot the computer and then boot from the E2B USB drive in UEFI-mode by selecting the BIOS UEFI USB boot option.

Note: Desinfect does not support 32-bit UEFI booting.

If you want to UEFI-boot a system that does not allow CSM/MBR booting, you can run RMPrepUSB - QEMU or  VirtualBox+VMUB or MobaLiveCD to boot from the E2B USB drive first under Windows - then you can select the .imgPTN menu entry to switch to the CSM menu before you connect the E2B USB drive to the target UEFI system.

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Saturday, 16 August 2014

Add Desinfect 2014 + Persistence to your Easy2Boot multiboot USB drive

As with most ISO files, you can just add the Desinfect 2014 ISO file to your Easy2Boot USB drive and boot from it in BIOS/MBR mode - OR - you can drag-and-drop the ISO onto the MPI Toolkit FAT32 Windows Desktop icon to make a partition image file and then add the ct_desinfect_2014.imgPTN file to your Easy2Boot drive, if you want to 64-bit UEFI-boot to Desinfect as well as MBR-boot.

If you want to enable persistence however, you will need to use a special .mnu file as well as the Desinfect ISO file.

Adding a persistence ext2 file allows some Desktop settings to be remembered after a reboot. For instance, any files placed on the Desktop will be preserved. However, the background wallpaper is reset to the Desinfect wallpaper after every boot.

I also could not get the antivirus updates to be persistent using this method, they have to be downloaded each time you boot to Desinfect.

Note: You can have persistent updates, but not with persistence as well - see the next blog post!

Here is the .mnu file. The top lines are comment lines and contain instructions on how to add persistence. The .mnu file is also available in the Alternate Download Area from here.

# Make a \casper-rw ext2 file using RMPrepUSB in the root of the drive using RMPrepUSB
# File Name=desinfect-rw  Volume Name=casper-rw size=500MB or change as desired
# Place this .mnu file and the ISO in either \_ISO\MainMenu\MNU or \_ISO\LINUX\MNU
# This menu will work even on an NTFS USB boot drive
# IMPORTANT: you MUST run WinContig (Ctrl+F2) before booting E2B.

iftitle [if exist $HOME$/ct_Desinfect_2014.iso] Desinfect 2014 PERSISTENT\n Boot using .mnu file with persistence
if exist CD echo WARNING: Cannot use partnew command! && pause && configfile (bd)/menu.lst
if "%E2BDEV%"=="" set E2BDEV=hd0 && pause E2BDEV forced to hd0!
set ISO=ct_Desinfect_2014.iso
set PER=/desinfect-rw
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (%E2BDEV%,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%E2BDEV%,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 %PER% echo WARNING: %PER% persistence file not found! && pause
errorcheck off
set P=0
if "%check%"=="0x00" partnew (%E2BDEV%,2) 0x0 %PER% && set P=1
errorcheck on

set L=debian-installer/language=de console-setup/layoutcode?=de
set ask=
#English text below can be changed to German
if "%P%"=="1" echo -e PERSISTENCE IS ENABLED: Some settings, Desktop items, etc. will be remembered after reboot.\n\nNote: The background will always be reset back to the Desinfect wallpaper.\n      Virus updates are not persistent.\n      Always SHUTDOWN correctly to avoid corrupting the persistence file.\n

set /p:3 ask=Press E and [Enter] for English (within 3 seconds)... 

if /i "%ask%"=="E" set L=
#set L=debian-installer/language=en console-setup/layoutcode?=en

#map ptn 4 to ISO
partnew (%E2BDEV%,3) 0x0 $HOME$/%ISO%
map $HOME$/%ISO% (0xff)
map --hook
root (0xff)
set A=file=/cdrom/preseed/ubuntu.seed boot=casper 
set B=iso-scan/filename=
set INTISO=/software/desinfect-2014.iso
set C=quiet splash memtest=4 -- 
set D=persistent persistent-path=/
if not exist %INTISO% echo ERROR: INTISO is set to %INTISO% but it is not present inside %ISO% && pause

kernel /casper/vmlinuz %A% %B%%INTISO% %C% %L% %D%
initrd /casper/initrd.lz

Note that the ct_Desinfect_2104.iso file actually contains a second ISO file inside it (/software/desinfect-2104.iso). It is this ISO file that we must use for the iso-scan/filename parameter.

Thursday, 14 August 2014

F1 Help function added to Easy2Boot v1.55

A user requested an F1 help hotkey feature, so I have added this into E2B v1.55.

There is a new .mnu file for the Help Main menu entry and the actual Help text (English only) is held in an F1.cfg file:

  • \_ISO\MAINMENU\ZZZF1SubMenuHelp.mnu
  • \_ISO\e2b\grub\ENG\F1.cfg

Help menu screen (F1.cfg)

Help text is displayed in the console screen.

It is expected that the user will want his own F1 menu, so all they have to do is copy the \_ISO\e2b\grub\ENG\F1.cfg file to the \_ISO folder and edit it to show whatever help text they want for their E2B payload files and hotkeys, etc.

If you do not want a Main menu entry, but you still want the F1 hotkey to work, then you can specify a generic F1 hotkey in the \_ISO\MyE2B.cfg file. The user can then press F1 in any E2B menu and they will see the Help menu and so no Main Menu entry is needed.

There is example code in the Sample_MyE2B.cfg file for this (just uncomment the 3 lines):

# Make the F1 key show the Help Menu from any menu (uncomment 3 lines below) - you can put your own help file in \_ISO\F1.cfg
###if exist /_ISO/F1.cfg   ()/%grub%/hotkey [F1] "configfile /_ISO/F1.cfg" > nul && goto :f1skp
###if exist /%grub%/%LANG%/F1.cfg ()/%grub%/hotkey [F1] "configfile /%grub%/%LANG%/F1.cfg" > nul && goto :f1skp
###if exist /%grub%/ENG/F1.cfg ()/%grub%/hotkey [F1] "configfile /%grub%/ENG/F1.cfg" > nul

The F1 Help menu can be removed from the MAIN Menu by deleting the file \_ISO\MAINMENU\ZZZF1SubMenuHelp.mnu is available from the Alternate Download links on the Easy2Boot Download page.

Friday, 8 August 2014

New .cfg file extension recognised by Easy2Boot

The new version 1.55 of E2B recognises the .cfg file extension which can be used for changing the 'theme' of E2B  (non-volatile, the change will be remembered on reboot).

Any .cfg files that are in a menu folder (e.g. \_ISO\MAINMENU or \_ISO\UTILITIES, etc.) will be enumerated and listed in the relevant menu.

The contents of the .cfg file should be the same as the contents of a valid MyE2B.cfg file.
When you select a .cfg file from the menu, QRUN.g4b runs and copies the contents of the file to the \_ISO\MyE2B.cfg file (which, of course, must be present).

The \_ISO\MyE2B.cfg file must be at least as big as your .cfg file and the \_ISO\MyE2B.cfg file should be contiguous (due to a bug in grub4dos NTFS file handling - fixed in 2014-08-19 version and later).

To change the menu entry from just listing the filename+extension, you can make a .txt file for each .cfg file (containing a 'title' entry) in the usual way or use the 'set EXTOFF=1' line in the \_ISO\MyE2B.cfg file.

In this way you can switch to any 'theme' from a menu entry.

Jolene.cfg added to MAINMENU

To demo E2B menu capabilities or compare 'themes'  see for ideas.

Thursday, 7 August 2014

Add graphics adapter resolution auto-detection into Easy2Boot

You may want to display your E2B menu in the highest/best resolution possible.
For instance, some odd systems may not support 800x600 mode.

I always advise you to use the most common display resolution so that the menu will appear correctly on all systems. However, you can arrange E2B so that it will cope with a variety of different systems.

You will need a range of wallpaper bitmaps for each resolution (though in some cases the largest bitmap may work for smaller resolution displays).

Auto-Detect highest resolution and use correct wallpaper

The code below can be used in a \_ISO\MyE2B.cfg menu to auto-detect the highest resolution available and then set the graphicsmode and wallpaper for that resolution. 

Note that the position of the menu will remain the same (unless you also add extra code - e.g. if "%GMODE%"=="1024 768 24" set rstart=5) and so will the text colours, etc.

So each wallpaper bitmap should be similar in colour and content because the menu position and text colours will not change.

# allow vbeprobe command to output text
debug 1
# list all available BIOS graphics adpapter modes
vbeprobe > (md)0x220+5
# turn off text output for future commands
debug off
# look for 640, 800 and 1024 modes - be careful to only use x24 or x32 modes for full colour bitmaps
cat --locate=", 640x480x24"  (md)0x220+5 > nul && set GMODE=640 480 24 && set MYWBMPGZ=/_ISO/nice640.bmp.gz
cat --locate=", 800x600x24"  (md)0x220+5 > nul && set GMODE=800 600 24 && set MYWBMPGZ=/_ISO/nice800.bmp.gz
cat --locate=", 1024x768x24" (md)0x220+5 > nul && set GMODE=1024 768 24 && set MYWBMPGZ=/_ISO/nice1024.bmp.gz

cat (md)0x220+5

Add a Change Language menu entry to Easy2Boot

This Change_Language.mnu file will be in the Sample mnu Files folder in v1.55 and later versions.
It allows the user to temporarily change the language strings (until reboot).

Using this and the Change_Theme.mnu, you can demo E2B to your colleagues!

You can modify it by adding or removing languages or write it in a different language other than English (save the file as UTF-8 if using non ASCII characters).

title Change the E2B Language\n Change the standard E2B menus to a different language
echo Change Language
echo -e ===============
echo Only the standard E2B menu entries, headings and some prompts will change.
echo  Note: This does not change the E2B Header or the Footer help text
echo Please choose a language...
echo 1 English
echo 2 Spanish
echo 3 German
echo 4 Brazilian Portuguese
echo 5 Simplified Chinese
echo 6 Traditional Chinese
set ask=
set /p ask=Please enter a number : 
if "%ask%"=="2" set LANG=SPANISH
if "%ask%"=="3" set LANG=GERMAN
if "%ask%"=="4" set LANG=PORTU_BRAZIL
if "%ask%"=="5" set LANG=SIMP_CHINESE
if "%ask%"=="6" set LANG=TRAD_CHINESE

configfile /%grub%/Menu.lst

Note that you can set a default language in your \_ISO\MyE2B.cfg file, but it must be set using a line like this - otherwise the Change Language menu will not work:

if "%LANG%"=="" set LANG=SPANISH

Add a 'Change Theme' menu to Easy2Boot

It is fairly easy to add a .mnu file which allows the user to choose a different background wallpaper:

title Change Wallpaper\n Choose a new E2B menu background
call /%grub%/pickafile.g4b /_ISO .gz
if "%CHOSEN%"=="" configfile (md)0xa000+0x50
splashimage /_ISO/%CHOSEN%
configfile (md)0xa000+0x50

The .gz files must contain a bitmap of exactly the correct resolution size - e.g. 800x600  (801x588 will NOT work!). The actual existing menu text and border positions, etc. is not changed however, so the images that you use should work with the same settings used by E2B as the default (or as used in your \_ISO\MyE2B.cfg file). So you will need to pick your images carefully (plain colour ones work best).

Today, devdevadev asked me if he could have a menu to switch between themes. You can use this to demo E2B, e.g. switch backgrounds, language, font, colours, etc.

A menu would prompt you to pick a .cfg file as shown below:

Here is the .mnu file that I came up with:

# Place all MyE2B.cfg and wallpaper files in \_ISO\mythemes and all rename .cfg files (amd any message GFXBoot file if more than one)
# Edit each \_ISO\mythemes\xx.cfg file so background or GFX has correct path
# e.g. set MYWBMPGZ=/_ISO/mythemes/stripedflat.bmp.gz  OR set GFX=mythemes/message  (note: no /_ISO/ for GFX path)
# Rename \_ISO\Sample_MyE2B.cfg to \_ISO\MyE2B.cfg (must be >1KB and larger than largest xxx.cfg file)
# For the default E2B theme, make a \_ISO\mythemes\Default_Theme.cfg file with just !BAT on the first line
# \_ISO\MyE2B.cfg file must be contiguous due to bug in grub4dos!

title Change Theme\n Choose a new E2B Theme

if not exist /_ISO/MyE2B.cfg echo ERROR: Please create a large \_ISO\MyE2B.cfg file && pause && configfile (md)0xa000+0x50
errorcheck on
debug normal
graphicsmode 3
echo Pick a Theme...
call /%grub%/pickafile.g4b /_ISO/mythemes .cfg
if "%CHOSEN%"=="" set DONEMENU= && configfile ()/%grub%/menu.lst
echo Overwriting \_ISO\MyE2B.cfg file with \_ISO\mythemes\%CHOSEN%...
# fill (rd) with 0's , 0x82d0 is rd-base mem address, Fn24 is memset - fill memory  <addr> <string> <size>
map (md)0x300+200 (rd) > nul ;; read 0x82d0 > nul ;; call Fn.24  %@retval% 0x20  102400 > nul  
dd if=(rd)+1 of=()/_ISO/MYE2B.cfg > nul
if exist ()/_ISO/mythemes/%CHOSEN% dd if=()/_ISO/mythemes/%CHOSEN% of=()/_ISO/MyE2B.cfg > nul
if exist ()/_ISO/mythemes/%CHOSEN% chainloader /grldr

I tested this using these files in the E2B \_ISO\mythemes folder :

The 'graphicsmode 3' switch is required only if you use GFX Boot menus such as the sample Jolene_GFX.mnu. You can delete it if you don't have any GFXBoot .cfg files. If you do use GFXBoot menus, you will also need to copy all the \_ISO\docs\GFXSubMenu Files .mnu files into \_ISO\MAINMENU or else some menu entries will be missing from the GFXBoot menu when selected (this applies to any GFXBoot menu).

Both .mnu files will be in the Sample mnu Files folder in v1.55 of E2B and I will also put them in the Alternate Download area for a while too.

v1.55 will have the mythemes folder and a selection of .cfg files to choose from. You will just need to copy a $Default E2B Menu.cfg file to \_ISO\MyE2B.cfg and the .mnu file to \_ISO\MAINMENU.

Notes: due to a bug I just discovered in grub4dos, make sure you run WinContig on the E2B drive to make all files contiguous. It seems there is a problem with grub4dos and NTFS volumes if this is not done (if the target file is fragmented, then only the first 8096 bytes are actually copied when using dd on some files!).

And due to another bug, the full path for the bitmap file needs to be kept shorter than approx 64 characters as the splashimage command cannot handle long pathnames!

Saturday, 2 August 2014

Easy2Boot v1.54 released

Improvements over 1.53 are:
  1. Bugfix for forcing file extension using qrun.g4b and .isowb files
  2. memtest86 32-bit UEFI boot file added - if you UEFI-boot a 32-bit or 64-bit system from a FAT32 E2B USB drive it will now run memtest86 
  3. Make_E2B_USB_Drive.cmd now checks for Admin rights and also removes EFI folder to save space if you formatted it as NTFS (as you cannot directly UEFI-boot from an NTFS partition). 
  4. New .imgPTNAUTO file extension supported (no user prompt to switch partitions). 
  5. AUTOCSM variable in MyE2B.cfg will now cause all .imgPTN files to auto-run, just as if they all had the .imgPTNAUTO file extension.
  6. Added a 'Measure USB Performance' menu entry into Utilities menu to allow testing of BIOSes with slow USB access
  7. Bugfix for ISOs with long filenames ending in .isoWB. 
  8. Sample WinBuilder .mnu changed for same fix as above. 
  9. New grub4dos 0.4.5c grldr version. 
  10. File enumeration speed improvements - should make for faster booting on systems with slow BIOSes. 
  11. linux script added to format a USB drive as an E2B drive under linux.

Slow to load the Main Menu?

Several people have reported in the E2B forum that E2B takes several minutes to get to the Main menu even when using a fast USB 3.0 flash drive. This is due to the particular system BIOS having very poor quality USB 'drivers' which makes USB communication very slow. Because E2B needs to access all files in the \_ISO\MAINMENU folders and \_ISO\WINDOWS folders several times during start-up, this can result in a long wait on systems with these slow BIOSes. The speed does not depend on how fast the CPU is or how fast the USB drive is (though that can affect timings), it depends on how well written the USB driver code is in the BIOS (good code will use interrupts and DMA, bad quality code will use polling which can cause long delays as each USB bus 'message' is sent or received). Because BIOS vendors tend to use the same code modules for different systems, you may find that the same 'family' always have poor USB performance (e.g. AWARD V6.00PG BIOS). Of course, once you boot to an Operating System  such as linux or Windows, the OS uses it's own USB drivers and we will get decent USB communication speeds.

You can now run a 'Measure USB Performance' test from the Utilities menu (which is really measuring the BIOS USB driver performance as well as USB speed!) to see how long 100 file accesses takes (and also 1000 file accesses). You should see that most systems take between 2-5 seconds for 100 accesses, but slow BIOSes can take 60 seconds!

Note that this test does not measure data transfer performance. Also, grub4dos produces faster results on FAT32 USB drives than on NTFS drives, so if comparing times, always use the same formatting for E2B.

Virtual Box + E2B on a USB HDD (100lp=0.8 seconds)

An indication of a BIOS problem, is that booting to E2B using the RMPrepUSB - QEMU button (which is normally much slower than a real system) is faster than when booting on the real 'bad' system using the system's BIOS USB code.

QEMU is normally slower than a real system.
QEMU + E2B on a slow USB Flash drive - 100lp=16 seconds
On an EeePC (an average BIOS), the same USB drive - 100lp=3 seconds.

To check for a bad BIOS, boot to E2B on the 'bad' system, and then switch to grub4dos 0.4.6a (it is listed in the Main menu) and then load the grub4dos 0.4.6a USB 2.0 chipset driver (which is listed in the Main menu after loading 0.4.6a). If the USB driver loads successfully and detects your USB drive, you can repeat the  'Measure USB Performance' test to see if file access speeds have improved. Typically, 100 accesses will take less than 2 seconds when the grub4dos USB driver is loaded (if it has recognised the USB 2.0 chipset in the system)! You can use a USB 3.0 drive, but it must be connected to a USB 2.0 port. Unfortunately, the grub4dos USB driver does not recognise all USB 2.0 chipsets/adapters and so it is pot luck whether it works or not on each system.

If the grub4dos USB driver does work, you can enable it on each E2B start-up by setting a variable in the \_ISO\MyE2B.cfg file (set GRUB_USB=Y).

If the grub4dos USB drive does not recognise your chipset and for more tips on getting E2B to load faster, see the FAQ page.

If you already have an earlier version of E2B, just download the smaller 1.54 (non-DPMS) version and overwrite the files on your E2B USB drive.

Download page is here as usual

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

grub4dos secrets!

As you may know, E2B and most of the Tutorials on use grub4dos. I have got to know grub4dos pretty well and I love it's flexibility. It has been improved quite a bit in the last few years (thanks chenall and tinybit!) and there have been some changes which have not been reflected in previous documentation or guides.

So, I just thought I would point out a few articles on the website which you might find useful:

Tutorial 21 is a grub4dos tutorial - useful for beginners and the more advanced user.

Tutorial 71 is about some of the programs which you can run under the grub4dos environment, such as wenv, hotkey, chkpci, fat and bios. It also describes how to run grub4dos batch files.

Tutorial 57 is about configuring grub4dos menus, hiding startup messages, making a silent splash screen, configuring 'secret' keys, etc.

Finally, Here you will find a page about the special hidden, secret and undocumented features of modern grub4dos, also what memory areas grub4dos uses, what internal variables are available, new commands and operators, the undocumented Fn. functions calls and lots of other goodies!

If you want to get a feel for grub4dos batch files, have a look at any of the Easy2Boot grub4dos batch files (they usually have a file extension of .g4b) - an advanced coding example can be found in the dpms2.g4b batch file if you are feeling really geeky!

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Linux script to install Easy2Boot to a USB drive

The latest v1.54 version now includes a script which can be run from a linux OS and it will format a partition as FAT32 on the specified drive, copy over the E2B files and then run bootlace to install grub4dos.
I have tested it in a VM (VBox)  using Linux Mint Debian Edition (64-bit) and Ubuntu 14.04.
Of course, there are lots of linux distros and it may not work on all of them.
As it formats a partition you need to be careful when using it!
You have been warned (but it has been independently tested here)!
The 1.54 download is on this page.

Here is a screenshot. You need to run chmod first before you can run the script.

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Tuesday, 29 July 2014

.imgPTNAUTO file extension is supported in E2B v1.54

E2B v1.54 will support the new .imgPTNAUTO file extension.

This differs from the .imgPTN file extension in that the user does not see the prompt to press a key to switch to the new partition; instead as soon as you select the menu entry, the partition is switched and you are immediately presented with the CSM menu.

For the other variations of .imgPTN files, you can make a special .mnu file, e.g. both of these will go straight to the CSM menu:

title Clonezilla AutoCSM
/%grub%/qrun.g4b    FORCE.imgPTNAUTO     $HOME$/clonezilla-live-2.2.2-37-i686-pae.imgPTN

title Clonezilla AutoCSM
/%grub%/qrun.g4b    $HOME$/clonezilla-live-2.2.2-37-i686-pae.imgPTNLBAa23

You can also use  set AUTOCSM=1  in a \_ISO\MyE2B.cfg file to make all types of  .imgPTNxxxx files auto-run to the CSM menu.

The new QRUN.g4b file that supports this is available for download in the easy2boot Alternative download areas (see file).

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Monday, 28 July 2014

UEFI-boot FatDog (Puppy) linux from your Easy2Boot USB drive

FatDog (a 64-bit version of Puppy) now supports 64-bit UEFI booting. Here is how to add it to Easy2Boot and enable UEFI booting.

1. Download FatDog64-631.iso from here
2. Extract the contents of the ISO to a new empty folder on your Windows hard drive - e.g. C:\temp\fatdog631
3. Extract all the files from the efiboot.img file to the C:\temp\fatdog631 folder - you should now have a C:\temp\fatdog631\efi folder (amongst others)...

4. (optional) delete the [BOOT] folder if there is one and the efiboot.img file
5. Drag-and-drop the C:\temp\fatdog631 folder onto the Windows Desktop MPI_FAT32 shortcut to make a .imgPTN file (see - MakePartImage for details).
6. Copy the .imgPTN file to your E2B USB drive's \_ISO\MAINMENU folder (or other menu folder)

You can now boot to E2B in the normal way and select the new .imgPTN file. Once you have switched partitions you can UEFI-boot from it (64-bit systems only) or use Clover to UEFI-boot directly or use the CSM menu to boot in MBR mode.

This is the first reFind UEFI boot screen

This is the next menu after pressing [ENTER]

Note: If you wish you can skip the reFind UEFI boot menu and also save some file space as follows (do this after step 4 above or in the partition image itself):

1. Delete all files and folders under the C:\temp\fatdog632\EFI\boot folder
2. Move the \EFI\grub2\grub2.efi file to the \EFI\boot folder
3. Rename the \EFI\boot\grub2.efi file to bootx64.efi

You should now have a single file under the \EFI folder called \EFI\boot\bootx64.efi. When you UEFI-boot, you will see the black menu screen shown above.

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Saturday, 26 July 2014

Have you tried PXE booting yet?

Nearly all modern computers support Network Booting (aka PXE booting).
You may have seen the option to boot from the network listed in the BIOS boot options of a BIOS Setup menu.

Tutorial #76 on my RMPrepUSB site describes how to set up SERVA which is an incredible Windows utility which can set up any Windows system to function as a PXE server (as well as a normal PC).

Normally, you would need to have access to the network DHCP server (the one that dishes out IP addresses to all the computers on the network) in order to configure PXE booting. The unique thing about SERVA is that you don't need to fiddle with the network DHCP server at all. This is a real boon for home users who usually use their router as the DHCP server. It is also a boon for companies who have a multi-server network and don't allow or want their employees to fiddle with the servers.

The home site for SERVA is here and it has lots of documentation on how to boot loads of different OS's - see here for a list of non-Windows payloads that you can network boot (includes Fedora, Ubuntu, Kali linux, Debian, android x86, GParted and even FreeDos for performing a BIOS upgrade).
To install Windows across the network, it is necessary to ensure that the OS you are booting to has the necessary network drivers included, because once it boots to the Windows PE environment, it will need to pull the install files across the network from the SERVA PC to copy onto the systems hard disk.
SERVA was featured in PC WELT recently (Issue 5 - pg.55)

The free 'Non-Supporter' home-trial version of SERVA can be used to install Windows across the network. The 'Supporter' version is 29.99 and has more features and is used by many companies - see here for a list.

Something to try during the Summer holidays perhaps?

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Friday, 25 July 2014

Add a Cold Boot Attack to Easy2Boot

Jamil recently contacted me and asked how to get the Cold Boot Attack (video) (skip to the 3 minutes point to save time) code 'scraper.bin' to work on an Easy2Boot USB drive. This allows you to capture the contents of a computer's memory onto a USB drive (even if it has been switched off for several seconds!). The idea is that the computers memory may still contain un-encoded AES encryption codes, passwords, etc. which can be deciphered later, once the memory's data has been safely captured.
Note that scraper.bin also displays the last key presses from the keyboard buffer too!

The idea that we came up with for getting this to work with Easy2Boot is now available for all to use, so check out Tutorial 124!

Of course, you need to be able to USB-boot from the system and so you will need to know the BIOS password of the target system (so you know how to protect against this type of attack ;-).

The scenario of retrieving data from a system that is switched off seems rather far fetched however and may be something that you would only see Tom Cruise doing in Mission Impossible!:

1. User shuts down PC and walks away
2. Tom approaches system from the ceiling and takes it apart
3. Tom uses freezer spray on the internal DIMMs
4. Tom removes the DIMMs and keeps them cold on top of a frozen cold pack which he has in his utility belt
5. Tom replaced the DIMMs with identical ones which he happens to have with him and leaves the building
6. Tom takes the DIMMs to another system in his lab which takes the same sort of memory
7. Tom carefully dries the DIMMs and fits them and his E2B+'scraper' USB drive and switches on the system - all data is saved to the USB drive
8. Tom analyses the data, gets all the encryption keys and saves the world!

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

How to add Floppy Disk Images to Easy2Boot

Floppy disk images usually have the .ima or .img file extension.

You can just add these to your E2B USB drive in the usual way by drag-and-drop to any suitable menu folder (e.g. \_ISO\MAINMENU or \_ISO\DOS or \_ISO\UTILITIES or even \_ISO\LINUX, etc.).

Most people will want to boot to DOS (either FreeDos or MS-DOS) in order to run a DOS utility such as a BIOS update utility or a DOS utility such as HWInfo.

The RMPrepUSB Tutorial 33 includes details on how to make such Floppy Disk Images.

When Easy2Boot boots from a .ima or .img image, the USB drive will be mapped as a floppy disk device (i.e. A:). Any hard disks that are present in the system will appear as C:, D:, etc. but of course, the files on them will only be accessible to DOS if they are FAT16 or FAT32, unless you also have a DOS NTFS driver loaded. The whole floppy disk image is loaded into memory so that you cannot change the files in the image file accidentally (note: if you wish to boot directly so that you can change the contents, use a .IMArw file extension as in v1.54 and later versions).

For instance, you can download the DOS version of HWInfo from here and add it to a floppy disk image as follows:

1. Download the latest DOS version of HWInfo and unpack it fully.
2. Download the file from Tutorial 33 and unpack it to obtain the FREEDOS_288.ima file.
3. Mount the .ima file using WinImage or ImDisk.
4. Copy the two HWInfo files (.exe and .dat) to the floppy disk image.
5. Quit WinImage/ImDisk and save the changes.
6. Copy the .ima file to your E2B USB drive and give it a suitable name - e.g. \_ISO\MAINMENU\HWInfo.ima

When you boot from the image, type HWINFO at the A: DOS prompt to run the program.
If you prefer, add HWINFO to the bottom of the \fdauto.bat file to make it run automatically.

You can add BIOS utilities in the same way.

If you use the .ima file extension, the USB drive will be accessible from DOS as the first hard disk in the system. Any internal hard disks will be the 2nd, 3rd, 4th etc. Of course, FreeDOS will normally only be able to access them if they are FAT16 or FAT32.

Tuesday, 22 July 2014

Re-install linux onto your Asus EeePC using a USB drive

I have added Tutorial 123 to the RMPrepUSB site for anyone wanting to re-install linux onto their Asus EeePC 701 from a USB drive using the 900MB EeePC 701 ISO download.

The larger EeePC downloads (e.g. v1.7  1.9GB) include images for many more EeePC models which can be run Live or can be installed. These larger ISOs can simply be added to your E2B USB drive as .ISO files. See  Tutorial 123 for more details.

Add 64-bit android for x86 Intel Architecture to your E2B USB drive

You can download various versions of 64-bit android for different Intel platforms from here.

Note that these are Betas and so I would recommend you do not try to install it onto your working Windows system! Luckily, most images contain a Live boot option so we can test it out without installing it.

The downloads are in the form of .zip files and contain a disk image which can only boot via UEFI.

To add these to your E2B drive you need to:
  1. Use 7zip or WinRar, etc. to find the live.img payload file which will be inside the .zip download file, e.g. has a live.img file under \out\target\product\haswell_generic. I picked this one for my Z87 Haswell system.
  2. Extract  the live.img file from the .zip file file to a temporary folder (e.g. C:\temp\live.img).
  3. Drag-and-Drop the C:\temp\live.img file onto your MPI_FAT32 Desktop shortcut to automatically create a .imgPTN file
  4. Copy the new live.imgPTN file to your E2B USB drive (e.g. to the \_ISO\MAINMENU folder or \_ISO\LINUX folder) and rename it to something more meaningful (e.g. android_x64_442r1.imgPTN)
Now you can boot in MBR mode (or use QEMU or VBOX) and select the new .imgPTN file to swap over the E2B drive to the new partition image and then go and UEFI-boot it from the correct Intel Platform (e.g. a Haswell-based system in my case). 

Note that UEFI booting from VBox will probably fail as it will refuse to boot from an incorrect CPU\chipset platform.

Sunday, 20 July 2014

How to add Android x86 + Persistence to your Easy2Boot multiboot USB drive

You can run android x86 on an Intel\AMD x86 system from an ISO with persistence directly from your E2B drive.

The steps are:

1. Download a suitable version of Android x86 as an ISO file. Note that you can obtain versions to match different systems (e.g. eeePC, etc.). Using the wrong version on some systems may result in problems with the mouse or touchscreen, etc.
  • android-x86-4.0-r1.1-asus_laptop.iso  for ASUS Laptops/Tablets 
  • android-x86-4.0-r1-amd_brazos.iso     for AMD Brazos platform 
  • android-x86-4.0-r1-eeepc.iso          for ASUS Eee PC family 
  • android-x86-4.0-r1-s103t.iso          for Lenovo S10-3t tablet
  • android-x86-4.0-r1-tegav2.iso         for Tega v2(Atom N455)
  • android-x86-4.0-r1-thinkpad.iso       for IBM thinkpad tablet
  • android-x86-4.0-r1-tx2500.iso         for HP tx2500
2. Copy the ISO file to a MNU folder on your E2B USB multiboot drive (e.g. \_ISO\MAINMENU\MNU or \_ISO\LINUX\MNU).

3. Copy the android_x86_Persistent.mnu file to the same folder as your Android ISO file.

Then Edit the .mnu file so that the ISO filename matches your ISO filename.

4. Create an ext2 file in the E2B root (top level folder) using the RMPrepUSB - Create ext2 FS button - the file name should be \android-rw, but the volume name and size can be whatever you like.

5. Make all files contiguous using RMPrepUSB - Ctrl+F2.

You can find the android .mnu file in the Alternate Downloads area (link on this page) or in later versions of E2B in the \_ISO\docs\Sample mnu files folder (1.54 or later).

Note that for persistence, we must specify the linux drive name in the kernel parameters. The .mnu code tries to calculate this, but you can override it by typing in the correct letter if it guesses wrongly.

For instance, if you boot from your E2B USB drive on a laptop containing a single HDD, the .mnu file will guess that the USB drive will be 'sdb' once android boots - if this is incorrect, and it will actually be 'sdc' then just type c followed by the [ENTER] key when you are prompted by the E2B menu. If you don't type anything within 2-3 seconds then it will just use the calculated value. If the drive letter is wrong, you just won't get persistence!

Tip: You can tell what drive letter the E2B USB drive is as android boots.
In this case it was a  (sda)

If your mouse is not working in android x86, use the TAB, ESC and ENTER keys as well as other keys to navigate the menus and icons.

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Thursday, 17 July 2014

Booting Windows8.1ToGo from a 'Removable-type' of USB Flash drive

I was recently contacted by 'JFL' about getting Windows8ToGo working on his 64GB SanDisk Extreme flash drive.

He was using Windows 8.1 Enterprise as the source and was following my earlier blog here.

The problem was that although he could install Windows OK, it would not boot.

His SanDisk Extreme was listed as being of the Removable type in RMPrepUSB and it was suspected that this may have been the problem because I found some comments from madscye and creosotechris here which sounded suspiciously like something has changed in Win8.1!

Now, in the past, I have had Win7ToGo booting from a USB removable flash drive OK many times. I have also booted Win 8 in the past on a removable USB Flash drive and that had worked OK.

Experiment 1
I already had a  21GB Win8.1ToGo.imgPTN file which I made earlier on my E2B USB HDD and I copied that onto my 32GB USB 3.0 Corsair GT E2B Removable-type drive (after deleting some ISOs to make room!).
I switched partitions using E2B and then I ran BCDBOOT on it to set the BCD correctly to boot from the different drive.
Result: it booted fine under VBox (which treats the USB drive as an HDD) but NOT on my Acer laptop (ever-lasting spinning circle of dots!).

So I did another experiment...

Experiment 2 - fresh install
1. Using DISM, Install Win8.1 Enterprise onto a 16Gb Lexar JumpDrive USB 2.0 which appears as a Fixed Disk (install took about an hour!)
2. Boot from the Lexar USB drive on an Acer Aspire 7741G laptop - go through user setup to Desktop (again very slow!).
3. Reboot and check boots from USB drive OK - all was working fine.
4. Use Bootit.exe to Flip the Bit so the USB drive is now a Removable drive
5. Boot from it on the Acer laptop again
Result: FAIL! (ever-lasting spinning circle of dots)

Experiment 3
1. I re-ran BootIt.exe and flipped back to a Fixed Disk type again
Result: The Lexar boots just fine!

So proof that Win 8.1 ToGo must be run from a Fixed-disk type of  USB drive!

Please tick 'funny' 'interesting' or 'cool' or add a comment to let me know which posts you most enjoy.

Wednesday, 16 July 2014

E2B Updates

In the last few days there have been a few small changes to E2B.

E2B v1.53 - has TRAD_CHINESE language added (thanks to Andrew :-). It also has a bugfix to the Make_E2B_USB_Drive.cmd script which used the wrong version of grub4dos to install code to the MBR of the E2B USB drive (reported by JF-L). This did not cause a problem unless you tried to boot a .imgPTN file - then you would get an error from E2B Qrun.g4b complaining about 'No Grub4dos installed to the MBR of this drive!' I have now changed the script and also changed Qrun.g4b so any version of grub4dos MBR code can be used. If you have seen this error message, it can be fixed by using RMPrepUSB to reinstall grub4dos to the MBR of your USB drive (recommended) or by updating your E2B USB stick to v1.53.

Info: The version of grubinst.exe used in RMPrepUSB has been modified by me to make it more boot-compatible on a wider range of systems than the standard grubinst.exe (the standard version is called grubinst_new.exe in RMPrepUSB). The boot code in the standard grub4dos MBR does not boot on some systems due to some BIOSes detecting what they think is invalid boot code. The special version of grubinst.exe in RMPrepUSB is limited to installing grub4dos to drives numbered 0-9 only, but fixes this problem, so that these few weird systems will also boot to grub4dos. That is why I recommend you always prepare your E2B USB drive using RMPrepUSB or the Make_E2B_USB_Drive script (and for other reasons too, like FAT32 writes are up to 10% faster on a flash drive if you use RMPartUSB to format them!).

The other update is to the MPI Tool pack - MPI_Tool_Pack_Plus_CloverLite_035. This has been updated to version 035a. It has the latest version of ImDisk now. Also, there was a problem if you tried to run  'RestoreE2B (run as admin).cmd' from Windows Explorer by using right-click+Run as Admin AND if you had not installed RMPrepUSB into it's default location on your Windows system (reported by Anderson - thanks!) - this is fixed in the new version.

P.S. No more language files have been sent to me yet - why not achieve some small amount of fame and world gratitude by translating the E2B strings.txt file into your own language?  Instructions are in a previous blog post here. You can even use Google Translate to do most of the grunt work! If you are German or Spanish speaking, please can you check the existing STRINGS.txt files as there are probably some errors as I used Google Translate to make them!

Thursday, 10 July 2014

Another E2B language and @DED-LEGO@

Mr TSAI has kindly sent me a Traditional Chinese language file.

The latest languages will always be in the file located in the Easy2Boot Alternate Download areas.

These are now:
Chinese Simplified
Chinese Traditional
German (Beta)
Spanish (Beta)

Memoarfaa has confirmed that the @DED-LEGO@ GFX menu package works with E2B - see the reboot forum posts starting here. You will need to increase the default number of entries from 15 however by re-compiling the file (why not try 100?).

@DED-LEGO@ showing the E2B menu with walking penguin and animated clock, etc.

Please note: E2B does not fully support GFX Menus or @DED-LEGO@/RIPPER menus and I am only willing to spend a few minutes on any issues/questions you may have concerning these.

Wednesday, 9 July 2014

Easy2Boot v1.52 includes SPANISH, GERMAN and CHINESE support

The Spanish and German STRINGS.txt files probably need some corrections. If you see any problems please just modify the STRINGS.txt file and send me the new version.

Tuesday, 8 July 2014

Sprechen sie Deutsche?

I have tried to convert E2B into German even though I failed my German O-Level!

If you speak German, please you can check my translation by downloading the German STRINGS.txt file and copying the STRINGS.txt file to your Easy2Boot    \_ISO    folder. This file is already in v1.52.

I expect there are some issues - if so please just edit the STRINGS.txt file and test it.
Then email me the corrected version! Use E2B v1.52 to test it.

Don't forget to test the XP, Vista and Win8 installs to (you can use a dummy ISO file).

Note: first version had a $$STRl1x1 problem when loading Windows Install menu - please re-download the corrected version if you have the old version.

To make a STRINGS.txt file in your own language, see the previous blog for instructions.


Monday, 7 July 2014

Chinese E2B now available - now please send me your own language files!

Mr Lin has translated E2B v1.51 into Chinese. The new STRINGS.txt file is available on the E2B Downloads page and will be added into the next version of E2B.

If you would like to translate E2B into your own language, just make a new STRINGS.txt file.

Please send me your new STRINGS.txt file and I will add it to E2B and your fame will be immortalised!

Here is the best way to do it. First make an E2B USB stick if you don't have one already, then...

1. Copy the \_ISO\e2b\grub\ENG\STRINGS.txt file to the E2B drive's  \_ISO folder - always use latest version of E2B (do not use an earlier version).

2. For test purposes - ensure that there are ISO files in all E2B menu folders - the ISO file can be just a one-byte dummy file (e.g a small .txt file renamed to dummy.iso). It is easier to use dummy files because they won't boot and will just return back to the E2B menu again.

Place a dummy ISO file in each of these folder:
Also add an ISO to each of the folders under the \_ISO\WINDOWS folder so that the Windows menus will appear. Ensure there are two or more ISO files in the XP folder (if only one ISO then it will be automatically selected by E2B and you may not see all the dialogue strings).

3. Boot from the E2B stick using an emulator\VM - if using RMPrepUSB and QEMU - use CTRL+SHIFT+F11  (not the F11\QEMU button) - if using VBOX - do not use DavidB's VMUB.
This allows you write access to the USB drive without needing to quit the emulator/VM each time you make a change.

4. Load the \_ISO\STRINGS.txt file into your favourite text editor (e.g. Windows NotePad) - ensure that it supports UTF-8 format so you can save non-ASCII characters.

5. Edit the English text on the right-hand side of all the $$STRxxx= keywords and change it into your own language.

Tip: You may find it quicker to paste the whole English Strings.txt file into Google Translate and cut and paste the translated text back into your STRINGS.txt file.

You can use FIXLANG to tidy up the mess that Google Translate makes of it as follows:
  • 1. Paste the English text into Google Translate and select your language
  • 2. Cut and paste the new translated text into a STRINGS.txt file on a folder on you Windows disk
  • 3. Download the file and extract the files that are in it into the same folder as your STRINGS.txt file
  • 4. Double-Click on the FIXLANG.CMD file to fix the errors. A NEW.txt file will be made after reading the STRINGS.txt file and then NEW.txt will be loaded into NotePad.

This will fix many of the problems caused by Google translate but you will still need to check each line carefully. I recommend using WinMerge to compare the new NEW.TXT file with the original English STRINGS.txt file.

6. Save the file (don't quit the text editor)

7. Hit F9 in the E2B emulation session to reboot E2B - the new changes should now be visible.

8. Go through all the menus and also all the XP and Windows Vista and Windows 8 install screens (you can use a dummy ISO file for these).

9. GOTO STEP 5 and repeat until it is all perfect!

Finally - send me the new Strings.txt file (you can add your name to the top) and let me know what language and locale it is (e.g. Spanish, Catalan, Portuguese-Spanish, etc.).