Triple-booting Windows 98, Windows 2000, and Linux
Assumptions/goals:
This is my method to create a basic but fully-functional triple-boot
system
with win9x, winnt/2k, and Linux.
If
you have special needs, it shouldn't be too hard to use this guide as a
starting point and adjust to fit your needs. I've sprinkled a
couple hints here and there if you want to do something different.
At formatting time:
As always, the first thing you need to do is plan out your partitions.
If you're making a 9x/2k/Linux system, you're probably using 9x for
games or something else specific and 2000 or Linux for most of your work.
In this case, here's what I do. Of course, since we're talking about
computers, there are a million ways to do everything and a millions
reasons to do something this way or that way. So, I'm not going to explain
in detail the reasons for everything I do, and I don't want to describe
every possible alternative. This is one way to do things. If you want to
do it another way, fine. My way is not the only way, or even the best way.
But it's the only one I'll talk about. So, with that in mind...
- Assuming you're starting with a couple boot floppies, install CDs, and
a blank hard drive, boot to a DOS floppy and start partitioning your
drive. (You could do all of this with Linux's fdisk, but I haven't
figured out all the ins and outs of that, so I like to use DOS's FDISK
just to make sure the partition is made active just the way Windows likes
it, etc. Make sure your boot floppy has format.com and fdisk.exe on it.
Also, Windows 2000 will want smartdrv on there as well.) So, boot to the DOS
floppy and...
- Create a FAT-16 partition between 500MB and 2GB.
A bit about DOS's FDISK and FAT-16/32: When you run FDISK (assuming the
disk was from Win95-OEMSR2 or newer) the first thing you'll see is a
screen asking if you want to "enable large disk support." Answering Y will
let you create FAT-32 partitions, and an answer of N will let you make
FAT-16 partitions. FAT-16 partitions are more easily read by various
operating systems but it has a limit of 2 GB per partition. You can only
make one type at a time, so if you want some of each (as I describe here)
you'll need to make one type, reboot, and make the other type. So, to
make this first FAT-16 partition, say "N", create the partition, reboot,
say "Y", and make the rest.
- Reboot, run FDISK again, answer "Y", and make a few more partitions: a
small one (which will become Linux's /boot/), one for Windows 2000 (which
can be converted to NTFS during 2000's installation), and one more that will
get deleted and made into Linux's partitions. For example, here's what I
have on my current system:
- 2 GB FAT-16 for Windows 98 SE
- 500 MB /boot/
- 12 GB NTFS for Windows 2000
- The rest of the drive (I forget how much) for / and swap.
Here's a quick play by play: boot to a DOS floppy, fdisk, N, make a 500MB
partition, make it active, reboot. Run FDISK again, Y, make the rest of
the disk an extended partition, then make 250 MB (will be Linux's /boot/),
X GB (will be W2K), and Y GB (will be Linux) partitions.
- Once you've made your partitions, format them. You really only need to
format the first and third ones. Also, if you're doing this on a disk that
previously held other OSs, it's a good idea to say 'fdisk /mbr' to write
a DOS/Windows bootloader. (It'll go away later but it's handy during the
Windows installation process.)
- Now, we're almost ready to start installing things. Before you do,
boot to your Linux floppy or CD and use it's FDISK to turn what is now D:
into what will become /boot/. All you need to do is run Linux's fdisk and
change the partition type to ext2, aka Linux native. Also, you should
convert what is currently F: (the 4th partition) to ext2 as well. Or, if
you have your partitioning scheme already figured it out, cut F: into /,
swap, var, and whatever else you want. The main thing is to make sure
Windows doesn't see it as FAT space.
- OK, now your disk is all cut up. Install Windows 9x first. It'll think
it's the only OS on the whole machine (actually, that's true, right now)
and that's just the way it likes it. Next, install Windows NT/2000. Put it
onto D: and it'll recognize the 9x partition and set up its bootloader
accordingly. Keep in mind that NT/2000 writes boot.ini (and probably other
files) to C:, even when it's installed onto D:.
- By the way, I like to keep all the installer files on C:. Here's my
trick: custom-build a boot floppy with XCOPY.EXE, XCOPY32.EXE, and
XCOPY32.MOD (all available from any win9x installation) on it. Make two
directories: C:\win98 and C:\i386. Copy the win98 files into C:\win98.
Boot to DOS on the hard disk (you
formatted C: with 'format C: /u /s' to make it bootable, right?) and run
C:\win98\setup.exe to install Windows 98. Once that's all done, pop in
your w2k CD, copy the contents of its I386 directory into C:\i386 (Windows
will copy the files much faster than DOS will), reboot
into MS-DOS mode, run SMARTDRV.EXE from the floppy, then run
C:\i386\winnt.exe to start installing Windows 2000.
- Once Windows 2000 is on, install Linux. Different distros work
different ways, but they're all pretty easy nowjust boot to the CD,
yes, yes, yes, yes, and you're done. Install LILO or GRUB and if they only
give you two choices (Windows and Linux), don't worry. Once you select
'Windows', you'll be dropped into the Windows 2000 bootloader, which will
then give you the choice of going into 2000 or 98.
And there you have itmy method for creating a nice little
triple-booting system. I've done this successfully about a half-dozen
times, and I've left out descriptions of another dozen not-so-successful
runs, but I have included a lot of what I've learned from the bad ones. I
haven't talked about every snag I've hit, but if you stray too far from
these instructions, you're likely to find some. A couple highlights: a
Windows NT system that couldn't write boot.ini to C:, which was FAT-32
formatted; a system that would boot to Windows 98 but not 2000 after
installing Linux (because I made the Linux partitions after
installing Windows 2000, so D: wasn't where boot.ini thought it was), and
many other fun experiences too numerable to mention.
I'd love to hear from anyone who follows these instructions to hear if it
was successful or not, or if you want to know about potential hangups,
write to me and I can answer some questions about stuff I didn't cover
here. Good luck, and happy booting!
-----brian
multiboot at pixelcity dot com
[Brian Ashe's home page]
[brianashe.com/linux]