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!