If there is some trouble with active partition in XP when using dual boot with linux, XP can boot using Grub4Dos. Download Grub4Dos and copy at least grub.exe and menu.lst files to the XP’s root partition and then add XP to the /etc/grub.d/40_custom file and after that update grub using command
sudo update-grub
An example about the lines from /etc/grub.d/40_custom file
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Boot Windows via grub4dos " {
insmod ntfs
set root='(hd0,1)'
linux /grub.exe --config-file=/menu.lst
}
Works at least with Windows XP and 7
Read also -> To chainload Grub2 via Grub4Dos