Friday 28 February 2014

Easy2Boot v1.29 now available

V1.29 changes are:

  • New grldr grub4dos file - now shows the case of file names and folder names correctly on FAT32 volumes when in grub4dos console.
  • New .isomemF01 and .isofira01 file extensions added (use .isomemF01 for ERD 2005 XP ISOs)
  • Sample .mnu files added or modified (Porteus-v2.0-i486.mnu, FD0-konboot-v2.1.mnu, dft32_v416_b00_install.mnu, BIOS Detect and Run.mnu, Porteus-generic-persistent.mnu, Win7_8_Install_Auto64_32.mnu, RedHat.mnu, RedHat_NTFS.mnu, 64Bit_Auto_Detect_ISO.mnu, WinBuilderPE_ISO.mnu, ERD5_DPMS.mnu, ERD2005.mnu, ERD5_FIRA.mnu)
  • "E2B TXT Maker" and "E2B MNU Maker" batch files available in \_ISO\docs\E2B Utilities folder. See blog post here for details.

Download from Tutorial 72a here.

Add Microsoft ERD Commander and MSDart Windows Recovery ISOs to Easy2Boot


Microsoft Diagnostics and Recovery Toolset (Microsoft DaRT) allows you diagnose and repair a Windows system that has problems starting or has other issues.


Using Easy2Boot you can even boot directly from an MSDaRT 5.0 XP PE based ISO and repair a SATA Windows XP hard disk even though the MSDaRT ISO does not contain any AHCI mass storage drivers!

You can also boot via UEFI too (see below for details).

DaRT is not available from Microsoft as an .iso file. Instead, you use a program that creates an ISO file, which is based on Windows Recovery Environment (WinRE) and a set of tools that DaRT provides. This boot media starts the Windows RE, from which you can start ERD Commander. ERD Commander provides a launch platform for the DaRT tools.

Note: MediCat contains Win10/8/7 MSDaRT ISOs, just copy it to your E2B USB drive (keep extension as .iso) ;-)

Typically, you use something like the ERD Commander Boot Media Wizard to create the ERD Commander ISO (although this can vary depending on the version you are trying to create). It is easiest to create the ISO on the same type of OS that it was designed for (e.g. you cannot create a Dart 5.0 ISO using a 64-bit Win7 system).

.isoPE01
DaRT 8.1 supports Windows 8.1 and Windows Server 2012 R2.
DaRT 8.0 supports Windows 8 and Windows Server 2012.
DaRT 7.0 supports Windows 7 and Windows Server 2008 R2.
DaRT 6.5 supports Windows 7 and Windows Server 2008 R2.
DaRT 6.0 supports Windows Vista and Windows Server 2008.

.isomemF01 or .isomemwinv
DaRT 5.0 supports Windows 2000, Windows XP, and Windows Server 2003.
ERD Commander 2005 supports Windows NT 4.0 (Service Pack 4 or later required), Windows 2000, Windows XP and Windows Server 2003. There is also an ERD Commander 2007.

Tip: If you download an .msi file which won't run under Win x64, try extracting the .ISO file from it using 7zip.

If your ISO is based on Vista, Win7 or Win8 PE (DaRT6 and above), then simply rename the .ISO file to .isope01 and copy it to a suitable folder (e.g. \_ISO\MAINMENU). You can also add a .txt file if you want to define the menu entry text and help text.


XP-based ISOs

If you have an XP-based ERD/MSDaRT ISO (DaRT5 or ERD Commander 2005), try using the file extension .isomemF01 or .isomemwinv.

To determine which E2B file extension works best, rename the .ISO files to .ISOask, and then you will be able to choose from a variety of different methods (see below).



For XP-based Recovery PE ISOs, you can also try using one of the .mnu files. In E2B \_ISO\docs\Sample menu files - there are three .mnu files you can try:
  1. ERD5_FIRA.mnu    - this uses FiraDisk
  2. ERD2005.mnu         - this uses WinVBlock to load the ISO
  3. ERD5_DPMS.mnu   - this uses FiraDisk+WinVBlock+DPMS (recommended)
Typically, #1 or #2 will work for most systems. However, if you try to boot an XP PE ISO which does not contain AHCI mass storage drivers, once the Windows Recovery OS has booted, it will not be able to see your internal hard disks or may even BSOD.

To overcome this, use E2B+DPMS which has lots of internal mass storage drivers and use the ERD5_DPMS.mnu file (read the instructions inside it) . This mimics the same process as if you were booting from an XP Install ISO file and it will try to identify and load the correct mass-storage driver for the system. This will allow you to boot from an ERD v5 ISO on a SATA/RAID Windows XP 32-bit system and then repair it.

I would recommend that you use the ERD5_DPMS.mnu for any XP-based Recovery ISOs. You can modify the .mnu file as required.

# Use for MSDaRT 5 XP-based ISOs (use DPMS2 version of Easy2Boot for AHCI drivers)
# Make new empty folder, e.g. \_ISO\MAINMENU\MSDART5
# Copy this .mnu file and the single ERD or PE ISO file to the empty folder (one .iso file per folder)

