The first partition on the first hard drive is not always C
It can be D or E or just about any letter of the alphabet except A and B
You can try this
Make the Windows XP drive the master or first(boot) hard drive
Change your boot.ini file to look like this
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
Don?t forget to keep a backup of the old boot.ini file
The number zero in rdisk(0) is the first hard drive
The number one in partition(1) is the first entry in the partition table not the order on the disk
Try to boot Windows XP without a boot loader
If that works then install grub in the boot partition of the XP hard drive
You may have to reinstall Linux
Don?t worry if all else fails you can create a small Windows XP boot partition on the Linux drive and use that to load XP
It only has to be big enough to hold the files that were in the main directory not the folders
Some info for you
If you are setting up a computer with multiple OS
Don?t remove any partitions before a Windows NT, 2000, XP, Vista Partition
They remember what disk and partition they were on
Also it is best to set-up any Microsoft OS before you set-up Linux etc
When you set-up windows hide any non windows partitions or leave space for the others
Also the first partition on the hard drive is not always the first entry in the partition tables
Partition magic is good at reorganising partition tables and changing the boot.ini file
Even if you don?t want it to
I always think of hard drives in the boot order
Boot or first drive, then second drive, then third drive, and so on
Good luck hope this helps
Col