Wednesday 16 April 2014

MakePartImage Update Pack 0.012/0.013 available (Note: BUG in 0.012! Please use version 0.013 or later!)

Note: sorry, I introduced a bug at the last minute before uploading this version - linux string replacement was skipped! Please re-make any linux .imgPTN files with version 0.013 or later and they should boot in MBR mode!

I have tweaked MPI to work with more linux ISOs. The following all now work booting in MBR boot mode as .imgPTN files.

  • trinity-rescue-kit.3.4-build-372.iso
  • PandaSafeCD.iso
  • precise-5.7.1.iso
  • Porteus-XFCE-v3.0rc2-i486.iso
  • antergos-2013.11.17-i686.iso
  • liberte-2012.3.iso (requires WinRAR or PowerISO)
  • manjaro-xfce-0.8.9-i686.iso
  • grml64-small_2014.03.iso
  • justbrowsing_20140409.iso

Let me know if you find one that doesn't boot in MBR or UEFI mode (if it supports EFI booting).

Full list of tested .imgPTN payloads here (scroll down to bottom of page).

MakePartImage Update Pack v 0.011 available

I have been unable to find an extraction program that works for all ISOs that is free, unlimited and distributable. MPI v 0.011 uses 7Zip by default, but if that fails, it uses the user-installed version of either WinRAR or PowerIso if present).

Thanks for the suggestions for alternatives, I have checked 26 of them so far and none fit the bill. They are either not free or are limited Trialware, don't extract UDF ISOs correctly, cannot be legally distributed or don't accept command line parameters.

The other change is that there is now a CUSTOM folder. Any files you place in this folder will get copied to any .imgPTN file that you create. This allows you to customise each image.
For instance, you can modify the menu.lst file and create a new background for the CSM menu and place the new files in the CUSTOM folder. This will overwrite the files used by MPI.
You could also add any utilities, etc. to the CUSTOM folder (or make a subfolder) so that every image would contain your utilities.

This means I can release new updates which can overwrite your existing folder, but it won't overwrite your files in the CUSTOM folder.

P.S. The only one which did seem to extract ISOs correctly was: ISO Workshop (free but no command line support yet for extraction). Notably, Windows 8.1 Explorer, 7Zip and WinRAR all fail to show the correct contents with some ISO file formats!
A good test is to try extracting the antergos-2013.11.17-i686.iso file. It should work and not be in all uppercase (one of the files in \arch\boot is in mixed case).  PowerISO (trial), WinZip(trial) WinISO(trial) and UltraISO(trial) failed with this one. PeaZip and 7Zip shows lowercase files but these fail on UDF ISOs. ISO Workshop also shows lowercase files and mixed-case files.

P.S. Do you sometimes use YUMI, XBoot,  LiveUSBCreator, PenDriveLinux, SARDU, Rufus, WinSetupFromUSB, etc. Well why not add all of your USB drives to one large E2B drive! Just make an .imgPTN file from each USB stick and then add the files to E2B. Just make sure to use the E2B CSM menu.lst file (or choose the Combine option if prompted).

Tuesday 15 April 2014

All I want to do is extract files from an ISO!

During testing of MakePartImage, I found that 7Zip did not extract a few of them correctly.
I had an ISO which I made of my Win7 Install DVD using MagicISO.
If I viewed or extracted the contents  in 7Zip or PeaZip, I get

README.TXT
Bootable_NoEmulation.img

or

README.TXT
[BOOT]


The ReadMe.txt says that the file is in UDF format,
This disc contains a "UDF" file system and requires an operating system
that supports the ISO-13346 "UDF" file system specification.

Both WinRAR and Windows 8.1 Explorer can view the correct contents, so why can't 7Zip and PeaZip?

So, I changed MakePartImage to use WinRAR. Then I discovered two things:

1. WinRAR had faults extracting some linux ISOs, it converted all the filenames into uppercase and also converted hyphens and multiple dots in filenames ( - and .) incorrectly into underscores! e.g. extracting from antergos-2013.11.17-i686.iso. WinZip also did the same thing on this ISO. Windows Explorer also shows all uppercase names.

2. WinRaR is not freeware, so I can't add it to my download and distribute it!

I tried a few other free unzip utilities that supported a command line, but they also had similar problems.

Who would of thought it is so hard to unzip an ISO reliably in this day and age?

So now I have gone back to using 7Zip, but if it detects a UDF-only ISO that 7Zip cannot handle, I ask the user to download and install WinRAR, so that I can automatically use that to extract the ISO when 7Zip fails.

sheesh!

