Monday 20 January 2014

E2B v1.23 available

This version allows you to boot from a different grub4dos bootable drive and then 'chainload boot' to your E2B USB drive. This means that if you use an E2B USB Hard drive, then you could boot from either your E2B USB Hard drive or your E2B Helper USB Flash drive.

Helper drive menu.lst file:

clear
pause --wait=3 Booting from Easy2Boot USB Helper Flash Drive...
find --set-root /_ISO/e2b/grub/menu.lst
chainloader /grldr
boot

Note that to support this, the sample .mnu files in the \_ISO\docs folder have also been changed because the E2B drive will no longer be (hd0,0) and so the partnew commands have been modified to use the correct device name for the E2B drive (e.g. hd2). If you have used any of the sample .mnu files then you will need to update them in order to use this new feature.

If you always boot from the E2B drive then you don't need to change your .mnu files. The standard E2B .mnu files have not changed.

Thursday 16 January 2014

Fake Flash drives on Amazon!

It seems even Amazon sellers are offering these fake capacity flash drives!
See here for a review of one on Amazon.com.

In case you missed it, I wrote a blog post on fake flash drives and FakeFlashTest here.

Wednesday 8 January 2014

Easy2Boot v1.22_DPMS bugfix!

Somehow the DriverPack.ini file was missing from the Easy2Boot_v1.22_DPMS.zip download, this has now been fixed. Please download Easy2Boot_v1.22B_DPMS.zip and either overwrite your whole E2B drive or just extract and copy DriverPack.ini from the Easy2Boot_v1.22B_DPMS.zip file.

v1.22B Small bugfix so that NOF7HD variable works if used in MyE2B.cfg.

Note: This link may not work at a later date - please check Tutorial 72a for the latest downloads.




P.S. Why is spam mail so dumb? I have been getting lots of spam mail recently for nursing bras and hair restoration oil - who do they think I am - a bald mother?

Tuesday 7 January 2014

Booting a CrunchBang ISO from a grub4dos USB drive

I had not heard of CrunchBang before (why are there are so many linux distros? .If only these developers would collaborate, I am sure linux could easily beat Windows!).

Anyway, here is a menu which will boot to the Live desktop from a CrunchBang 11 ISO file

title CRUNCHBANG
set ISO=/crunchbang-11-20130506-i686.iso
uuid () > nul
set UUID=%?%
echo %UUID%
map ()%ISO% (0xff) || map --mem ()%ISO% (0xff)
map --hook
root (0xff)
kernel /live/vmlinuz boot=live fromiso=/dev/disk/by-uuid/%UUID%%ISO% live-media-path=/live config splash noeject
initrd /live/initrd.img

Of course, as usual, you can boot the ISO to the Live OS just by adding the ISO to your Easy2Boot \_ISO\MAINMENU folder (no need to edit a menu).

Installing CrunchBang! from a USB drive

If you wish to boot from the CrunchBang ISO using E2B and then select the 'Install' option to install it onto another disk, you will need to use the same 'mount -t iso9660 -o ro /dev/sdb4 /cdrom' shell command that I detailed in my previous 'kali' blog post.
If using a .imgPTN file (no real need as not UEFI?) then you will need to use the 'mount -t vfat -o ro /dev/sdb1 /cdrom' shell command.




Sunday 5 January 2014

Installing Kali to a disk from a Kali ISO located on an E2B USB drive

Kali will run as a Live OS just by copying over the ISO to your E2B drive (e.g. copy to \_ISO\MAINMENU), however if you try to use the Install options to install Kali to another disk, you will find that you get an error as it will not be able to find the 'CDROM'. The same problem occurs with USB drive made with YUMI too, however with Easy2Boot we can work around the issue.

You can manually fix this problem if using E2B by typing in a linux command from the command shell to mount the partition #4 that will now contain the ISO file mapped by E2B before booting it, as follows:

When the CD-ROM is not detected, choose 'No' 'No' <Continue>, and choose the Execute the Shell menu option, then type ls /dev/ to find the fourth USB partition name - sdx4 (usually sdb4) and then type
mount -t iso9660   -o  ro   /dev/sdb4   /cdrom
and check if it was successful using the mount command - then type
exit
and proceed with install.

Other useful commands are:
list-devices disk
ls /dev/s*
umount /cdrom            to unmount the cdrom.

If you cannot remember this, why not make a .txt file with the same name as the ISO with these instructions in the text file, e.g. (all one long line)

title Kali Linux\n To INSTALL to another disk, run the shell and type:\n mount -t iso9660 -o ro /dev/sdb4 /cdrom\n You can use ls /dev/ to find the correct name of the USB drive\n Then type exit to continue


Note: E2B has a sample .mnu file in the \_ISO\docs\Sample mnu Files folder for Kali.

If you use a MakePartImage .imgPTN file to boot to Kali, you can use a similar command - e.g.
mount -t vfat -o ro /dev/disk/by-label/EASY2BOOT /cdrom

or
mount -t vfat -o ro /dev/sdb1 /cdrom

where EASY2BOOT is the label of the partition (EASY2BOOT is the default volume label when you create the image file using MakePartImage).

Easy2Boot v1.22 now available (bugfix)

If you find the Ptn2_Menu.mnu menu doesn't work, this should now be fixed in version 1.22. Thanks to DvdK for spotting this! 4 files have been changed in the \_ISO\e2b\grub folder.
Note: 1.22A fixes the bug where if you are using Ptn2_Menu.g4b, then the F7-F10 menu entries are missing from the resulting menu of ISOs on the 2nd partition so you cannot go back to the main menu.
1.22B fixes a small bug if you are using the NOF7HD variable to suppress the F7 menu item.

Saturday 4 January 2014

Easy2Boot v1.21 available

Small update to DPMS2. If two XP mass storage drivers are found, then a firadisk/winvblock driver was not selected - this resulted in a BSOD. What you should do is use F6 to select the required drivers.
Only two virtual F6 floppies are recognised by XP Setup, therefore we cannot have two default mass storage drivers + a default Firadisk or WinVBlock driver. fd0 can have one default driver and fd1 can have another default driver, but we cannot have 3 default drivers!
I have changed the behaviour now so that one mass storage driver is selected + the firadisk/winvblock driver. However, if the wrong mass storage driver is selected by DPMS2, you will need to press F6 and select the other mass storage driver manually (as well as the firadisk/winvblock driver).
The only way to load  3 or more drivers is to use the F6 key.
V 1.21 of E2B and V1.21 +DPMS2 mass storage drivers are now available.

