Triple-booting for better adventure gaming mini-HOWTO

I've written a bit on how to make old adventure games behave themselves in Windows XP (or maybe, how to tame XP so that it'll accomodate the games). After a while, though, I got tired of having to fight for every single early Sierra game, and losing most of the time. I decided to install an earlier version of Windows alongside XP and Linux on my computer.

The first choice was: should I install Windows 95 or 98? 98 is a better OS all-around, with many bug-fixes, and supports a lot of new-ish hardware. However, it sold for about $60 and up on eBay. Windows 95, on the other hand, might be a lousy OS by today's standards, but it sold for about $15. My old laptop had Win98 on it and I could play all the old games on it flawlessly, but in the end I decided to go for 95. This did mean getting a "new" soundcard and video card; but the soundcard (a Soundblaster 16) was $15 new and the video card (a Matrox Millenium) was donated by Nathan. So the total cost of 95 with a soundcard and video card was about half the cost of 98.

Then I was left with the fun task of getting Win95 installed on my computer which already had an XP partition and several Linux partitions, without destroying anything. The problem is that Win95 must believe itself to be on the first partition on the HD. That partition was already occupied by XP, which has a similar requirement. Here is the high-level overview of how this got fixed. My starting point was this HOWTO.

  1. I freed up some space on the Linux side, resized a partition (easier to do there than in XP if, like me, you have the Home Edition), and created a new primary partition.
  2. I formatted the partition to FAT32 using XP (I tried using fdisk to do that but somehow the Win95 installer didn't like that too much).
  3. I made a DOS boot disk using XP and some FreeDOS and other programs. In particular, I used CuteMouse, and the MTMCDAI.SYS and CDROM.SYS generic CD-ROM drivers.
  4. On the Linux side, I installed grub (the GRand Unified Bootloader).
  5. Now comes the bit that always astounds me in its trickery (from the part of grub, not mine). By using the map directive, grub is able to make Windows 95 believe that it is on the first partition when it's not. Don't ask me how that works. So I configured grub so that it would have a mapped entry for Windows 95, and also a mapped entry for my boot floppy, so that when I boot with the disk somehow the system also thinks it's on the first partition. See here for the contents of my grub configuration file.
  6. Then I booted the computer with my boot floppy. Note that the floppy must NOT be inside the drive when the computer starts up, otherwise grub can't do its magic. Instead, I get to the grub menu screen, insert the floppy, then select the appropriate menu option.
  7. Now I was at a DOS prompt, and the OS believed itself to be on the first partition. I put in the Windows 95 install CD, and everything was smooth sailing from there (hey, I'm oversimplifying, of course the hardware stuff wasn't smooth sailing, but that's not related to the current problem).
  8. Of course, the Win95 installation overrides the Master Boot Record. I needed a Linux boot disk to be able to repair it to its rightful state.
  9. That's it! Now I can go into Windows 95 from the boot menu screen and have everything work OK. For some pesky games like the original version of Codename: ICEMAN, I have to boot into DOS from time to time. I just use my precious boot disk and it works.

Note: as of last time I got all this working, grub is not able to chainload off a CD. So if your computer doesn't have a floppy drive, I'm not sure how this can be applied.

Update: see here for how to chainload a bootable CD with grub. I have been successful with these instructions.


Katia Hayati
Last updated April 15, 2006
Copyright (c) 2004-2006
Please link rather than copy. Thank you.