P.S. ISO Workshop seems to work correctly with all the ISOs, if you need a good ISO extractor - www.glorylogic.com


E2B small update in v1.33


  • There was a small problem when loading .imgPTN files, when it swapped to the new CSM menu inside the image, the menu headings and borders did not display correctly (but were OK if you rebooted). This is fixed in v1.33
  • Also, I have added an autorun.inf file and e2b.ico file so that you can easily see which drive in Explorer is the E2B drive.


The MPI Update Pack continues to improve and the new CSM menu now displays the name of the payload in the menu so you can see what it is going to boot to. The latest pack is v 0.008.


You can change the menu picture by changing the compressed .bmp file in MakePartImage\csm\e2b\CSM_Mode.gz. When you next run MakePartImage, the new bitmap will be used. To change the position and size of the menu and colours, edit the MakePartImage\csm\menu.lst file.
The easiest way to experiment is to switch your E2B drive to one of your .imgPTN images and then edit the files directly on the drive via Windows and test it by booting using VBox. When it is all looking nice, copy the menu.lst and CSM_Mode.gz files to your MakePartImage folder.

If you already have an E2B USB drive with a previous DPMS version of E2B on it, just download the non-DPMS version and extract it to your E2B USB drive - there is no need to download the whole DPMS version as the only difference is the driver pack files which haven't changed.



Sunday 13 April 2014

WinSetupFromUSB and E2B compared

I was asked today how WinSetupfromUSB and E2B compare, now that E2B also supports UEFI booting.

WinSetupFromUSB is a very versatile and clever utility that allows you to multiboot Windows installers, WinPE and linux-based ISOs.

For MBR booting of linux ISOs, it now uses the same trick as E2B - it maps the ISO to a partition table entry - this works 99% of the time with nearly all linux ISOs.

For Windows XP OS's however, WinSetupfromUSB extracts the contents of the ISO and places them in separate folders on the USB drive - as well as copying the whole unmodified ISO to the FAT32 USB drive. For XP, this is probably going to be more reliable than E2B's approach of mapping the XP ISO on the USB drive (WinSetupFromUSB uses my modified DPMS2 batch file for auto-generation of the F6 driver floppies). It does however take longer to prepare the USB drive.

For Windows Vista/7/8 Install ISOs, WinSetupFromUSB extracts the contents to make a boot.wim file,  and then modifies the boot files and also the BCD, and uses bootmgr to give the user the choice of which one to load. Once the boot.wim loads, ImDisk is used to mount the original ISO file as a virtual DVD. The advantage of this is that if you are running from a USB Hard disk, you don't need another USB Helper Flash drive like you did with E2B. However, with the new v1.32 of E2B, you can make a .imgPTN file from each Windows Install ISO. This now allows you to boot a Windows Install (or any WinPE) from a Hard disk without needing a USB 'Helper' Flash drive (as a FAT32 image, it will even boot in UEFI mode - as an NTFS image, you can only boot in MBR mode but it will support files > 4GB).

With regards to UEFI booting, WinSetupFromUSB needs to be on a single-partition FAT32 USB disk. However, it can only multi-boot Windows-based OS's in UEFI mode, because it uses bootmgr and a BCD entry for UEFI booting - E2B does not rely on bootmgr and so can boot virtually any FAT32 image.