Tuesday 31 December 2013

Easy2Boot v1.20 now available

v1.20 is now available, changes are:
  1. Now should work with Win8.1 Retail install ISOs which use \sources\install.esd instead of install.wim
  2. Option to erase partition 4 if detected on the E2B drive when booting (use with care!)
  3. 64-bit XP install ISOs will now not use DPMS2 (which is 32-bit only) if there is '64' in the ISO name - so you can now press F6 and install the firadisk and winvblock 64-bit drivers. 
  4. 3rd level folders now removed except for a single MNU folder - e.g. \_ISO\MAINMENU\MNU and Sample .mnu files changed to use \_ISO\xxx\MNU folders.
  5. 8.1 Enterprise 90-day Eval product key added so you can install from the free M$ downloadable ISOs. 
  6. Windows Vista+ ISOs are now only loaded using ImDisk and not Firadisk - the Firadisk drivers are no longer used and have been removed (but still used for XP using an F6 floppy image).
  7. Memtest86-5.0.0 ISO added to Utilities - Memory Test menu

Note: You can still use any name for the 3rd level folders instead of MNU, and you can overwrite your E2B drive with v1.20 and it will still work.

Please let me know if there are any problems with this new version (and any successes you have too!)

Monday 30 December 2013

Add the Windows 8.1 Enterprise 90-day Evaluation ISOs to Easy2Boot

If you copy the Windows 8.1 Enterprise 90-day Evaluation ISO to your Easy2Boot \_ISO\WINDOWS\Win8 folder of your Easy2Boot USB drive and try to install it, you will find that you will receive a pop-up error message which reads 'Windows cannot find the Microsoft Software License Terms'.


This is a sign that the product key chosen by you, and subsequently written to the AutoUnattend.xml by Easy2Boot, is missing or incorrect.

Although this version does not require the user to enter a Product Key when installed from a DVD or from a 'flat-file' USB drive, to get these ISOs to work in Easy2Boot, you need to use the product key that is embedded inside the product. To find out what the product key is, you can install it to a VM from the ISO file, or use RMPrepUSb to extract the ISO to a USB drive and install it to a real system. Then run the Magical Jelly Bean KeyFinder to find the Product Key. In the case of Windows 8.1 Enterprise 90-day Evaluation it turns out to be 76FKW-8NR3K-QDH4P-3C87F-JHTTW.

We can now either create a .key file in the \_ISO\WINDOWS\Win8 folder for this key (copy an existing example file and modify it), and/or add it to the CHOOSE FROM A LIST.key file (in both the menu and the place where the variable is set).

E2B version 1.20 will contain a key file for Windows 8.1 Enterprise 90-day Evaluation.

P.S. Use the command slmgr -rearm from an Admin command console to get an extra 90-days when your first 90 days expires.

As an alternative, you can convert the ISO to a .imgPTN file using the MPI Tool Kit. If you use the MPI_FAT32 shortcut, then it will also be UEFI-bootable too.

Monday 23 December 2013

Something for the Christmas holidays (GeGeek Toolkit)?

Update: a donation is required for GE Geek ToolKit now.

OK, you have eaten as much Turkey as you possibly can and even the Brussel sprouts weren't too bad, you've also consumed as much alcohol as you can (probably a bit too much!) and opened all your presents (ready to exchange as soon as the shops open). There is nothing on TV except repeats, and Uncle Fred is snoring his head off so you can't hear a thing anyway.

So why not checkout the massive GE Geek Tech Toolkit? The link for the Toolkit is at the very top of the GE Geek home page or click here for a direct link to the download page.

The download is a 1.3GB ZIP file which extracts to almost 2GB of portable apps. It works like this:

1. Extract the files to the root of a USB drive and makes a \GeGeek Toolkit folder on the drive.

2. Run GeGeek_Toolkit.exe from the \GeGeek Toolkit folder on the USB drive - this puts an icon in your Windows Desktop TaskBar (a small arrow in a circle)

3. Now right-click on the taskbar icon and run 'Run Ketarin Update' - this will update all the apps to their latest version (if you have an internet connection)

4. Quit GeGeek_Toolkit (right-click on the icon and Exit) and then run it again.

You now can run hundreds of portable apps from the GeGeek Tech_Toolkit panel (right-click the task bar icon)!

As well as the apps listed in the pop-up panel, WSCC Portable contains the Microsoft and NirSoft apps. This also has an auto-update feature.

The toolkit is regularly updated by the author and is free (though you can make a donation).

Put this on your USB toolkit drive and you have a load of useful apps all in one place and all easily update-able! Why not download it and check out the 100's of useful apps! Also checkout the very useful references and utilities listed on the main home page.

P.S. Did you know Brussel sprouts taste better now than they used to 10 years ago? That bitter taste that many people don't like has been genetically engineered out of them. There are about 30 varieties of the 'sprout' now and the new ones are really nice (honest!). You can even eat them raw - try slicing them up and adding them to a salad (but it would be best to sleep alone that night or blame the dog!).

Saturday 21 December 2013

Easy2Boot v1.19 full release now available

I have now changed the links in Tutorial 72a.
v1.19 is now available as the E2B download and as the E2B+DPMS2 Mass Storage Drivers download.
The only difference between v1.19 and v1.19Beta is that v1.19 will warn the user if he/she is trying to install from a Vista/7/8 Install ISO from a USB Hard disk without a 'Helper' USB Flash drive also being present.
Hopefully, this will give new users a hint that they need a USB 'Helper' drive if they try to install from a USB Hard drive.

Tuesday 17 December 2013

RMPrepUSB v2.1.716 now released


  • Bug in Drive->File and File->Drive functions fixed
  • lateste grub4dos grldr file 0.4.5c 2013-11-30 used.
Download from here.

Monday 16 December 2013

Boot HitManPro from Easy2Boot (or any grub4dos USB Flash drive)

HitManPro (Hitman Pro) can be booted from a grub4dos multiboot or Easy2Boot USB flash drive as follows:

Friday 13 December 2013

Avast! Anti-Virus Rescue Disk USB boot problems (+fixes)


