Das Problem dabei ist: wenn du XP auf einer anderen Partition installierst, wird dir windoof den Booloader (grub) überschreiben und seinen Eigenen draufsetzen...
Aber das kannst du auch wieder reparieren - mach aber auf jeden fall erstmal ein Backup deiner Daten.
Zuerst musst du deine Partitionierung ändern (da ich mal davon ausgehe, dass du nicht zufällig eine freie Partition übrig hast - am besten kann man dir helfen wenn du uns sagst, was du mit "fdisk -l" angezeigt bekommst.). Hier bekommst du ne CD von gparted.
http://gparted.sourceforge.net/ Mit der bootest du dein System und verkleinerst deine Linux Partition(en). Die dann frei werdende Partition formatierst du mit NTFS. Dann startest du die Windows installation in diese Partition.
Danach wird erstmal nur noch Windows booten. Du musst dann von ner Rescue CD (knoppix vllt?! - ich meine mit der Ubuntu InstallationsCD kannst du es aber auch machen...)
Jedenfalls bootest du diese CD und mountest deine Linux Partition (mount /dev/sda2 /mnt <-- du solltest vorher wissen, was deine root partition war! erinnere dich an "fdisk -l")
dann installierst du den Grub neu: grub-install --root-directory=/mnt /dev/sda (mehr dazu hier:
http://wiki.ubuntuusers.de/Grub)
Dann bootet wohl erst wieder nur Linux. Da musst du deinen einen Windows-Grub-Boot eintrag unter /boot/grub/menu.lst eintragen. dann kannst du bei jedem Start auswählen, was er starten soll.
Vllt hilft dir auch das hier weiter:
http://wiki.ubuntuusers.de/Dualboot
Aber Vorsicht ist bei der ganzen Aktion geboten: Es kann zu Datenverlust kommen, wenn man an Partitionen rumspielt