title XP MSDart ERD (DPMS)\n If DPMS is not installed\n Remember to select an AHCI driver\n AND the FiraDisk driver (using F6).
set MFOLDER=$HOME$
pause --wait=3 Press ENTER 3 times to boot...
/%grub%/XPStep1.g4b
boot

Note: E2B v1.A7 and later versions support the .isoDPMS file extension so you don't need to use this .mnu file.

Note that Easy2Boot+DPMS only contains Windows XP 32-bit mass storage drivers (which may or may not work for Windows 2003). If your DaRT is XP 64-bit based, then DPMS will not work. You can still use F6 to load the FiraDisk 64-bit driver for IDE systems (note: the ISO file name must contain the characters '64' so that E2B will not automatically use 32-bit DPMS drivers).


UEFI booting

You can add any number of MSDaRT (or other) images to an E2B drive and boot from each image in both MBR\CSM mode and UEFI mode (if the image supports UEFI booting - so not XP or Vista 32-bit!). The process is as follows:

1. Run MakePartImage.cmd to make a FAT32 partition image file from your DaRT ISO (or from a working MSDaRT USB Flash drive if you have already made one). It is easiest to just drag-and-drop the ISO onto the Windows MPI_FAT32 Desktop shortcut.
2. Copy the .imgPTN file to your E2B USB drive (ensure it has the .imgPTN file extension or try .imgPTNLBAa for better 'bootability')
3. Run WinContig to make sure the file is contiguous (e.g. \Make_this_drive_contiguous.cmd)

For more details visit the www.easy2boot.com site and look for MakePartImage.




Thursday 27 February 2014

How to quickly make Easy2Boot .txt and .mnu files

The next version of E2B will be v1.29. and will include two script (.cmd) files in the \_ISO\docs\E2B Utilities folder:

E2B TXT Maker.cmd    - generates an Easy2Boot .txt file
E2B MNU Maker.cmd  - generates an Easy2Boot .mnu file
Make SubMenu.cmd     - generates a SubMenu .mnu file

New! E2B v1.78 now includes \_ISO\TXT_Maker.exe.

This may prove useful if you want to make .txt files or .mnu files for all your payload files.

The easiest way to use these files is to first copy them to your Windows Desktop.

Now to make a .txt file or .mnu file for any payload file on your E2B USB drive, simply Drag-and-Drop the payload file onto the E2B TXT Maker.cmd icon or the E2B MNU Maker.cmd icon on your Windows Desktop.

The script will then ask you what menu text and help text you want and then make a new .mnu or .txt file (in the same folder as the payload file) on your E2B USB drive.

You can specify a hotkey key by using ^^ before the keyname (^^ will be translated into ^ when the file is made).

Here are some screenshots of them in action:
E2B TXT Maker (red boxes show user entries)

E2B MNU Maker (no help text was entered in this example)

The E2B MNU Maker assumes that the payload (ISO) file will always be in the same folder as the .mnu file. You can edit the .mnu file after it has been generated. By default, the .mnu file simply runs QRUN and forces the file extension to be the same as it already is, using this line of grub4dos code:

      /%grub%/qrun.g4b force.iso $HOME$/rhel-server-5.7-i386-dvd.iso 

However, you can change this to force the file extension to be something different, e.g. to run a Microsoft Windows 7 Recovery ISO as if it had an .ISO01 file extension, use:

      /%grub%/qrun.g4b force.iso01 $HOME$/ERD6.iso

Or you can add in your own grub4dos menu.

N.B. For the MNU Maker script to work, the E2B payload file name must not contain spaces!


If you want to make a new SubMenu folder:
1. Create a new folder under \_ISO (spaces not allowed) - e.g.  \_ISO\RESCUE_WIN
2. Drag-and-drop the new \_ISO\RESCUE_WIN folder onto the Make SubMenu.cmd file and answer the questions.

This will make a new .mnu file in the \_ISO\MAINMENU folder for \_ISO\RESCUE_WIN.
Now put your ISO files, etc. in \_ISO\RESCUE_WIN and you will see the new menu entry in the Main Menu.


Wednesday 26 February 2014

Adding WinBuilder PE and WinFE ISOs to Easy2Boot

WinFE ISO

Today I made a WinFE ISO based on a Win7PESE WinBuilder Project. To make the ISO, I followed the instructions on the Hacking Exposed website here.

Because I wanted to add lots of WinBuilder Win7SEPE ISOs to my E2B USB drive, I added the ISO file to my Easy2Boot NTFS Flash drive using this .mnu file.

title WinFE \n Note: Mount the E2B boot drive to use all applications
/%grub%/qrun.g4b force.iso01 /Win7PE_x86.iso
boot

The WinBuilder ISO file must NOT be renamed and must be copied the root of the E2B drive so that the MountPEmedia.exe utility will find it and mount it as drive Y:. The name and path of the ISO file is pre-defined in the \Windows\System32\MountPEmedia.ini. This is written by WinBuilder when the ISO is created (the .ini file is inside the \sources\boot.wim file image).

It is important to ensure there is no \Win7PESE.ini file or \CdUSB.y file (which you may have extracted from a WinBuilder ISO previously) in the root of any drive as this could 'confuse' the MountPEmedia utility.