If you have installed Avast! AV (Avast 2014.9.0.2008) onto your Windows system, you can make a bootable USB drive or ISO file from the Tools menu. However, you may run into problems when using it to make a USB drive. Here are some quick instructions for 3 different situations (see the 'Long Story' below for more details):

Wednesday 11 December 2013

Having trouble making files contiguous on a USB drive?

Easy2Boot (and many other grub4dos boot drives) require the files on the bootable USB drive to be contiguous for certain features to work.

RMPrepUSB has an option to run WinContig (included in the RMPrepUSB download) using the Ctrl-F2 hotkey in RMPrepUSB to make all the files on the E2B drive contiguous. Sometimes WinContig may fail to make all files contiguous however and this is usually due to the lack of free space available on the drive.

  • In the diagram above, FILE 4 is 1.3GB in size and is not contiguous.
  • Since there is not 1.3GB of contiguous free space on the drive, WinContig cannot copy the FILE 4 to an area of contiguous free space because there is no free space large enough.
  • If you copy a new 1.3GB file to this drive, it will have to occupy the unused free space and so the new file will also be non-contiguous
A nice tool you can use to help you look at the files on the USB drive and understand what is happening is the free Piriform Windows utility Defraggler.























Defraggler also asks if you want to erase the Recycle Bin files when you Analyze or Defrag a drive.

As you can see from the screenshot above, you can select a drive, click Analyze and then immediately see the fragmented files (shown by the red squares). You can then select a red square and Defraggler will list what files are in that block. You can then tick the checkbox next to any of these files and defragment them separately by clicking the 'Defrag checked' button. Nice!

WinContig does not consolidate the unused free space on a drive volume. This means that if there is not a contiguous run of free clusters on the drive, WinContig and Defraggler will not be able to defrag a large file.

However, you can use the Defraggler - Defrag Freespace option to collect all the unused clusters into one or two large blocks. This is a very useful feature and will often fix any WinContig issues you may have (run WinContig afterwards).



Defraggler is not a good tool to use on the whole USB drive however. It attempts to move all the files to the beginning of the drive as well as make them contiguous. This can take a longggg time and is also unnecessary. What is more, if you Stop Defraggler during a defrag operation, it can prevent the drive from being defragged again and prevent WinContig from being able to make all the files contiguous unless you first delete a large file from the USB drive to make more room or use the Defrag Freespace option! So I would advise that you only use Defraggler to defrag single files and don't interrupt it once it has started. If you need to make all files on a drive contiguous use WinContig (or Ctrl+F2 in RMPrepUSB).

P.S. In case you missed it, in a previous blog post, I describe a case where a 6GB ISO could not be copied and then defragged on an empty 8GB USB drive and the reason why this happens.

Tuesday 10 December 2013

Easy2Boot v1.19Beta available

I have uploaded v1.19 and called it a Beta because there are quite a few changes.
I found that the grub4dos 0.4.6a version of grldr used in E2B v1.18 has bugs (hangs on the find command) and so with v1.19 I have gone back to using the 0.4.5c version (2013-11-30).

Other E2B v1.19Beta changes are:

  1. If using a 1024x768 background you may have observed horizontal black lines across the lower 1/3 of the screen. This is now fixed (thanks for reporting this Krishna).
  2. Clonezilla .mnu file added to docs folder for easy backup/restore from an external USB E2B HDD.
  3. A language folder (\_ISO\e2b\grub\ENG) now holds some files which are use by E2B for the English messages. You can now copy this entire folder (to say \_ISO\e2b\grub\SPANISH) and then change the text in the SPANISH folder files. To flip over E2B to use these Spanish files, use 'set LANG=SPANISH' in your MyE2B.cfg file.
  4. If you had 'iftitle' entries in your Main menu, you may have noticed that they disappeared if you returned from a sub-menu to the Main menu. This has now been fixed  (thanks again for reporting this Krishna). Note that some of the sample .mnu files in the docs folder have also been tweaked and you may need to update your E2B .mnu files with the new version if you have used xbmcbuntu_12.2_Persist.mnu or CloneZillaBackupRestoreHDD0.mnu.
  5. The PassPass download (see bottom of the E2B Tutorial 72a page) has been modified. This had some problems with corrupting 1024x768 backgrounds and returning back to previous menus.
Multiple Language Support
Note: You could put code at the bottom of your MyE2B.cfg so that the user can choose a language - e.g.

set LANG=ENG
set ask=
set /p ask=SPANISH or ENGLISH (Seleccionar espanol o Ingles) [S=Spanish/espanol] : 
if /i "%ask%"=="S" set LANG=SPANISH
set ask=

Note that you must use 'espanol' instead of 'español' as when MyE2B.cfg is run, we are still in text mode and not in graphics mode so UTF-8 characters won't display correctly.

Of course, all of the .mnu files would also have to be modified where required - e.g. for instance, for the \_ISO\MAINMENU\ZZZF8ReloadMenu.mnu file, you would need to rename it and then modify it and add extra menus for Spanish  (save the .mnu file in UTF-8 format so you get the grave accents, etc.):

For example, this will display the F8 option in the Main menu in either English or Spanish, depending on what the user chooses when E2B boots:

\_ISO\MAINMENU\ZZZF8ReloadMenuENG_SPAN.mnu file
============================================

iftitle [if "%GFX%"=="" if "%LANG%"=="ENG"] ^F8 Reload Main Menu  [F8]\n
debug 0
if exist (bd)/_ISO/e2b/grub/menu.lst configfile (bd)/%grub%/menu.lst 
if not exist (bd)/_ISO/e2b/grub/menu.lst set MFOLDER=/_ISO/MAINMENU && configfile (md)0xA000+0x50
boot

iftitle [if not "%GFX%"=="" if "%LANG%"=="ENG"] Reload Main Menu\n
debug 0
#clear all variables if reload menu.lst!
if exist (bd)/_ISO/e2b/grub/menu.lst configfile (bd)/%grub%/menu.lst 
if not exist (bd)/_ISO/e2b/grub/menu.lst set MFOLDER=/_ISO/MAINMENU && configfile (md)0xA000+0x50
boot