Here is a feature comparison between WinSetupFromUSB v1.4 (WSFUSB) and E2B v1.32+:
  • WSFUSB will probably be more successful when installing XP onto a wider range of different systems than E2B
  • WSFUSB XP installs only require one boot to the USB drive
  • WSFUSB is more flexible with XP installs (in some ways) than E2B
  • E2B can use the latest XP mass-storage driver packs (though WSFUSB will probably catch up soon!)
  • E2B supports a range of user-selectable winnt.SIF files and unattend files for the same XP ISO
  • E2B supports a range of user-selectable product key and unattend file installations from the same ISO
  • You cannot easily remove 'payloads' from a WSFUSB drive
  • Making a WSFUSB drive and adding payloads can take a lot longer time than making an E2B USB drive which is just drag-and-drop.
  • E2B supports linux booting in UEFI mode (or anything that can UEFI-boot as FAT32) whereas WSFUSB doesn't
  • An NTFS-formatted E2B drive can boot ordinary (<4GB) Windows Install images and linux images via UEFI. With WSFUSB, if you want Windows UEFI booting, the whole USB drive has got to be a single FAT32 format volume and the ISO must be less than 4GB in size.
  • FAT32 is more compatible for some things (like Hirens boot CDs) than NTFS. A FAT32-formatted E2B drive can still boot large Windows Installs by using an NTFS partition image. But with a FAT32 WSFUSB USB drive you cannot have large Windows install files
  • E2B can support multiple different Hirens (or other) FAT32 images on an E2B NTFS USB drive.
  • You can have multiple partitions on an E2B drive (FAT32 or NTFS) and can still UEFI boot -WSFUSB must have only a single (FAT32) partition.
  • E2B supports multiple linux ISOs, each with their own persistence file.
  • WSFUSB is faster to boot to the USB menu than E2B (although E2B can be speeded up a lot using a pre-cached menu)
  • You can make a USB Flash drive using WSFUSB and then make an image of it and add it to your E2B USB drive. Thus you can use WSFUSB from within E2B and use all the other E2B features too.
  • E2B can also use a grub2 menu and can UEFI-boot to many linux ISO files (even if they don't officially support UEFI-booting!)
  • E2B can be set up to automatically install Windows 7/8/10 using an unattend.XML file and install drivers + applications + Windows updates automatically using the SD_CHOCO feature (v1.82+).

 (please correct me if I am wrong on any point or have missed a key feature - I am not very familiar with WSFUSB!).

So, there is no clear winner - it's 'horses-for-courses' really, why not use both!


Easy2Boot v1.32 Released

v1.32 2014-04-13
  • XP install enhancements (new chkpci utiity, win2k,2k3 driver support)
  • XP ISOs can use a .SIF file for unattended installs, etc.
  • .imgPTN recognised for UEFI image booting. 
  • USB 'Helper' Flash drive no longer required for USB HDDs (if .imgPTN used)
  • List PCI IDs changed to use grub4dos utility (no reboot required)
  • Utilities menu has XP driver search menu entries.
If you prepare a partition image using MakePartImage (download the MPI_Update_Pack), then you can reboot to a single-partition. This allows you to add to your E2B drive linux and Windows Installs in UEFI mode. You can also install Windows from an NTFS E2B USB HDD without needing a Helper Flash drive.
The Update Pack is still in Beta and password protected - please email me for the pwd.

Saturday 12 April 2014

RMPrepUSB update for Windows 8

I found that the Drive Eject function in RMPrepUSB did not work very well on 'some' USB Flash drives - Windows 8 seemed to remount the drive after a while - e.g. if an attempt was made by RMPrepUSB to access the drive (e.g. Test Ready) then Windows kindly mounted the Flash drive volume for me!
RMPrepUSB v2.1.719 should fix this issue.

Also, for some reason I cannot fathom, pressing Ctrl-O on my Win8.1 system seems to first simulate a Ctrl-M and then a Ctrl-O. This means that when you are running RMPrepUSB and press Ctrl-O it first runs the Ctrl-M 'Make grub4dos ISO from USB drive' command! For this reason the Ctrl-M has been removed (as Ctrl-O is more useful than Ctrl-M).



Booting from multiple UEFI partition images with Easy2Boot - testing so far...

Progress is being made on the MakePartImage.cmd script to convert ISOs and bootable USB drives into images for Easy2Boot. The actual code in Easy2Boot has not needed to be changed for a week now, I am just working in the conversion of ISOs and USB drives into partition images that will boot as .imgPTN files.

For most ISOs, you can drag-and-drop the ISO onto a Desktop shortcut for MakePartImage.cmd and just hit [Enter] about 4-6 times to accept the default suggestions (FAT/NTFS, size of image, image name and location and syslinux version if required + any 'fixups'.)



So far I have tested these ISO conversions, they are all on my 32GB USB flash drive and they all work (black=MBR mode, red= also boots in UEFI mode).
  • 12.Hiren.s.Boot.CD.15.2.imgPTN
  • android-x86-1.6-r2.imgPTN
  • DLC.Boot.2013.imgPTN
  • DLCD_Ultimate.2014.v1.imgPTN
  • dsl-4.11.rc2.imgPTN
  • Fedora17.imgPTN
  • Fedora-18-i686-Live-LXDE.imgPTN
  • Fedora-Live-LXDE-i686-19-1.imgPTN
  • HBCD_DLC 2.0.imgPTN
  • HPACUOFFLINE.imgPTN (made from a working USB Flash drive)
  • zorin-os-8.1-core-64.imgPTN
  • 7601.17514.101119-1850_x64fre_server2012_eval_en-us-GRMSXEVAL_EN_DVD.imgPTN
  • 9600.16384.WINBLUE_RTM.130821-1623_X64FRE_ENTERPRISE_EVAL_EN-US-IRM_CENA_X64FREE_EN-US_DV5.imgPTN
  • bitdefender-rescue-cd.imgPTN
  • Fedora-Live-Desktop-x86_64-19-1.imgPTN
  • Fedora-Live-Desktop-x86_64-20-1.imgPTN
  • linuxmint-14.1-cinnamon-dvd-64bit.imgPTN
  • pmagic_2013_06_15.imgPTN (allows changes to be saved too!)
  • Sabayon_Linux_14.05_amd64_Minimal.imgPTN
  • korora-20-x86_64-gnome-live.imgPTN
Since they are booting from a 'flat filesytem', if the OS supports it, changes can be saved to the same partition. If you want this feature in say, the Partition Magic image, remember to make the image size larger than the ISO files actually need, to allow extra room for the extra files that it will save.

I found a few that wouldn't fully boot inside VBox (using DavidB's VMUB utility to boot from the USB drive), but they did work on a real system. Some were even more fussy about booting in UEFI mode from VBox, although most UEFI-booted successfully  (much to my surprise!). They did all boot on a real system however.