When the WinFE Write Protect Tool automatically launches after WinFE boots, you need to select the E2B USB drive and click the Mount button, otherwise the Y: drive (the mounted ISO file) will be inaccessible and you won't be able to run many of the utilities from the Desktop.

Other ways of adding WinBuilder PE ISOs and other PE ISOs to E2B can be found in the E2B Tutorial here.

Tuesday 25 February 2014

Some folders/filenames are not displayed correctly on FAT32 volumes under grub4dos



This seems to be a 'feature' of grub4dos from at least 2009 onwards (and probably from the year dot!).
You may have noticed that grub4dos does not always list all file names and folder names in the correct case.

e.g. under Windows or linux, we can list these files on a FAT32 volume:

AA
bb
Cc
CCC.txt
ddd.TXT
ANTIVIRUS
ANTIVIRU


but the same files are listed by grub4dos in the console as:

aa
bb
Cc
ccc.txt
ddd.txt
ANTIVIRUS
antiviru


I have reported the bug to chenall and suggested a fix which I have tested and it seems to work.


Sunday 23 February 2014

Adding RedHat Install ISOs to Easy2Boot

[Edit] To install RedHat from an ISO, it is easier to just convert the ISO file to a .imgPTN file using the MPI_FAT32 Desktop shortcut. The notes below are now outdated...[/Edit]

I tried to add the RedHat ISO rhel-server-5.7-i386-dvd.iso today to my Easy2Boot NTFS USB drive, so that I could install RedHat to the 2nd partition of my notebook, but found that the RedHat installer failed to find any source 'packages'. The ISO was mounted on /dev/sdb4 as a CDFS filesystem by E2B, but it couldn't access it for some reason! This was odd, as it must have used it to boot in protected mode, but once booted to linux, the installer does not seem to find it (not even on /dev/sdb4).
The next thing I tried was to specify the source of the packages as a HDD and point it to /dev/sdb1  (the USB drive) and the /_ISO/MAINMENU folder. This worked, but only if the Easy2Boot USB drive was formatted as a FAT32 volume! It seems the RedHat installer environment cannot read NTFS volumes.
The next problem I hit was that the installer wanted to install RedHat linux to my hard disk (which I wanted) but only gave me the option of installing the grub bootloader to the /dev/sdb MBR (i.e. the E2B USB drive) or, using advanced options, it would install grub to the partition sectors of /dev/sda2  (the partition I was installing RedHat to). I wanted to install grub to the MBR of my hard disk (/dev/sda) but this choice was not offered! It seems I needed to swap over the USB boot disk with the internal hard disk.

Anyway, to cut a long story short, here is how to add RedHat to E2B:

1. Ensure that you E2B drive is formatted as FAT32
2. Copy the rhel-server-5.7-i386-dvd.iso file to the \_ISO\MAINMENU\MNU folder
3. Make a new rhel-server-5.7-i386-dvd.mnu text file in the \_ISO\MAINMENU\MNU folder with the following contents:
title REDHAT Installer ISO \n When prompted, specify Hard Disk, /dev/sdb1\n and $HOME$ for the path
set ISO=rhel-server-5.7-i386-dvd.iso
/%grub%/qrun.g4b force.iso01 $HOME$/%ISO%
boot
4. Boot from the E2B USB drive on the target system and run RedHat from the menu entry
5. When prompted for a Package source, choose Hard Drive option and then use:
/dev/sdb1                                       - the E2B USB drive
/_ISO/MAINMENU/MNU                  - the path to the ISO file


Using an NTFS E2B USB drive

OK, but what if my E2B drive is formatted as NTFS? Well, I haven't found a nice way round this. There is no point extracting the files from the ISO if RedHat cannot read the E2B NTFS volume!
One solution is that you make a 2nd FAT32 partition on your E2B USB drive and copy the rhel-server-5.7-i386-dvd.iso file to a new\_ISO\MAINMENU\MNU folder on that partition.

Then you can then modify the .mnu file like this:
/%grub%/qrun.g4b force.iso01 (hd0,1)$HOME$/%ISO%
and point the installer at /dev/sdb2 which will be the USB drive's 2nd FAT32 volume, instead of /dev/sdb1. This worked for me :-)

# FOR NTFS E2B USB DRIVE - e.g.
# PTN0 = NTFS    /_ISO/MAINMENU/MNU  contains .mnu file
# PTN1 = FAT32  /_ISO/MAINMENU/MNU  contains the iso file

Another way to get round the problem is to make a hard disk image of a FAT32 partition which contains the ISO file and then map that FAT32 volume to a partition on the E2B USB drive - the .mnu file for this is shown below (it requires a spare USB flash drive just to make the image file):

# This can be used if your E2B drive is NTFS (or FAT32)
# Format a spare USB Flash/HDD as FAT32, 1 partition, SIZE=(size of Redhat ISO) + 100MB (e.g. if ISO is 3149MB, format USB flash drive as 3250) - Use RMPrepUSB for this.
# Copy redhat ISO onto the root of the FAT32 USB drive
# Use RMPrepUSB - Drive->File, Filename=REDHATPTN.IMG, start=P1, size=P1, filestart=0 to make an image of the USB drive partition
# Copy REDHATPTN.IMG and this .mnu file to \_ISO\MAINMENU\MNU folder (or any \_ISO\xxxxxx\MNU folder) on E2B NTFS drive
# change rhel-server-5.7-i386-dvd to match your ISO filename
# See http://rmprepusb.blogspot.co.uk/2014/02/adding-redhat-install-isos-to-easy2boot.html for more info