iftitle [if "%GFX%"=="" if "%LANG%"=="SPANISH"] ^F8 Recargar Menù Principal [F8]\n
debug 0
#clear all variables if reload menu.lst!
if exist (bd)/_ISO/e2b/grub/menu.lst configfile (bd)/%grub%/menu.lst 
if not exist (bd)/_ISO/e2b/grub/menu.lst set MFOLDER=/_ISO/MAINMENU && configfile (md)0xA000+0x50
boot

iftitle [if not "%GFX%"=="" if "%LANG%"=="SPANISH"] Recargar Menù Principal\n
debug 0
#clear all variables if reload menu.lst!
if exist (bd)/_ISO/e2b/grub/menu.lst configfile (bd)/%grub%/menu.lst 
if not exist (bd)/_ISO/e2b/grub/menu.lst set MFOLDER=/_ISO/MAINMENU && configfile (md)0xA000+0x50
boot


Please let me know how you get on with this new version. When the bugs are fixed in grub4dos 0.4.6a I will switch back to it again, but for now use the 0.4.5c 2013-11-30 version of grldr (272,951 bytes).


Monday 9 December 2013

Easy2Boot v1.19 has better support for languages and text changes

E2B uses a lot of .mnu text files which can easily be edited by the user. However, some of the menu entries come from code embedded in the grub4dos script files and these are difficult to change.
E2B v1.19 will have better support for you to change much more of the menu and scripts into different languages. The new versions has a new \_ISO\e2b\grub\ENG folder containing these files:

MenuF9.hdr
MenuF10.hdr
MenuFastLoad.hdr
MenuDefaults.hdr
MenuF7.hdr
MenuF8.hdr
MenuWinMenu.hdr
XPWINNT.g4b
XPStep1.g4b
XPStep2.g4b
XPStep2LowRam.g4b
RunWin8.g4b
RunVista.g4b
MenuWinInstall.lst
PickaFile.g4b
ReadMe.txt

If you want to change the text in any of these files to Spanish or French or whatever, then simply copy the whole folder and make a new folder under the grub folder - e.g. \_ISO\e2b\grub\SPANISH. You can then change the text in those files as you like. To switch over to your new files, set the LANG variable in your \_ISO\MyE2B.cfg file, e.g.

set LANG=SPANISH

You can also copy the \_ISO\e2b\cfg\Menu.lst file to your new folder and change the startup messages if you wish.

This means you can change these files without affecting the E2B files. Any new E2B updates will not affect your files.

See my previous blog for details on how to allow the user to choose between two languages.

Installing Windows 7 from an ISO from an Easy2Boot HDD (no Helper Flash drive)

Update: Using E2B v1.32 and later, you can boot from a partition image containing the Windows Install files. This means you can have lots of different .imgPTN files on your E2B hard disk and boot to any of the images in either MBR/BIOS CSM mode or UEFI mode without needing a Helper flash drive. It only takes a minute to create the image file from a Windows Install ISO and add it to your E2B drive.

Easy2Boot can install Windows Vista and later Windows OS's from any number of different Windows Install ISO files on the E2B USB drive, however if your E2B drive is a hard drive or fixed-disk type of Flash drive (i.e. not a removable Flash drive) then you also need to connect a USB 'removable' Flash drive (Helper drive) when you boot from the E2B Hard drive.

This is because the AutoUnattend.xml file is only detected by Windows PE Setup if it is on a removable drive (such as a removable USB Flash drive or DVD). The special E2B AutoUnattend.xml file (if detected by Windows PE) causes the whole Windows ISO to be loaded as a Virtual drive. If Windows Setup does not see a \Sources folder on any drive in the system, we get this message:



