Install your favorite distribution of linux. You will need to use
fdisk to partition your hard disk. Calculate ahead of time how much
disk space each of your operating systems will take.
My first partition is for booting Windows 2000. 10MG should be plenty
to do that. This partition will only contains the file necessary to
boot NT such as boot.ini, ntldr, ntdetect.com, etc... NT will reside
in partition 6 in my example. This partition is Hidden FAT16.
The second partition is for DOS. I deemed 100M sufficient. This is
FAT16 too
The third partition is for Win9x. I gave it 5G and made it FAT32 for
performance.
Next create the extended partition for the remaining of your hard
disk. This shows up as partition 4 on fdisk.
Create a 2GB partition. This partitions is used to share data
between all operating systems. Make sure that all the sum of all above
partitions are less than 8GB. This is a DOS limitation.
Next create your Windows 2000 partition. I gave it 10G since this
breed of windows is a bloated pig. I made it a HPFS/NTFS partition for speed.
Next add your swap partition and linux partition. Make sure you do not
have a separate partition for /boot. Things look better in GRUB if you
keep /boot in the root partition.
After you have installed linux go ahead and format the fat16 partitions:
Make sure you have the latest version of GRUB. I am using version
0.5.96.1. The version that came with my distribution was out of date
and gave me a lot of grief. You can download the latest version at
http://www.fsf.org.
Now you'll want to install GRUB on the floppy disk. You don't want to
install it on the hard disk yet because Windows 2000 will overwrite
it.
grub-install '(fd0)'
Create the following menu.lst for GRUB. This file lives in /boot/grub.
#
# Sample boot menu configuration file
#
# Boot automatically after a minute.
timeout 60
# By default, boot the second entry.
default 1
# Fallback to the first entry.
fallback 0
title Windows 2000
unhide (hd0,0)
hide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,0)
chainloader +1
makeactive
# For booting Linux
title Linux
root (hd0,7)
kernel /boot/vmlinuz-2.2.17 root=/dev/hda8 video=matrox:vesa:261
title Windows 98
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
rootnoverify (hd0,2)
chainloader +1
makeactive
title DOS 6.22
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,1)
chainloader +1
makeactive
# For booting Linux
title Linux (single user)
root (hd0,7)
kernel /boot/vmlinuz-2.2.17 root=/dev/hda8 video=matrox:vesa:261 single
title Partition 2 (floppy)
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
chainloader (fd0)+1
title Partition 3 (floppy)
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
chainloader (fd0)+1
Check that you can boot linux with the floppy disk. If you are having
trouble you can drop in GRUB's command line and figure out what is
going on. GRUB is very well documented, if you have any trouble please
take a look at the documentation.
I had to initialize the first partition before installing windows
2000. Insert the DOS startup disk and reboot your computer. Once you
get to the DOS prompt do the followings:
FDISK /MBR
SYS C:
Now you can go ahead and install windows 2000. At some point
Windows 2000 will prompt you for the partition on which you want to
install. The partition you created with fdisk should show up as
damaged or unformatted partition. Go ahead and select it.
To hide the Windows 2000 menu edit a file called boot.ini that should
be in the C: drive. Change the timeout value from 30 to 0.
Insert the GRUB disk. When you see the menu insert
the DOS boot disk. Select partition 2 (floppy) from the menu.Hit
enter. This will boot the floppy disk and hide partition 1 and 3.
Run FDISK and check that the C: drive is partition 2. Next install
DOS:
Insert the GRUB disk. When you see the menu insert
the Windows 98 Emergency disk. Select partition 3 (floppy) from the menu.Hit
enter. This will boot the floppy disk and hide partition 1 and 2.
Run FDISK and check that the C: drive is partition 3. Next install
Windows 98: