Friday, 15 November 2013

Easy2Boot v1.17 with support for DOS .ISO files

Ashwani emailed me today to ask how he could get his Partition Magic ISO to boot correctly.
It turns out that this ISO boots via MS-DOS Floppy Disk emulation, it then loads the MSCDEX CD-ROM driver to give access to the files on the CD as drive S:.
This type of ISO is difficult to boot from successfully without modification, because there is no 'CD' for the CD-ROM driver to find when booting it as an ISO file from a USB drive. As a workaround, I have added support for the special .isoDOS file extension to E2B v1.17. This will copy the contents of the CD part of the ISO to a virtual floppy drive so that all the files are easily accessible from DOS.

In the case of this particular ISO, what Ashwani needs to do is install E2B v1.17 and then copy his DOS-based Partition Magic.iso file to the \_ISO\MAINMENU folder and change the file extension to .isoDOS.

What will happen when you pick this entry from the E2B menu, is that E2B will create a large FAT16 virtual floppy disk (fd0) in memory and then copy the files from the ISO to the virtual floppy.
When grub4dos boots, it does so via floppy emulation and so the virtual fd0 is shifted by the BIOS to fd1,  and fd0 becomes the floppy boot image which was on the ISO file boot sectors. Thus when DOS boots from the emulated floppy image on the ISO, it will be drive A: and the CD files will be found on drive B:.
When Autoexec.bat runs (or Config.sys), no CD will be found and there will be no drive letter assigned to the 'CD' and thus the ISO will probably fail to run any program automatically from a batch file.
However, if we look at the contents of the A:\autoexec.bat we can see that it runs MSCDEX to assign drive S: as the CDROM drive letter, changes to the S: drive and then runs either 'ghost.exe -nousb' or 'pqmagic.exe'.


So all we need to do is type:

B:
ghost.exe -nousb

to run ghost, or

B:
pqmagic.exe

to run partition magic.

The new E2B version can be found at the very bottom of the page of Tutorial 72a (as usual).

The .isoDOS file extension may prove useful for a variety of DOS-emulation based ISO files. If you want to, you can edit the startup files in the ISO to remove any cdrom drivers and use the drive letter B: instead for the 'CD' volume (instead of S: or whatever was used), then it will boot automatically directly from the ISO under E2B.

v1.17 also now has an option to suppress the checkaccess BIOS bug check on startup and also has modified code around the finding of the \autounattend.xml file (which hopefully has not broken Windows installs!).