However, if you only ever want to install from just ONE Windows Install ISO from an E2B hard drive, you can just extract the \Sources folder from the ISO that you want to use and copy the whole \sources folder to the root of your E2B Hard drive. Then when Windows PE Setup boots, setup will see the \sources folder and be happy (i.e. you won't see the 'A required CD/DVD drive device driver is missing' message).

To get Windows 7 to prompt you to choose from a number of Windows 7 versions (Basic, Professional, Ultimate, etc.) then delete the \sources\ei.cfg file. So on your E2B USB HDD we have:
  • \_ISO\WINDOWS\Win7\Win7_32_SP1.iso
  • \Sources\*.*   (extracted contents of \sources folder from the Win7 Install ISO)
Actually, I found that only 2 Win7 files (\sources\setup.exe and \sources\install.wim) are required for a Win7 SP1 install in this way (I have not tested other Windows versions). Win8 may need a special ei.cfg file or more files in the \sources folder than Win7.
To save space, you can delete the large \sources\install.wim file inside the ISO file using a suitable ISO editing utility (e.g. Daemon Tools or Magic ISO).

P.S. To install Vista/7/8 from ISO files an E2B USB HDD (or if booting from a VM) without a USB removable Flash Helper drive, you can manually run \_ISO\e2b\Firadisk\LOADISO.cmd - see here for details.

[Edit] Win8.1 also needs just the \sources\install.wim and the \sources\setup.exe files.

Friday 6 December 2013

Dell Inspiron 530 + WD Passport 2TB USB drive troubles!

Today I tried to backup my Dell Inspiron 530 system's internal SATA hard disk by booting from my 2TB WD Passport USB 3.0 hard disk installed with Easy2Boot and containing the Clonezilla ISO and the .mnu file detailed in the previous blog post.
It was the first time that I had tried to boot the Dell system from the Passport drive and it seems that the Dell doesn't like it! If I connect the Passport drive to one of the Dell USB 2.0 ports, not only does the Dell BIOS not detect the Passport USB drive, but it also does not detect any other USB drive which I also have connected at the same time.
Even if I connect a single USB Flash drive only, press F12 to get to the BIOS Boot Selection menu and then connect the Passport hard drive, the BIOS fails to boot from the USB Flash drive (the symptoms indicate that the USB Flash drive is no longer accessible as it only tries to boot from the other internal drives in the system).
In the end, I found that I needed to boot with only an E2B USB Flash drive connected, boot to the E2B menu from the Flash drive and then connect the Passport USB hard drive. Then, when I booted to the Clonezilla ISO, Clonezilla saw the two USB drives and all the internal hard disks.
The problem now was that E2B had enumerated the hard drives in the system incorrectly and so it had set the Passport USB drive as sdd1 (my Dell system has 3 internal hard drives), whereas the Passport USB hard drive was designated as sde1 by Clonezilla once it had booted.
To fix this I modified the Clonezilla menu that I posted in my previous blog. Now the user can override the drive designations chosen by the E2B grub4dos menu code if they wish (see below):


I have updated the previous blog post with the new menu code and also updated the .mnu file in Tutorial 118. So now you can boot from an E2B USB Flash drive but you can store the Clonezilla backups on another drive (or even backup or restore a different drive in the system).

Let me know if you try this and tell me how you got on.
Cheers
Steve


Thursday 5 December 2013

Disk Imaging using a Clonezilla ISO file on an Easy2Boot USB Hard Drive

By adding the Clonezilla ISO to your large E2B USB bootable hard drive plus a .mnu file, you can easily create and restore complete hard disk images. Clonezilla can be scripted so that you can define the location of the backup images and the disk to be operated on (i.e. backed-up or restored).

Tutorial 118 describes how to add these options to your E2B menu:


The E2B menu is hard-coded to use '/dev/sda' as the target drive. This means that when you boot from the E2B USB drive, you must ensure that sda is the drive that you want to backup or restore. All backup images are placed in the /clonezilla folder on the E2B USB drive.
Also, E2B assumes that the last linux drive is the E2B USB drive where the /clonezilla image backups are kept. E2B tries to guess at the linux drive designation of the E2B drive, but again you need to double-check this before you confirm the operation.

If you wish you can run the ISO manually and choose your own options.

So add the ISO and .mnu file to your 1TB E2B USB Hard disk and try it out on a test system (but be careful when restoring!).

Disclaimer: please don't blame me if you accidentally wipe your system hard disk when restoring an image or wipe your USB E2B drive - Clonezilla is a powerful tool!

Any comments welcome.

Here is the .mnu file (you can download it from the Tutorial), it is also included in the latest version of E2B in the \_ISO\docs\Sample mnu files folder.

# Note: This menu is for Easy2Boot USB drives which have an unused 4th partition entry - the partnew command used in the grub4dos menu below will erase the 4th partition on the USB boot drive.

# Make a \_ISO\BACKUP\Clonezilla folder and copy clonezilla-live-20131125-saucy-i386.iso and this file to it
# Make and empty \clonezilla folder on your E2B drive (note all lower case letters!)
# If you want the menu to appear in the Main E2B menu - use a \_ISO\MAINMENU\clonezilla folder instead.

title Create Backup Image of first Hard Disk (Clonezilla)\n Make an image backup of your internal hard disk
set ISO=%MFOLDER%/Clonezilla/clonezilla-live-20131125-saucy-i386.iso
set WDRV=sda
# Backup drive is always last drive
set /a HDCNT=*0x475 & 0xff
set /A BAKDRV=%HDCNT%+0x60
echo %BAKDRV:~1,9% | set dlet=
echo -e sd\%dlet%1 | set BAKDRV=
echo BACKUP DRIVE
echo -e ============
echo
echo BACKUP IMAGES will be placed in clonezilla folder on $[010f]%BAKDRV%
set /p ask=Press ENTER if OK or specify the linux name of the USB partition (e.g. %BAKDRV%) : 
echo
echo
if not "%ask%"=="" set BAKDRV=%ask%
set ask=
echo The drive to be backed up will be $[010f]%WDRV%
set /p ask=Press ENTER if OK or specify the linux name of the target drive (e.g. %WDRV%) : 
echo
if not "%ask%"=="" set WDRV=%ask%
echo
echo You can check the drive names once CloneZilla has booted.
echo -e When Clonezilla starts, select <Cancel>
echo Then choose 'cmd' to get to the command prompt
echo Then type    sudo fdisk -l            to show all the drives in the system
echo or   type    sudo fdisk -l /dev/sdb   to show drive sdb parameters
echo
echo $[010f]%BAKDRV% WILL CONTAIN THE IMAGE FILES
echo $[010f]%WDRV%  WILL BE THE DRIVE TO BE BACKED UP
echo
set /p ask=Press Y to continue (Y/N) : 
if not /I "%ask%"=="Y" configfile (md)0xa000+0x50
echo
set ask=
set HDCNT=
set dlet=
partnew (hd0,3) 0x00 %ISO%
map %ISO% (0xff)
map --hook
set BOPT=boot=live quiet live-config noswap nolocales edd=on nomodeset ip=frommedia ocs_live_keymap="NONE" splash
set RUN=ocs_live_run="ocs-live-general" keyboard-layouts="NONE" locales="en_US.UTF-8" live-media-path=/live toram=filesystem.squashfs ocs_live_batch="yes" 
set PRERUN=ocs_prerun="mount /dev/%BAKDRV% /mnt" ocs_prerun1="mount --bind /mnt/clonezilla /home/partimag/"
set RUN1=ocs_live_run="ocs-sr -q2 -c --batch -j2 -z1p -i 2000 -sc -p true savedisk ask_user %WDRV%"
#echo kernel /clonezilla/live/vmlinuz %BOPT% %RUN% %PRERUN% %RUN1%
#pause
root (0xff)
kernel /live/vmlinuz %BOPT% %RUN% %PRERUN% %RUN1%
initrd /live/initrd.img


title Restore a Disk Image to first Hard Disk (Clonezilla)\n Restores all partitions from an image.\n WARNING: THIS DESTROYS ALL PARTITIONS and FILES!
set ISO=%MFOLDER%/Clonezilla/clonezilla-live-20131125-saucy-i386.iso
set WDRV=sda
# Backup drive is always last drive
set /a HDCNT=*0x475 & 0xff
set /A BAKDRV=%HDCNT%+0x60
echo %BAKDRV:~1,9% | set dlet=
echo -e sd\%dlet%1 | set BAKDRV=
echo RESTORE DRIVE
echo -e =============
echo
echo IMAGE FILES will be looked for in the clonezilla folder on $[010f]%BAKDRV%
set /p ask=Press ENTER if OK or specify the linux name of the USB partition (e.g. %BAKDRV%) : 
echo
echo
if not "%ask%"=="" set BAKDRV=%ask%
set ask=
echo The drive to be written to (all partitions) will be $[010f]%WDRV%
set /p ask=Press ENTER if OK or specify the linux name of the target drive (e.g. %WDRV%) : 
echo
if not "%ask%"=="" set WDRV=%ask%
echo
echo You can check the drive names once CloneZilla has booted.
echo -e When Clonezilla starts, select <Cancel>
echo Then choose 'cmd' to get to the command prompt
echo Then type    sudo fdisk -l            to show all the drives in the system
echo or   type    sudo fdisk -l /dev/sdb   to show drive sdb parameters
echo
echo $[010f]%BAKDRV% WILL CONTAIN THE IMAGE FILES
echo $[010f]%WDRV%  WILL BE THE DRIVE TO BE RESTORED (all drive contents will be destroyed)
echo
echo $[010f]PLEASE NOTE: All partitions on drive %WDRV% will be destroyed.
echo
set /p ask=Press Y to continue (Y/N) : 
if not /I "%ask%"=="Y" configfile (md)0xa000+0x50
echo
set ask=
set HDCNT=
set dlet=
partnew (hd0,3) 0x00 %ISO%
map %ISO% (0xff)
map --hook
set BOPT=boot=live quiet live-config noswap nolocales edd=on nomodeset ip=frommedia ocs_live_keymap="NONE" splash
set RUN=ocs_live_run="ocs-live-general" keyboard-layouts="NONE" locales="en_US.UTF-8" live-media-path=/live toram=filesystem.squashfs ocs_live_batch="yes" 
set PRERUN=ocs_prerun="mount /dev/%BAKDRV% /mnt" ocs_prerun1="mount --bind /mnt/clonezilla /home/partimag/"
set RUN1=ocs_live_run="ocs-sr -c --batch -g auto -e1 auto -e2 -j2    -p true restoredisk ask_user %WDRV%"
#echo kernel /clonezilla/live/vmlinuz %BOPT% %RUN% %PRERUN% %RUN1%
#pause
root (0xff)
kernel /live/vmlinuz %BOPT% %RUN% %PRERUN% %RUN1%
initrd /live/initrd.img

title CloneZilla (boot directly from the ISO file)\n Boot from the ISO for advanced options
set ISO=%MFOLDER%/Clonezilla/clonezilla-live-20131125-saucy-i386.iso
partnew (hd0,3) 0x00 %ISO%
map %ISO% (0xff)
map --hook
root (0xff)
chainloader (0xff)

P.S. I am really excited this Christmas - I saw an advert on the TV last week asking people to 'adopt a Snow Leopard' - so I immediately subscribed. I have just had a large cat flap knocked through the conservatory wall and can't wait for it to arrive... I hope it's house trained!

Tuesday 3 December 2013

Boot from a USB drive using VirtualBox with full rd/wr access

It has been possible to boot directly from a USB drive attached to a Virtual Machine for several years now.

Plop!

One approach is to boot from a Plop ISO and then through Plop you can boot from the USB drive.

However, Plop employs a read-only USB driver stack and so only read-accesses to the USB drive are possible (when in real mode using BIOS calls) when you boot under a VM using Plop. For instance, if you boot to DOS using Plop you will find that you cannot edit/create any files on the USB drive.

Make a .vmdk file

Alternatively, you could make a USB drive vmdk file for VirtualBox to use, using a VBox command line or the MakeUSBVmdk.cmd script to make the .vmdk file for the USB drive. However, this still only allows read-only access to the USB filesystem under VirtualBox (until you boot to an OS which has it's own USB drivers).

VMUB

Download VMUB here (use the small link at the top of the page)



DavidB has solved this problem with his Virtual Machine USB Boot utility (see here for the original blog post which started the development of this utility). This allows you to boot directly from a USB drive using either QEMU or VirtualBox with full read/write access to the USB drive. It works by dismounting the USB drive from Windows, running the VM, and then re-mounting the USB drive when you quit the VM.

This is important for Easy2Boot users because Easy2Boot writes to sectors and files on the E2B USB drive using grub4dos (which uses the BIOS), so unless you have full read/write access, booting from an E2B USB drive via VirtualBox often leads to problems. Most of my YouTube videos and all my preliminary testing of USB booting is done using VBox and DavidB's utility.

Users of grub4dos USB drives may have noticed that the grub4dos 'default' command does not work under VBox when using just a .vmdk file or Plop! This is because the default command actually writes values to a file on the USB drive (usually called default). Using DavidB's VMUB utility however, the grub4dos default command will work just fine!

I have made a YouTube video here: http://www.youtube.com/watch?v=mvYkujvUXhc showing how to set up a VM for the VMUB utility. There is also a tutorial here.


Tip: Hold down the CTRL key and then click Start and VMUB will not dismount the USB drive before running VBox. This is useful if you are designing E2B menus (for instance) - you can still edit any file on the USB drive whilst VBox is running, then simply reboot (e.g. press F9 in E2B) and it will reboot with the new changes. There is no need to stop the VM and re-run it every time you need to change a file or two.

One thing to bear in mind is that the USB drive will be treated by any OS as a hard drive and not a 'Removable drive'. That means that you cannot use VBox+DavidB's utility to run a Windows 7/8 install from an E2B USB Flash drive as it won't pick up the AutoUnattend.xml file.

Also any OS that tries to look for the boot files only on a USB drive on a USB controller will fail to boot because the USB drive is attached to a 'virtual hard disk' in the VM. Luckily, most OS's scan all devices on boot-up, but a few linux distros specifically look for the source boot files on a USB port. In these case, the VM boot will fail and you will need to try a real system. Some linux distros specifically look for a real CD/DVD drive for the boot files - in this case, booting from an E2B USB drive, even on a real system will fail (the same distro will fail on ANY kind of USB drive, no matter how it was prepared!).

You also need to realise that access to the USB drive is not possible while the VM is running because the USB drive has been detached from Windows at that point (unless you hold down the CTRL key first).

Apart from this, I have found 99% of bootable ISOs, etc. boot just as well from E2B under VMUB as they do when booting on real hardware. If you do experience any problems with a particular payload, then you should test using a real system (try both USB 2.0 and 3.0 ports).

Saturday 30 November 2013

Easy2Boot v1.18 now available

v1.18 is now available for use and testing. Chenall has released a new version of grub4dos with some font bugfixes.
Aliums theme with 'Antique' font. 
The $FontTest.mnu menu file has been added so that you can test the appearance of the menu in any of the 36 fonts!


You may immediately notice two changes, the font in the menus will appear thinner and grub4dos 0.4.6a is now used instead of grub4dos 0.4.5c.

Here is a summary of the changes:

  1. grldr (grub4dos) 0.4.6a is now used. If you have a problem then try the latest v0.4.5c from here.
  2. The new versions (2013-11-30 and later) of grub4dos grldr fix a bug where the BIOS fonts are used instead of the loaded unifont font when a new menu is loaded. This means that the text you will see now in the menus will be in the unifont font and so it will appear different (thinner) than in older versions of E2B.
  3. You can now load any font by specifying a full path in your MyE2B.cfg file.
  4. 34 new font files are available in the \_ISO\docs\Fonts folder.
  5. The Aliums theme now uses the 'Antique' font.
  6. You can test out all the fonts by copying the $FontTest.mnu file from the  \_ISO\docs\Fonts folder to \_ISO\MAINMENU folder.
  7. You can specify that the BIOS font will be used by using 'set BIOSFONTS=1' in your MyE2B.cfg file. The characters used for normal ASCII characters will then appear as they did in previous versions of E2B (thicker).
  8. .isoDOS01 file extension supported (for Win98 and other DOS-based Install ISOs).
Please let me know if you find any problems. I will updated the E2B+DPMS download in a few days if I don't hear about any bugs.

As usual, to update your E2B USB drive, just overwrite all E2B files on the USB drive with the files in the v1.18 zip file.

P.S. RMPrepUSB is not yet updated with the new version of grub4dos. If you use the 'Install grub4dos' button in RMPrepUSB, it will install an older version of grldr and you will not see any font changes in the menu! Use the version of grldr that is contained in E2B v1.18  (or copy the new grldr file to the RMPrepUSB application folder so that RMPrepUSB always uses the new version of grldr).

Thursday 28 November 2013

Install Windows Server 2003 from an ISO using Easy2Boot


Today, just to see what would happen, I downloaded a Windows Server x86 32-bit Install image (X13-04874.img  Standard Edition Eval version) , renamed it to X13-04874.iso and placed it in the \_ISO\WINDOWS\XP folder on my Easy2Boot USB drive.
I then installed Server 2003 to a SATA hard disk on a Virtual Box VM using the DPMS2 XP drivers and it worked fine. The second CD had to be extracted onto the flash drive and then I ran Setup2.exe to complete the install.
It may not work for all systems as sometimes there are separate 2003 drivers required, but it seemed to work fine on the VBox Virtual Machine. Of course, unless installing to IDE disk drives, the 64-bit version of 2K3 would probably not work and most people would want the 64-bit version. E2B does not support XP 64-bit mass-storage drivers (and before you ask, I have no plans to do so!).

P.S. If you have a working USB Flash drive that will install Server2K3 x64, then you can convert it to a .imgPTN file and add the .imgPTN file to E2B.

Monday 25 November 2013

Changing the font in Easy2Boot

Note: Thanks to Wonko from reboot.pro, I have been able to generate some alternative font files for the ASCII character set (0x20-0x7e). The next version of E2B will have these fonts available in the \_ISO\docs\Fonts folder. 

The character after !" is the £ (0x00A3) character which is loaded by the unifont.hex.gz full font file.
If no font is loaded then £ is displayed as a 'ooA3' as small characters from the BIOS font. Most fonts display the 00A3 character as ú.


These fonts only contain characters 0x20-0x7E, but unifont.hex.gz contains all unicode characters including the A3 (£) font.

Sunday 24 November 2013

Install Windows 98SE/ME from an ISO with Easy2Boot

The new .isoDOS file extension that is recognised by Easy2Boot v1.17 and later versions, allows you to boot a DOS-based bootable ISO and access all the files on the CD-ROM portion of the ISO from DOS. It does this by making an empty virtual drive in memory and copying the contents of the ISO into it (under grub4dos) before it boots to DOS. DOS can then access the files on this virtual drive.



This method almost worked with a Windows 98SE Install ISO that I had. There were a few problems however...

First, there were just too many files inside the ISO for the grub4dos environment to enumerate! To fix this I simply deleted the unneeded folders from the Win98 ISO and just left the \Win98 folder inside the ISO file plus the [BOOT] folder (required for floppy-emulation booting) and the files that were in the root of the ISO (like Setup.exe). This reduced the ISO to 180MB.

The second problem was that the first disk drive seen by MS-DOS and the Windows 98 Setup install process was my E2B Flash drive. So when I tried to install Win98, it kindly made the 2nd FAT partition which I happened to have on my USB flash drive, active and put the DOS boots files on it!

It still booted to the internal hard disk, but only when I booted from my USB drive!
To fix this, E2B v1.18 will now recognise the new .isoDOS01 file extension. This does the same thing as .isoDOS but swaps over the USB flash drive with the internal hard disk so that DOS sees the internal hard disk as the first hard disk.

So, in summary, to get a bootable Win98SE Install ISO (e.g. OEM ISO, many others are not bootable) working with E2B (even an NTFS USB E2B drive), do the following:

1. Remove all extra folders from the ISO using an ISO tool - e.g. UltraISO or Daemon Pro so the boot sectors are still present (just leave the \Win98 folder and the files in the root).
2. Rename the iso to .isoDOS01
3. Use Easy2Boot v1.18 or later (it will be available in a few days...)

More details in Tutorial 117 on my RMPrepUSB site.


Update - Alternate Method

This method uses a .imgPTN file but we do not switch to it, we just map it as a large floppy disk image!

Note: If you prefer, you can use ImDisk to make a large floppy disk image, rather than use MakePartImage.

1. Drag-and-Drop the Win98/ME ISO onto the MPI_FAT32 Desktop shortcut. The OEM ISO should be bootable and contain a bootable floppy disk image , so use that one if possible.

Add at least 10MB to the default size as we are going to add some files to it and Windows Setup may also need temporary space.

Copy the .imgPTN file to \_ISO\DOS\MNU on your E2B USB drive (any menu folder will work except for \_ISO\WINDOWS\aaaa folders).

2. Use Switch_E2B.exe to 'switch in' the \_ISO\DOS\MNU\Win98.imgPTN file

3. Use 7Zip to open the Win98.ISO file and double-click [BOOT] and then the Boot-1.44M.img file - you should see the DOS boot files (including IO.SYS).

4. Extract all the DOS boot files to the root of the USB drive (which should be in the CSM mode).
Note: If you cannot see a \e2b folder in the root, then you did not do Step 2 correctly!

5. Use Switch_E2B.exe to Restore E2B Partitions  on the USB drive to get our E2B partition(s) back.

6. Make a new \_ISO\DOS\MNU\Win98.mnu file with the following contents:

title Install Windows 98 using .imgPTN file\n Install Win98
map $HOME$/Win98_SE.imgPTN (fd0)
map (hd1) (hd0)
map --hook
#set just one HDD and one floppy
map --harddrives=1
map --floppies=1
root (fd0)
chainloader /IO.SYS

This can be found in the \_ISO\docs\Sample mnu Files\Windows folder on later versions of E2B.

E2B v1.99+ now supports the .imafdhdd0 file extension which does the same as above, so just rename the .imgPTN file to .imafdhdd0 (and no need for a .mnu file). Place the file in the \_ISO\DOS folder so it can be seen in the DOS menu.

7. Boot from E2B and choose the DOS Install Windows 98 menu entry.
Choose the MS-DOS  'no CDROM support' option.

At the A: prompt, run FDISK and set up a FAT partition on your C: drive (IDE hard disk) with an Active boot flag.

8. Reboot to E2B and re-run the DOS Win98 menu.

At the A: prompt type
CD \WIN98\ENA            (or whatever folder the correct Setup.exe file is in and FORMAT.COM - the one in the root may not work!)
FORMAT C: /Q
MKDIR A:\TEMP           (may not be required)
SETUP

(skip the 'create floppy startup disk' option but don't cancel it or Setup will quit!)

Tips: If testing on a VM, configure an IDE virtual disk in a Win98 VM and disable VT-x\AMD-V (at least for the Setup process).

Do not configure more than 900MB of RAM or Win98 may crash!


Thursday 21 November 2013

Defining fonts in grub4dos

Chenall's grub4dos versions have the ability to load a GNU Unifont hex file using the inbuilt 'font' command. Easy2Boot uses this feature to load the unifont.hex.gz font file.
It seems there are a few bugs with this and chenall is hopefully going to fix this very soon (see issue 160). [Edit] Use grub4dos v0.4.5c 2013-11-30 or later[/Edit].

The normal way to use this is to switch to graphicsmode and load the font file, e.g. a UTF-8 format menu.lst file like this can be used:

graphicsmode -1 800
font /unifont.hex.gz

title reboot (重启)
reboot

However, we can also define hex fonts within a menu. The following menu will work without needing to use the font command or use a unifont file:

# font demonstration

graphicsmode -1 800

title test grub4dos font (GGGgggGGG)\n reload the menu
configfile /menu.lst

title Reset to BIOS font (use left/right cursor keys to select this menu item)
font

title reboot (重启)
reboot

title halt (关机)
halt

# Define specific UTF-8 fonts just by adding them to the end of the menu.lst file

# 4 chinese glyphs
5173:10100810082000003FF8010001000100FFFE010002800280044008203018C006
542F:010000801FFC1004100410041FFC10001000100017FC24042404440487FC0404
673A:100011F011101110FD10111031103910551055109110111211121212120E1400
91CD:001000F83F000100FFFE01001FF011101FF011101FF001003FF80100FFFE0000
# g character - ASCII code 67 hex
0067:0000000000023A44444438203C42423C









Note that the four chinese characters are displayed correctly and also the letter g is in a different font.
Each glyph has a unicode hex index number - you can look them up on a chart here
Standard ASCII characters are in the Basic Latin (ASCII) chart.

The font command will overwrite any existing ASCII font with the font contained in the BIOS, thus selecting the 2nd menu item will cause the g to be displayed in the standard font but the four chinese glyphs will be unaffected (as they are not part of the BIOS font table).

Note: If you try this yourself using an October/early November 2013 version of grub4dos, you will find that the g character will not be changed due to a bug in grub4dos. Hopefully, chenall will release a new version to fix this issue soon.

This feature means that you can define your own special characters if you wish, without needing to use a hex font file. If you only need a few special characters, you can just use the relevant lines taken from the unifont.hex file (extracted from unifont.hex.gz).

For instance, you can redefine the letter g as a series of vertical lines using:

0067:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

As the hex byte AA is 10101010 in binary, we get 4 vertical lines per characters, like this:





Of course, you can use a different character code such as 0024 for $ rather than 67 for 'g'.

Note: The latest versions of Easy2Boot contain a variety of grub4dos font files for the standard 'Basic Latin' 0x20-0x7E characters.

Wednesday 20 November 2013

Adding WinBuilder ISO files to Easy2Boot

If you have an ordinary WinPE ISO file on your Easy2Boot USB multiboot drive, you can make it automatically load the ISO file as drive Y: if you rename the file with a .isoPE or .isoPE01 file extension (more info here). However, PE ISOs are only mounted as a virtual drive when wpeinit runs, which for most WinBuilder PE builds is too late! So if you use a .isoPE extension for your WinBuilder PE ISO, you may not see all the Desktop icons (but the ISO will be loaded as drive Y: eventually by E2B).

Many WinBuilder builds have a \Windows\System32\winpeshl.ini file which typically runs some early Desktop initialisation utilities before the Easy2Boot unattend.xml has a chance to run and load the ISO as virtual drive Y: - e.g.

[LaunchApps]
MountPEmedia.exe
"hide /NOCONSOLE /SILENT /WAIT start.cmd"
"Shortcuts.exe -f %SystemDrive%\Windows\System32\Win7PE.cfg"
"PinTool.exe -debug %SystemDrive%\Windows\System32\Win7PE.cfg"
"X:\Program Files\PEShell\PEShell.exe"

Luckily (actually, probably luck had nothing to do with it!) most builds of WinBuilder have a special feature which will load the ISO file automatically as drive Y: on boot, if an .INI file is found.

For example, if you have made a recent WinBuilder Win7PESE ISO, just place a file in the root of the E2B drive called Win7PESE.ini with the path and filename of the ISO - e.g.

[IsoInfo]
IsoName=\_ISO\MAINMENU\Win7PE_x86.ISO


The filename may vary depending of what PE build you are using. The .ini file will cause the WinBuilder PE to load the ISO as drive Y: when MountPEmedia.exe runs. Consult the documentation for the exact INI filename that is required (click the yellow warning triangle that appears on the PE Desktop when drive Y: is not found).