title REDHAT FOR NTFS\n To install, choose Hard Drive, sdb4 and /
set IMG=REDHATPTN.IMG
set ISO=/rhel-server-5.7-i386-dvd.iso
if "%E2BDEV%"=="" set E2BDEV=hd0 && pause E2BDEV forced to hd0!
if exist CD echo WARNING: Cannot use partnew command! && pause && configfile (bd)/menu.lst
debug on
parttype (%E2BDEV%,3) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (%E2BDEV%,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PARTITION TABLE 4 IS ALREADY IN USE! (%E2BDEV%,3)=%check% && pause && configfile (bd)/menu.lst
debug 1
if "%check%"=="0x00" partnew (%E2BDEV%,3) 0x0 $HOME$/%IMG% || pause ERROR: $HOME$/%IMG% NOT CONTIGUOUS? && configfile (bd)/menu.lst
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
# set root as new FAT32 partition on E2B drive
root (hd1,3)
map %ISO% (0xff)
map --hook
root (0xff)
chainloader (0xff)
# replace FAT32 partition number C or B with 0 as linux doesn't need it (E2B USB drive is hd1 now)
cat --locate=\x0c --number=1 --length=1 --skip=0x1f2 --replace=\x00 (hd1)+1
cat --locate=\x0b --number=1 --length=1 --skip=0x1f2 --replace=\x00 (hd1)+1

I have added Tutorial #120 which includes these details.

This will only work if the ISO file is <4GB in size however. You could format the spare USB Flash drive as ext2/3 instead of FAT32, but the last two lines of the mnu file would need to be changed to match the ext2/3 partition type number and the ISO file would need to be made contiguous.

Any other suggestions are welcome...

Saturday 22 February 2014

Add Tablet PC and Media Centre Edition (XP) installs to Easy2Boot

If you want to install Windows XP  Tablet PC or Media Centre Edition using Easy2Boot, you will find there is a slight problem. These versions of Windows XP Professional require an additional CD which contains the extra software components requested during the GUI mode install stage. This means that half-way through the GUI install stage, you will be asked to insert CD #2 (which is difficult when you have booted from a single ISO!).



The two CDs used to install Tablet PC 2005 are (MCE is similar):
CD #1 : Windows XP Professional SP2 (this is identical to the standard SP2 ISO)
CD #2:  Windows XP Tablet PC Edition  CD2 (contains a \CMPNENTS folder)

It is important to note that the Product Key that you enter when prompted during the install, determines whether Windows XP Pro, Tablet PC 2005 or Media Center is installed. Therefore, to install Tablet PC, you need to enter a valid Tablet PC Product Key (usually found on the Certificate of Authenticity label on the reverse of the Tablet PC).

What we need to do is combine the two CDs. To do this you need an ISO editing tool such as Daemon Tools (though other utilities such as Magic ISO, UltraISO or WinISO may also work). Whatever ISO editing tool you pick, it is important that the ISO retains it's boot code after editing it and also, if you are using a modified/edited ISO containing filenames that are longer than the standard 8.3 filename length, that it does not convert these filenames to 8.3 when you save the new ISO file.

Using Daemon Tools Pro, to combine the two ISOs is quite simple:
1. Extract the \CMPNENTS folder from the CD #2 and copy whole folder to a temporary folder on your hard disk.
2. Load the CD #1 (XP Pro SP2) ISO in the Daemon Tools Pro Editor
3. Drag and drop the \CMPNENTS folder to the root (i.e. at the same level as the i386 folder)
4. Save the ISO with a new name (e.g. XP_TABLET_PC_1_2.iso)

Now simply copy the new ISO file to the \_ISO\WINDOWS\XP folder of your Easy2Boot USB drive (and make sure it is contiguous using RMPrepUSB - Ctrl+F2 or WinContig, as usual).
Now just install it as you would a normal XP ISO (use the DPMS version of E2B if installing to a SATA hard disk) - just remember to use a Tablet PC Product Key or else you will end up with Windows XP Professional instead of Tablet PC 2005! Also, note that because the ISO is now larger, you will need more memory in the system than if you were installing from two real CDs.

Tip: If you have BSOD or reboot/crash problems using the E2B Step 2 (512MB+) option, try the Step 2 (Low RAM) option instead.

P.S. I found that I had to install under VirtualBox with Virtual Technology CPU enhancements OFF for both the first (textmode) and second (GUI mode) install stages, otherwise it crashed!

Service Pack 3
You may be aware that there is no SP3 version of Tablet PC or MCE; you will have to run the SP3 update after installing the SP2 version. However, there are instructions here on how to prepare an SP3 Tablet PC ISO (actually an SP2 ISO which auto-updates to SP3). I suggest you use nLite to make this new ISO if you run into trouble with 8.3 filename conversion (check the \$OEM$\$$\Microsoft.NET folder name looks correct and is not 'MICROSOF' before saving the ISO file!).

Don't forget to delete the original \i386\SVCPACK.IN_ file and add (or edit) a new \i386\SVCPACK.INF file. I used this for the new SVCPACK.INF file:

;Windows XP
[Version] 
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=1
BuildNumber=2600

[SetupData]
CatalogSubDir="\i386\SVCPACK"

[ProductCatalogsToInstall]

[SetupHotfixesToRun]
NETFX.CMD
ULTIMATE.BAT

Tip: If you are installing a Tablet PC from a Volume Licence version of XP Pro SP2 32-bit, you will need to enter the correct VL Tablet PC key for your establishment. I found one beginning with KT3Q2 got me past the install stage (though it may not be valid to use or activate correctly).





Friday 14 February 2014

Build your own Porteus ISO and run it with persistence using Easy2Booot

Porteus is a linux distro that is quick to boot and you can be running a browser within 30 seconds from selecting the menu entry in the E2B menu. Porteus is a complete linux operating system that is optimized to run from a USB flash drive. It's small (under 300MB) and fast which allows you to start up and get online while most other operating systems are left spitting dust.

You can also configure and build your own ISO online in just a few seconds too!

To download the ISO of your choice, click on the Download button on the top of the page at www.porteus.org. This will take you to a page that walks you through selecting and downloading your ISO. Users with 64-bit hardware can use either version, but users with 32-bit hardware can only use the 32-bit (i486) version so I suggest you stick with the 32-bit version.

You can make a Desktop Edition or a Kiosk Edition. The Kiosk Edition has been restricted to only allow public users access the web browser. It is ideal to boot to if you just want to quickly boot to a browser from another system. Furthermore, the browser has been locked down to prevent users from tampering with system settings. The kiosk edition will run on both 32-bit (i486 or greater) and 64-bit (x86_64) systems and is extremely lightweight in terms of size and used resources. Default kiosk image size is under 50 MB while your custom kiosk ISO size will depend on your choice of adding extra components like flash, java, additional fonts, end even what home page you want, etc. When the kiosk boots it automatically opens firefox to the home page. When firefox is restarted all caches are cleared and browser reopens automatically with a clean session. By adding Flash and Java, I could play YouTube videos with sound on my Asus EeePC with no problem.

For your first ISO, I suggest you start with the Desktop 32-bit - GUI - KDE4 version. Just select your options from build.porteus.org, choose a browser (choice of Firefox, Chrome or Opera), a Word Processor (AbiWord or LibreOffice), Skype and Development tools (binutils, gcc, make, etc.), video card drivers (nVidia, Radeon, Linux OpenSource) and Printer Support (as desired) and click on the large BUILD button. Within a few seconds your ISO will be ready to download and copy to your E2B drive!

The Kiosk version is worth checking out also, just to see what configuration options you have in the Kiosk build wizard!

MBR-boot Porteus with persistence on E2B from ISO

To run Porteus from Easy2Boot with persistence, use the correct Porteus-xxx-persistent.mnu file or Porteus_generic_persistence.mnu  (in the \_ISO\docs\Sample mnu files folder of E2B). Instructions are inside the .mnu file.

1. Add generic .mnu file to \_ISO\LINUX\MNU folder
2. Add ISO to \_ISO\LINUX\MNU folder
3. Create \porteus persistence file on USB drive (see .mnu file for instructions)
4. Run \Make_this_file_contiguous.cmd

See also here for more details or you can follow the instructions in Tutorial 73.

UEFI-booting with persistence

Using agFM (legacy and UEFI64)

Create a .cfg file using the text below.
Then follow the instructions on the commented lines. The same /porteus  persistence file can be used for both E2B and agFM if you wish.


# agFM .cfg file for Porteus 4 x64 iso boot with persistence
# For UEFI and legacy
# Place this .cfg file in \_ISO\LINUX folder, place ISO file in \_ISO\LINUX\MNU folder
# Use Make_Ext.exe to create persistence file \porteus  with volume name of porteus in root of USB drive
# make all files contiguous
# NO SPACES in filenames or paths
# If you get a 'spawning too fast' error, just reboot. It is a known issue (maybe to do with NTFS filesystem and dirty shutdown?)

# Only show menu if 64-bit CPU:
if [ "$CPU" = "64" ] ; then
menuentry "Porteus 4 64-bit with persistence" --unrestricted --class ubuntu {
# WARNING: partnew will write a new partition entry
   set "grubfm_per=(${grubfm_device})/porteus"
   
   set "grubfm_path=/_ISO/LINUX/MNU/Porteus-CINNAMON-v4.0-x86_64.iso"
   
    set "grubfm_file=(${grubfm_device})${grubfm_path}"
if [ ! -e "${grubfm_per}" ] ; then 
echo ERROR ${grubfm_per} does not exist on (${grubfm_device}) ; read ; fi
if [ ! -e "${grubfm_file}" ] ; then 
echo ERROR ${grubfm_file} does not exist on (${grubfm_device}) ; read ; fi
if [ ! -e "(${grubfm_device})${grubfm_path}" ] ; then 
echo ERROR (${grubfm_device})${grubfm_path} does not exist on (${grubfm_device}) ; read ; fi
# check files are contiguous
set x=0
set NC=0
stat -c -q -s x "${grubfm_per}"
if [ ! "${x}" = "1" ] ; then 
echo ERROR: ${grubfm_per} is not contiguous or does not exist!
sleep 5
set NC=2
fi

   if test -d (${grubfm_disk},4) ; then echo ERROR: Partition 4 in use ; sleep 5 ; set NC=5; fi

if [ "${NC}" = "0" ] ; then 
   if ! test -d (${grubfm_disk},4) ; then partnew --type=0x00 --file="${grubfm_per}"  (${grubfm_disk}) 4 ; fi
   loopback loop "${grubfm_file}"
   set root=(loop)
   set gfxpayload=keep
   linux /boot/syslinux/vmlinuz from=${grubfm_path}  changes=LABEL:porteus/
   initrd /boot/syslinux/initrd.xz
   boot
fi

}
fi

menuentry "Back" {
grubfm "${grubfm_current_path}"
}


Using .imgPTN


Porteus uses rEFInd for UEFI-booting. I used Porteus-XFCE-v3.2rc5-x86_64.iso.

1. Convert the ISO file to a FAT32 .imgPTN file. Increase the suggested size to allow for a persistence file (e.g.  add 300 MB extra).

2. Switch to the .imgPTN file

3. Edit the \EFI\BOOT\refind.conf file as below:

menuentry "Porteus GUI mode" {
volume KERNELS
icon EFI/BOOT/icons/os_porteus.png
loader boot/syslinux/vmlinuz
initrd boot/syslinux/initrd.xz
options ""
submenuentry "Save changes" {
add_options "changes=/porteus/porteussave.dat"


4. Edit the \boot\syslinux\porteus.cfg file as below for MBR booting:

LABEL GRAPHICAL
MENU LABEL Graphics mode
KERNEL vmlinuz
APPEND initrd=initrd.xz changes=/porteus/porteussave.dat
TEXT HELP
    Run Porteus the best way we can.
    Try to autoconfigure graphics
    card and use the maximum
    allowed resolution
ENDTEXT

5. Boot to Porteus and use the Systems - Porteus Save File Manager   (password=toor) to create a \porteus\porteussave.dat file on the E2B USB drive. Set the size so that it uses all the free space available.

You may get some error messages on first boot but these can be ignored.

Tip: Use CTRL-S to pause the boot messages and CTRL-Q to resume, so you can see if the persistence file was accepted as valid or not.

Login using  root (pwd-toor) and type startx to start the Desktop GUI if any problems.

Now you should be able to UEFI (press F2 in rEFInd menu and choose 'Save changes' menu entry - see below) or MBR boot with persistence.


Porteus 3.2

The latest builds of Porteus come as straight ISO files (the Porteus Build Wizard has been discontinued).

If you make a FAT32 .imgPTN file from the ISO (I used Porteus-MATE-v3.2.2-x86_64.iso), then you can also download any of the .xzm modules (e.g. palemoon-27.2.1-x86_64-1.xzm) and copy them into the \porteus\modules empty folder which is already present.

When you next boot to Porteus from the .imgPTN file, the modules will be automatically added (e.g. Applications - Internet - PaleMoon).

Tip: Create the persistence file as detailed above only after you have added all the modules that you want. If you add modules afterwards, it may prevent Porteus from running startx and booting to the Desktop GUI.


Note: To boot with persistence via UEFI - press Insert or F2 in the rEFInd menu and choose the 'Save changes' boot option.

Thanks to Ed.P for the info about adding modules.



Wednesday 12 February 2014

Major bug in WinMerge 2.14.0?

If you are using WinMerge 2.14.0 I recommend you use the older 2011 version instead (change the .7z file extension to .exe to install it).

If I compare two folders in WinMerge 2.14.0 and then sort on the  'Comparison result' column, it does not sort the column correctly. This means that some files which are 'Left only' are not sorted to the top or bottom and so if you have a lot of files, you will miss the 'Left only' files as they appear further down the listing and are mixed in with 'Right only' entries! This is a serious bug and so I recommend you to use the 2011 version instead.

P.S. I had this issue on two different Win7 64-bit systems. It seems to depend on which folder you have on the Left and which one is on the Right. If I simply swap over the two folders, then it works correctly (i.e. Left=folderX v. Right=folderY = WORKS OK, Left=folderY v. Right=folderX = DOES NOT SORT CORRECTLY!

Tuesday 11 February 2014

BIOS type and 64-bit CPU detection features for Easy2Boot

The next version (available soon! v1.28 now available!) will have a BIOS string-detection feature.

You will be able to detect which system E2B is running on and boot the correct ISO file for it.

Suppose you had some EeePC laptops and some Samsung laptops and you want to run a different  .isoPE file for each one (or different linux ISO or Windows Install ISO). Now you can do this using this type of menu:

# Example menu. Look for a BIOS string and then pick correct ISO file
# force.isope01 forces it to run as a .isope01 even if the file is an ISO file
# strings are not case-sensitive - ISO files must be in same folder as this .mnu file
# 0x7ff+0x01 searches 512 bytes at end of BIOS ROM
# 0x680+0x180 searches all of BIOS from 0xD000:0 to 0xFFFF:F (and so will be slower)
# remove > nul text if you want to see the strings that it has found


title Run Win PE ISO \n Auto-detect based on BIOS
set ISO=
call /%grub%/SearchBS.g4b 0x700+0x100 "eeepc" > nul
if "%GOTSTR%"=="1" set ISO=AsusEeePC.iso
if not exist GOTSTR call /%grub%/SearchBS.g4b 0x680+0x180 "samsung" > nul
if "%GOTSTR%"=="1" set ISO=Samsung.iso
if "%ISO%"=="" echo WARNING: BIOS NOT IDENTIFIED!" && pause && configfile /menu.lst
if not "%ISO%"=="" echo BIOS IDENTIFIED - WILL BOOT %ISO% && pause
/%grub%/qrun.g4b force.isope01 $HOME$/%ISO%
boot

All you need to do is specify the BIOS string and the ISO you want to run.
Depending on your ISO, this may work with Windows Install ISOs too (depending on if they require a Product Key in the AutoUnattend.xml file or not!).
0x600+0x40 is a good base address and range to test for Video BIOS ROM strings (C000:0-C800:0).

Note that the line:
/%grub%/qrun.g4b force.isope01 $HOME$/%ISO%
forces the file to run as an .isope01 file, even if the file has a different extension. You can change this as you wish (e.g. use force.iso to make it boot as a plain ISO file or just omit the force.isope01 text completely to run it with whatever file extension you have used in the ISO= variable line).

If you have different Windows 8 ISOs that you want to install depending on which system that you boot the E2B USB drive from, then use a menu like this:

title Install Windows 8 \n Auto-detects based on BIOS type
set ISO=
call /%grub%/SearchBS.g4b 0x700+0x100 "eeepc" > nul
if "%GOTSTR%"=="1" set ISO=AsusEeePCWin8.iso
if not exist GOTSTR call /%grub%/SearchBS.g4b 0x680+0x180 "samsung" > nul
if "%GOTSTR%"=="1" set ISO=SamsungWin8.iso
if "%ISO%"=="" echo WARNING: SYSTEM NOT IDENTIFIED! && pause && configfile /menu.lst
if not "%ISO%"=="" pause --wait=3 SYSTEM IDENTIFIED - WILL BOOT %ISO%
set MFOLDER=/_ISO/WINDOWS/Win8
/%grub%/%LANG%/RunWin8.g4b  Win8
boot

In this case the .ISO files need to be in the \_ISO\WINDOWS\Win8 folder.

Reducing the search area will improve the speed of the string search.

P.S. To experiment in finding strings and reducing the search area, run E2B and get to the grub4dos command console (press p then enter the password 'easy2boot' then press c). Now you can run the grub4dos batch file from the command console, e.g.:

/%grub%/SearchBS.g4b 0x680+0x180 "Inspiron"

This will display any matching strings it finds for 'Inspiron' and their location. If 'Inspiron 530' is displayed, you can try specifying that as the search string. As the exact location of the BIOS string may vary from BIOS version  to BIOS version, it is best to search an area of xxxx+0x80 - don't just use xxxx+0x1 or it may not work on a slightly different BIOS version even if it is the the same system type and mainboard.

Please let me know if you think this might be useful for you and how you might like to use it. For instance, if some of your systems require a different parameter when booting linux but other systems crash when the same parameter is used, you can use this feature to identify which system you have booted from.

CPU 64-bit detection

You can also do a similar thing to detect 64-bit CPUs. Thus you could have an 'Install Windows 8' menu item and it would install Win8 64-bit on 64-bit systems and 32-bit Win8 on 32-bit systems. See Tutorial 72a for more details.

To boot an ordinary payload (ISO, IMA, IMG) file, use the following .mnu file (see 64Bit_Auto_Detect_ISO.mnu)

# Change the 1st, 2nd and 3rd line as required - line 4 may be deleted if no pause required

title Run a 32-bit or 64-bit linux ISO \n Auto-Detect system type and run correct ISO
set ISO=Ubuntu32.iso
checkrange 2,3 is64bit && set ISO=Ubuntu64.iso
pause WILL BOOT %ISO% - Press ENTER key to continue...
/%grub%/qrun.g4b $HOME$/%ISO%
boot

P.S. It would also be possible to change the linux vga parameters for linux livecd ISO booting, based on what vga modes the system supported by the BIOS when E2B was booted. Let me know if you would be interested in this (and give me an example grub4dos menu).

Saturday 8 February 2014

Com! Magazin Readers (ISOs vom Stick booten)

Welcome, Com! magazine readers. This is just to tell you that the latest version of Easy2Boot is v1.28. The magazine used v1.17 which is now old.
Please obtain the latest version from here. If you want to install XP from an XP Install ISO, download "E2B + Windows XP Mass Storage Drivers [30MB]" - this includes XP 32-bit Mass storage drivers.

Herzlich willkommen, Com! magazin Leser. Dies ist nur zu sagen, dass die neueste Version der Easy2Boot ist v1.28. Das Magazin verwendet v1.17, die jetzt alt ist. 
Erhalten Sie die neueste Version von hier. Wenn Sie von einem XP XP installieren Installieren ISO wollen, laden Sie "E2B + Windows XP Massenspeichertreiber [30 MB]" - dazu gehören XP 32-Bit-Treiber für Massenspeicher.

Thursday 6 February 2014

Easy2Boot in Com! Magazine

If you subscribe to Com! Magazin (a German computer magazine), look out for an article on Easy2Boot in the 03/2014 issue on Friday 7th February!

http://www.com-magazin.de/news/com-magazin/neue-com-3-2014-da-237003.html



Easy2Boot v1.27

Note: I just re-tried v1.26 and it is working now! Seems this was a false alarm??? v1.26 and v1.27 should be the same and no need to update to 1.27!

v1.26 seems to have a problem with Win8 Install ISOs if a Helper USB drive is used together with a USB HDD - please update to E2B v 1.27 or later!!!

The problem seems to be in the \_ISO\e2b\grub\ENG\RunWin8.g4b batch file, but as far as I can tell it has hardly changed for at least 3 previous versions, so I am not quite sure what the problem was. When I added a few lines to debug it, it just started working again!

v. 1.27 seems to work though, so please update to this new version ASAP.

Sorry for the inconvenience, I am still trying to figure out why it stopped working....


Wednesday 5 February 2014

Easy2Boot v1.26 available (with new batch file to make an E2B USB drive)

v1.26 2014-02-05
  1. Small changes so we can have individual XP ISO entries in the Main menu (e.g. 'Install XP Home' and 'Install XP Pro' can be in the main menu with no need to pick the ISO name). Use XP_Inst_from_MainMenu.mnu in sample mnu folder as an example.
  2. A few new sample .mnu files added for OpenElec and XiaOpan
  3. Latest grub4dos version 0.4.5c 2014-01-17
  4. New \_ISO\docs\Make_E2B_USB_Drive.cmd batch file added to automate making of an E2B drive (requires RMPrepUSB to be pre-installed).
The Make_E2B_USB_Drive.cmd batch file is designed to be run from the \_ISO\docs folder.
Download the E2B .zip file, extract it to a temporary folder on your hard disk and then double-click on the Make_E2B_USB_Drive.cmd batch file to make an Easy2Boot USB drive (requires Admin rights). It formats the USB drive (choice of FAT32 or NTFS), installs grub4dos and then copies the E2B files across. Your E2B drive is then ready to boot!

The batch file requires RMPrepUSB to be pre-installed on your system in the default (C:\Program Files) folder.

Make_E2B_USB_Drive.cmd - Initial Drive Selection

Make_E2B_USB_Drive.cmd - E2B drive completed

Sunday 2 February 2014

Adding Xiaopan to Easy2Boot

Xiaopan is a linux distro used for wireless penetration testing (e.g. cracking WPS). You can add the latest ISO to Easy2Boot in the usual way (i.e. just copy the .iso file to \_ISO\MAINMENU and then run WinContig to make the iso file contiguous). This will work on both FAT32 and NTFS E2B USB drives even though Xiaopan does not support NTFS.


However, if you want to run Xiaopan with persistence, it is easiest to use a FAT32 E2B USB drive.

To make your extensions and changes persistent, Tiny Core needs a directory to store them.

1. Extract the mydata.tgz file from the root of the ISO file using 7Zip
2. Copy the file to the root of the FAT32 USB boot drive
3. Rename the file to xi.tgz

If however, you have an NTFS E2B USB drive, we need to create an ext2 filesystem...

1. Use RMPrepUSB - Create ext2 FS to create an ext2 file of the filename x-rw in the root of the NTFS E2B USB drive (any size you choose).
2. Copy the Xiaopan.mnu file from the \_ISO\docs\Sample mnu files folder to an E2B subfolder (e.g. \_ISO\MAINMENU\MNU) - see below.
3. Move the Xiaopan ISO file to the same folder and rename it to Xiaopan.iso

Now when you boot from the ISO for the first time, use the Control Panel - Backup\Restore applet in Xiaopan and change the backup location from sdb4/ (may differ on your system but it should end in 4) to sdb3/. Now change the wallpaper colour and Exit. There should be no error message (if there is, try using Control Panel - Mount Tool to mount \sdb3 first and then Exit). When you run Xiaopan again, the wallpaper settings should be remembered.

The .mnu file is shown below:
#create an ext2 file in the root of the E2B USB drive called x-rw
#when Xiaopan boots, use the Control Panel - Backup\Restore applet to change the location to partition 3 - e.g. sdb3/

iftitle [if exist $HOME$/XIAOPAN.iso] Xiaopan (with persistence)\n Boot using .mnu file with persistence
if exist CD echo WARNING: Cannot use partnew command! && pause && configfile (bd)/menu.lst
set ISO=XIAOPAN.iso
set PER=x-rw
if "%E2BDEV%"=="" set E2BDEV=hd0 && pause E2BDEV forced to hd0!
#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 On %E2BDEV% 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
if "%check%"=="0x00" partnew (%E2BDEV%,2) 0x0 /%PER%
errorcheck on
#map ptn 4 to ISO
partnew (%E2BDEV%,3) 0x0 $HOME$/%ISO%
map $HOME$/%ISO% (0xff)
map --hook
root (0xff)
chainloader (0xff)