Sunday, 24 November 2013

Install Windows 98SE/ME from an ISO with Easy2Boot

The new .isoDOS file extension that is recognised by Easy2Boot v1.17 and later versions, allows you to boot a DOS-based bootable ISO and access all the files on the CD-ROM portion of the ISO from DOS. It does this by making an empty virtual drive in memory and copying the contents of the ISO into it (under grub4dos) before it boots to DOS. DOS can then access the files on this virtual drive.

This method almost worked with a Windows 98SE Install ISO that I had. There were a few problems however...

First, there were just too many files inside the ISO for the grub4dos environment to enumerate! To fix this I simply deleted the unneeded folders from the Win98 ISO and just left the \Win98 folder inside the ISO file plus the [BOOT] folder (required for floppy-emulation booting) and the files that were in the root of the ISO (like Setup.exe). This reduced the ISO to 180MB.

The second problem was that the first disk drive seen by MS-DOS and the Windows 98 Setup install process was my E2B Flash drive. So when I tried to install Win98, it kindly made the 2nd FAT partition which I happened to have on my USB flash drive, active and put the DOS boots files on it!
It still booted to the internal hard disk, but only when I booted from my USB drive!
To fix this, E2B v1.18 will now recognise the new .isoDOS01 file extension. This does the same thing as .isoDOS but swaps over the USB flash drive with the internal hard disk so that DOS sees the internal hard disk as the first hard disk.

So, in summary, to get a bootable Win98SE Install ISO working with E2B (even an NTFS USB E2B drive), do the following:

1. Remove all extra folders from the ISO (just leave the \Win98 folder and the files in the root).
2. Rename the iso to .isoDOS01
3. Use Easy2Boot v1.18 or later (it will be available in a few days...)

More details in Tutorial 117 on my RMPrepUSB site.

Update - Alternate Method

This method uses a .imgPTN file but we do not switch to it, we just map it as a large floppy disk image!

Note: If you prefer, you can use ImDisk to make a large floppy disk image, rather than use MakePartImage.

1. Drag-and-Drop the Win98/ME ISO onto the MPI_FAT32 Desktop shortcut.

Add at least 10MB to the default size as we are going to add some files to it and Windows Setup may also need temporary space.

Copy the .imgPTN file to \_ISO\DOS\MNU on your E2B USB drive (any menu folder will work except for \_ISO\WINDOWS\aaaa folders).

2. Use Switch_E2B.exe to 'switch in' the \_ISO\DOS\MNU\Win98.imgPTN file

3. Use 7Zip to open the Win98.ISO file and double-click [BOOT] and then the Boot-1.44M.img file - you should see the DOS boot files (including IO.SYS).

4. Extract all the DOS boot files to the root of the USB drive (which should be in the CSM mode).
Note: If you cannot see a \e2b folder in the root, then you did not do Step 2 correctly!

5. Use Switch_E2B.exe to Restore E2B Partitions  on the USB drive to get our E2B partition(s) back.

6. Make a new \_ISO\DOS\MNU\Win98.mnu file with the following contents:

title Install Windows 98 using .imgPTN file\n Install Win98
map $HOME$/Win98_SE.imgPTN (fd0)
map (hd1) (hd0)
map --hook
#set just one HDD and one floppy
map --harddrives=1
map --floppies=1
root (fd0)
chainloader /IO.SYS

This can be found in the \_ISO\docs\Sample mnu Files\Windows folder on later versions of E2B.

E2B v1.77+ now supports the .imafdhdd0 file extension which does the same as above, so just rename the .imgPTN file to .imafdhdd0 (and no need for a .mnu file).

7. Boot from E2B and choose the DOS Install Windows 98 menu entry.
Choose the MS-DOS  'no CDROM support' option
At the A: prompt, run FDISK and set up a FAT partition on your C: drive (IDE hard disk) with an Active boot flag.

8. Reboot to E2B and re-run the DOS Win98 menu
At the A: prompt type
CD \WIN98\ENA            (or whatever folder the correct Setup.exe file is in and FORMAT.COM - the one in the root may not work!)
MKDIR A:\TEMP           (may not be required)

(skip the 'create floppy startup disk' option but don't cancel it or Setup will quit!)

Tips: If testing on a VM, configure an IDE virtual disk in a Win98 VM and disable VT-x\AMD-V (at least for the Setup process).
Do not configure more than 900MB of RAM or Win98 may crash!