|
|
Windows 98 on CD |
|
|
|||||||||||||
|
Step Four: El Torito, and Windows, the unfriendly butterfly.One of the main problems in making windows run from a CD is also the very thing that lets it work. A few steps from now, we will begin preparing an El Torito standard bootable CD. This consists of creating a boot floppy, making an image of it and then using a CD burning program to create an emulation mode CD, specifically one that imitates a floppy drive.
This is allows us to boot windows from the same CD that it runs from, instead of booting from a floppy and running from a CD. Oddly enough, it is also the reason that basically all documented attempts to produce a windows CD of this type fail. The article in the German magazine, C’T also has this problem – it produces a fatally flawed disk. Here’s why:
El Torito makes a portion of the CD accessible via emulation mode. In fact, it creates 2 virtual drives: A: and B: which are completely identical. At the same time, the CD is accessed via CD layers, such as ATAPI (or perhaps also by normal 32 bit HD controller drivers). So, while emulation mode is enabled, the CD is available (to more or less limited extents) via 3 drive letters and with 2 differing driver types.
Windows obviously doesn’t like anything like that. There is a major conflict between the 32 bit layer used for the CD and the drivers (completely built in, i.e. inseparable from windows) for the floppy drives. C’T magazine suggested not accessing the a drive but alas, that is merely a case of wishful thinking. Running explorer.exe will access the a: drive when you least expect it, blocking the whole system. Merely hiding the a: drive with Tweakui will not solve the problem as windows will attempt to access the drive anyway. I highly advise hiding the drive with Tweakui, but this will NOT remedy the problem.
A guy name Bart who used to provide a PE builder until Microsoft seemingly forced him to stop providing it (imagine a convicted illegal monopoly forcing a one man show to stop providing a piece of free software. Quite strange, don’t you think?). PE is similar to what we’re doing here – so much so that Bart wrote a little tool that has great promise: it’s called ettool and it accesses various INT13 calls. Ettool should be able to disable floppy emulation as soon as our disk is booted, thereby allowing full 32 bit disk access without worry about creating the driver access conflicts.
Ettool successfully calls INT13 as it should but although it promises to remedy the access problem, it does not. My guess is that El Torito (or INT13) has been modified since Ettool was written. So here’s the solution we’ve all been waiting for. This is one of those little things that you must do to make this fly. In %root%/system/iosubsys there is a file named esdi_506.pdr. This is the 32 bit disk access driver and getting rid of it will solve the problem. Delete it, or rename it esdi_506.pd2.
|
||||||||||||||||
|
|
|