I've done this before, pretty much the exact same setup. It's since however changed, by coincidence I still have the drive layout
Code:
[root@neux zac]# fdisk -l /dev/sdc
Disk /dev/sdc: 200.0 GB, 200048565760 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0f54dfdf
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 14701 118085751 7 HPFS/NTFS media
/dev/sdc2 14702 24320 77264617+ f W95 Ext'd (LBA) extended
/dev/sdc5 14702 19800 40957686 7 HPFS/NTFS Windows
/dev/sdc6 19801 19994 1558273+ 82 Linux swap / Solaris
/dev/sdc7 19995 24320 34748563+ 83 Linux Linux
I installed grub to the mbr, and chain loaded /dev/sdc5. In fact here is my grub.conf
Code:
default 0
timeout 8
title openSUSE 9.2
root (hd0,6)
kernel /boot/vmlinuz root=/dev/sda7 resume=/dev/sda6 splash=silent showopts
initrd /boot/initrd
title Windows XP SP1 Build 2600
rootnoverify (hd0,4)
chainloader +1
title Failsafe -- openSUSE 9.2
root (hd0,6)
kernel /boot/vmlinuz root=/dev/sda7 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd
You can remap Windows before you boot it so it thinks it's the root partition (as such) and will be mapped as C: otherwise it's mapped as E: or something.
Now however, I have a /boot partition with the boot flag (with grub installed there) and use grub to chainload NTLDR.
You can probably see, it *used* to be a mess