Using E2B with a Zalman or IODD
The IODD enclosures are similar to the Zalman disk caddies (I highly recommend the IODD 2531
, they have better documentation, better quality h/w, better firmware, they automatically remember and load the previous payload file(s) on power on, etc.).
These drive enclosures require the files to be stored under the \_ISO folder. This is the reason why E2B also stores it's files under the \_ISO folder.
The enclosure must be placed in 'dual-mode' so that the USB HDD drive is visible to the BIOS.
If you have a Zalman/IODD USB Hard Disk enclosure, then it can load any .ISO file located under the \_ISO folder and emulate a CD/DVD drive.
- If you have an IODD 2531 or 2541, extract the file from \_ISO\docs\USB FLASH DRIVE HELPER FILES\E2B_WinHelper_&DW.zip and load it using the jog wheel. You now have a WinHelper USB flash drive!
- For the NTFS firmware versions, do not use more than 32 payload files or sub-folders in any one folder. It can only cope with 32 directory entries, so you may have problems with some folders which contain lots of payload (.iso) files+sub-folders ('TOO Many files' error).
- For the IODD 2531, press and hold the top function button for 5 seconds to force the device to reload the filesystem (or unplug+reconnect).
- Use \MAKE_THIS_DRIVE_CONTIGUOUS.CMD if you get a 'defrag!!' error message from the IODD/Zalman.
- Update to Easy2Boot v1.A8 (2019) or later so that a WinHelper USB flash drive is not required for Windows installs.
See this blog post
for more details on the IODD 2531. If possible, fit an SSD drive for robustness and speed.
For a Zalman/IODD drives, all ISO files must end in '.ISO'
You may find that you need to rename the file extension of an ISO file in order to get it to work in E2B - for instance, you may need to rename a WinPE .iso file to .isoPE. However, if you change the .ISO file extension, then the Zalman will not recognise the file and so the Zalman software will not list the ISO file.
Force a different file extension (E2B v1.A9+)
Filename format: filename_.forceextension.iso
For example, if you have an ISO file but you want it to run as if it had a .isoPE01 file extension, you can add _.isoPE01 as a file override.
For instance, a file with the name myxp.iso will run as if it had been named myxp.isope01 if you give it the name myxp_.isoPE01.iso. This means that the file will still keep the .ISO file extension.
Win8x64_.isodef.iso - runs from E2B without suggesting alternatives.
Win10x32_.isodef32.iso - E2B will only list it in the menu on 32-bit systems.
Win10x64_.isodef4GB.iso - E2B will only list it in the menu on systems with >4GB RAM.
Win10x64BigPESE._vhd4GB64.dsk - E2B will only list it on 64-bit systems with >4GB RAM.
If you set ISOASK=1 in \_ISO\MyE2B.cfg, E2B will always ask the user how to boot every .iso file (just as if the iso file had a .isoask extension).
To do this, edit the \_ISO\MyE2B.cfg file and add the line:
to the end of the file (see \_ISO\Sample_MyE2B.cfg - bottom of file).
Another alternative is to create a .mnu file for each iso file that requires a different extension for E2B. For instance, if you have a Hirens iso file and you want to run it with the .isowinvh file extension in E2B, but leave the hirens iso file with a .iso extension on the E2B drive, use this .mnu text:
title Hirens ISO\n Boot direct from Hirens ISO\n Boot Hirens from ISO
/%grub%/qrun.g4b force.isowinvh $HOME$/Hiren's.BootCD.15.2.iso
The force.isowinvh parameter is a dummy filename (any filename ending in .isowinvh will do!) + extension. Whatever extension is specified in this first dummy parameter, will be used to run the .iso file that is specified in the second parameter. So in this case, the Hirens .iso file will be run by E2B as if it had a .isowinvh file extension. You can use any E2B extension in this way (e.g. force.isoHW, force.isoPE01, etc.).
Note: Most Zalmans also can load .ima and .img files - see h ere for details. IODD drives can also load .DSK, .VHD, .VMDK and .RMD files.
How to use an IODD 2531/2541 with E2B
1. Emulate a WinHelper USB flash drive
Before booting from the IODD 2531 to E2B, use the jog switch to load the file: \_ISO\E2B_WinHelper_&DW.RMD
Now boot from the IODD 2531 to E2B.
You will see the new virtual Winhelper USB Flash drive, USB CD and real USB HDD appear as boot options in a BIOS menu.
Pick the IODD 2531 USB HDD option.
E2B will now 'see' a second removable USB drive containing the WinHelper flash files, so we can now install Windows using Windows 7/8/10 ISOs without needing to connect an extra flash drive to the system or use .imgPTN files. Neat eh?
E2B v1.84+ contains the file: \_ISO\docs\USB FLASH DRIVE HELPER FILES\E2B_WinHelper_&DW.zip
From this file you can extract E2B_WinHelper_&DW.RMD.
Note: E2B v1.A8+ can boot Windows Install ISOs without requiring a Helper drive if WIMBOOT is used, but having a Helper drive present will help.
2. Boot to WinPE and run WinNTSetup (with write-protected real HDD)
If you want to boot to UEFI-boot and install Windows 7/8/10 using WinNTSetup, then instead of switching to a .imgPTN file (which may not be possible if you have no Windows system available) and then booting to that UEFI image, you can just load the IODD 2531 with the WinPE file (ISO file or VHD or .DSK).
This means you can boot straight to UEFI WinPE and run WinNTSetup directly from the real HDD.
You will need to use the &D filename suffix (e.g. WinPEx86_&D.ISO or WinPEx64_&D.iso) so that the real hard disk is also accessible but write-protected.
If you want the real HDD to be write-enabled, use a &DW suffix - e.g. WinPEx86_&DW.VHD or WinPEx64_&DW.VHD
You can, of course, MBR-boot in the same way and have a write-protected real HDD. For instance, you could safely test any WinNTSetup diskpart scripts without fear of zapping the real HDD inside the IODD 2531 (though you could zap the VHD file).
You can choose one of the SDI_CHOCO XML files from the E2B \_ISO\WINDOWS\xxxxx folders and run an automated installation if you wish.
Note: If you load an .ISO file into the IODD 2531, the real HDD will not be write-protected unless you press-and-hold the top function button whilst you connect it (or use the Advanced menu via the jog switch). The padlock icon will tell you the state of the real HDD (locked symbol=wp, unlocked=write-enabled).
3. Make a virtual E2B Removable USB drive
The IODD appears as a Fixed Disk, but E2B works best on a Removable drive (or else you need to add a Helper flash drive - see #1 above).
If you make an image of a complete E2B USB drive as a .RMD file, the IODD can load it as a removable USB drive. You can then edit it, add payload files, etc. just as if it was a real flash drive.
You can use RMPrepUSB to capture a raw image of any E2B USB drive. The size of the USB drive will determine the size of the image file.
RMPrepUSB - Drive->File - - start=0 - end=PALL* - filestart = 0
*Note that for best bootability, you should capture both the first E2B partition and the hidden small partition that was made by the E2B make script.
Copy the E2B.RMD file to the IODD hard disk (e.g. \_ISO\E2B.RMD).
When you load the E2B.RMD file into the IODD, it will create a rd\wr virtual E2B drive, but the whole real HDD will be hidden. This means that the worst damage you can do is to destroy the E2B image file, but all other files on the HDD will be inaccessible (or you can make them accessible but write-protected). It also means you can test E2B as a removable USB drive.
If you use a .DSK file extension, then the E2B USB drive will appear as a Fixed disk.
If you add a &DW suffix (e.g. E2B&DW.RMD) then the whole HDD will also be accessible and not write-protected (or use &D if you want it write-protected).
D=Dual mode, W=Write-enabled.
Note that E2B cannot handle payload files that are on a different drive (because of the way it uses the grub4dos partnew command to make partitions on the E2B drive, the payload file must be on the same drive). Also, it needs a write-enabled drive, so you cannot write-protect an E2B drive without severely limiting it's functionality.
If you have a Fixed-type bootable VHD, rename it to *.DSK so it can be loaded using the Zalman\IODD as a whole rd/wr disk (e.g. Win8.DSK).
Some IODD drives may be able to boot fixed-type, contiguous .VHD files.
Note that the VHD must contain a valid bootable payload with MBR+PBR+boot files (or UEFI boot files). For instance, a bootable Windows 8/10 VHD must contain an MBR with boot code, a PBR with code to load bootmgr, the \bootmgr file and \boot\BCD file, etc.. VHDs made using WinToUSB (not bootable) or Disk2VHD (not fixed VHD) are therefore not suitable.
You can also use &DW at the end of the filename (see above).
You can name the file and add an E2B file extension override such as Win8_.vhd.dsk (E2B v1.A9+).
Convert an .imgPTN file to a file that can be loaded by the IODD
E2B can convert ISO files and other payloads into a .imgPTN file. This means that you can then modify the files inside the .imgPTN as you wish.
For instance, you may have a linux ISO which you want to change some boot parameters on or add a persistence file, but you cannot modify the ISO contents easily.
By converting it to a .imgPTN file, you can easily alter the files and boot from it until it works as required.
To convert it to a .DSK file that can be loaded by the IODD:
1. Switch to the .imgPTN file using E2B or SWITCH_E2B.exe - the 'flat-files' should now be visible in Windows Explorer.
2. Run RMPrepUSB and select the USB drive. Now click on Drive -> File
File to write to: C:\temp\Myimage.DSK
SECTOR START: 0
LENGTH: PALL (to capture all partitions) or P1 (to capture up to the end of the first partition)
FILE START: 0
3. Once the .DSK file is made, use E2B or SWITCH_E2B.exe to restore the E2B disk drive back to it's original E2B contents.
4. Copy the Myimage.DSK file to a folder under \_ISO and mount it using the IODD jog wheel as usual. The file will need to be contiguous.
You can also use &DW at the end of the filename (see above).
Note: If you see an 'already hit' message on the IODD display, then the same file has already been mounted. To unmount a mounted .DSK or .RMD file, unplug the IODD, press in the jog wheel and then connect the USB cable back again to reset the device.