I have made some more changes to the MakePartImage.cmd script and found quite a few more problems that needed solving. The user can now choose the version of syslinux that is needed (it defaults to installing version 4 if syslinux/isolinux is detected). For instance, I found the HP Tools image (made by MakePartImage from a working USB flash drive) needed to have an older version of syslinux 3.75 installed.

The MakePartImage script also attempts to 'fix-up' any config files it finds, to correct them for the E2B image boot method. For instance, the volume name of the image is different (you can't have a volume name of 'Fedora-Live-Desktop-x86_64-19-1' as a FAT32 volume label!), it also changes cheat code kernel parameters such as 'CDLABEL' to 'LABEL' and 'media=cdrom' to 'media=USB' as well as updating any occurrence of the volume UUID in the config files to match the new volume UUID of the image.

So far I have tested these images as FAT32 volumes. I don't really intend to support NTFS volumes (due to problems with syslinux installing to NTFS volumes on older versions), but Windows Install ISOs with large Install.wim files will work on NTFS volumes, as should WinPE ISOs.

I found that Windows get very confused if you change the disk image of the E2B drive inside Virtual Box and then exit Virtual Box! Even though the partitions have been changed, Windows quite happily carries on accessing the files inside it as if it still had the original partitions! DavidB has fixed this in the latest versions of VMUB now.

The MPI Toolkit download is on the www.easy2boot.com site in the Downloads area as usual.

Thursday 10 April 2014

Adding HP Utility ISOs to E2B



HP utility ISOs such as the HP ProLiant Offline Array Configuration Utility are non-standard format. HP provide a special HP format tool to convert them for use with a single-boot USB drive. The one I looked had just had a compaq, system, punchout and usb folder.

I have added a .mnu file to support these linux-based ISOs into v1.32, however, you need to extract the ISO contents and so you can only have one 'payload' at a time on your E2B USB drive, due to folder name conflict.

The basic .mnu file for hpacuoffline-8.75-12.0.iso for instance is (one line is very long!):

# Extract the ISO contents (\usb folder is not required)
# Place this .mnu file in any E2B menu folder (e.g. \_ISO\MAINMENU)

title HP ProLiant Offline ACU Image\n
kernel /system/vmlinuz rw root=/dev/ram0 media=usb ramdisk_size=353272 init=/bin/init loglevel=3 ide=nodma ide=noraid pnpbios=off usrramfs=1 vga=791 splash=silent showopts nox2apic
initrd /system/initrd.img


The important change is to use media=usb. If this does not work for your HP ISO, you will need to look at the \system\isolinux.cfg file to see what parameters are required in your .mnu file; however the basic menu format should be maintained  (i.e. kernel command followed by an initrd command).

However, with v1.32 of E2B you will be able to use partition images, and so you can have any number of HP utilities on your E2B USB drive

1. Prepare a spare USB Flash drive using the HP Format utility and an HP ISO as instructed by HP
2. Make an image of the USB Flash drive using MakePartImage.cmd (you may need to pick an earlier version of syslinux when prompted)
3. Add the .imgPTN file to your E2B drive (e.g .to the \_ISO\MAINMENU folder)
4. Repeat for all other HP ISOs.

Wednesday 9 April 2014

Easy2Boot and .imgPTN file development proceeds...

I have decided to not call the file extension '.imgEFI' for the partition images for UEFI booting. Instead they will be called .imgPTN which stands  for 'ParTitioN images'.

The new feature in E2B 1.32 (release version) is actually pretty powerful! It will swap in a new single-partition image to replace all of the E2B partitions instantly. You can then boot to whatever was in the new partition. Most UEFI systems will only boot if the first partition is a FAT32 partition (or is a GPT drive). Once you have finished, you can use the grub4dos boot menu in CSM mode to return the USB drive back to the 'E2B' partition state and carry on using E2B in the normal way.

The Windows script I am working on, MakePartImage.cmd, will convert ISOs, a folder or drive contents to a partition image file, which you then can just drop onto the E2B USB drive and it will appear in the menu just like any other menu item.

MakePartImage works best on non-grub4dos payloads that don't have a menu.lst file because it adds it's own menu.lst file into the image - if a menu.lst is present, you will be prompted to append it to  the MPI menu or delete it.

If  any .imgPTN file is over 4GB, then the E2B USB drive will need to be formatted as NTFS. UEFI booting is still possible as long as the image partition itself was formatted as FAT32.

As long as the biggest file inside the image is below 4GB and the image is a FAT32 partition image, then you can also UEFI-boot it (if image is UEFI-boot capable, of course!). If some files are over 4G, then only MBR (non-UEFI) booting is possible, as the .imgPTN image must be in the NTFS format (however, it is possible to have a FAT32+NTFS dual partition arrangement with later versions of E2B - see here for more details).

MakePartImage will also attempt to convert isolinux-based source files (ISOs) to syslinux-based ones. It will also rename any overlay file it finds in \LiveOS to match the new drive label and UUID too. It also warns you about any LABEL= and UUID= cheat codes in the syslinux config files - though you will have to change these manually if there are any. [Edit: Now it automatically converts these!]

Basically, if you have a single partition (FAT32 or NTFS) USB Flash drive (or HDD) that works correctly, then you should be able to easily convert it to an .imgPTN file and boot from it using Easy2Boot. You can thus convert all you flash drives into images and add them to Easy2Boot (if they don't work as ISOs in E2B).

You can use MakePartImage.cmd to automatically convert the following types of payloads to working .imgPTN files:
  1. Windows Install ISOs
  2. Multi-boot ISOs such as Hirens, DLCD, etc.
  3. WinPE v2+ based Windows ISOs
  4. Various Linux ISOs (Lubuntu, Ubuntu, Fedora, CentOS, Deft8, etc. just work)
  5. UEFI-capable utilities such as KonBoot or EasyRE
  6. Any working single-partition USB drive that is in FAT32 or NTFS format.

Linux ISO conversion
Some linux ISOs may not boot in MBR\BIOS\CSM mode, due to the change from an ISO(CD) to a disk filesystem(USB drive). In these cases, you can edit the image to fix the problem (just mount the .imgPTN file in ImDisk). However, they probably boot fine in MBR mode as an ISO under the E2B menu, so you don't really need to get them working from the CSM menu.
Some linux ISOs may not boot as .imgPTN images in UEFI mode. Typically you will need to change the grub .conf file to fix these UEFI images.

The most common fixes are:

1. Look in all .cfg, .conf and .lst files for CDLABEL and change CDLABEL to LABEL
2. Where a value for CDLABEL was defined, change it to the Volume label of the image: - e.g.
    Was: root=root=live:CDLABEL=SL-65-x86_64-LiveMiniCD
    Change to: root=live:LABEL=LIVE
3. Look for UUID= in the .cfg, .conf and .lst files. Change the value to that which is listed at the top of the CSM Menu when you boot from the .imgPTN. e.g.
   Was: root=live:UUID=%UUID%
   Change to: root=live:UUID=xxxx-yyyyy
where xxxx-yyyy is the UUID in the Easy2Boot CSM menu.
4. Lastly, if all else fails (for MBR booting only), add a grub4dos menu entry in the \menu.lst file which uses the correct kernel and initrd commands and parameters. e.g.

title Boot YlmF 3.0 (Windows Like OS) \n Image made from the ISO file Ylmf_OS_3.0.iso
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper floppy.allowed_drive_mask=0 splash
initrd /casper/initrd.img

[Edit: Now it automatically converts these! You shouldn't need to edit ant .cfg or .conf files.]

Progress
I have not had to do any sector editing to restore my E2B drives for several days now, so the partition swapping is looking fairly robust and reliable! I just have to go through a selection of different payload files (ISOs) to test them out and check they work.

If you have any favourite UEFI ISOs or other UEFI-enabled payloads, please contact me tell me what they are and I will test them for you. This way they should work for you when I finally release v1.32 of E2B!