You can use virtualbox and give the virtual machine access to the harddrive. Then install windows xp in the virtual machine and create a new partition on the real harddrive. After installation you can reboot the computer and boot windows as normally.
To give Virtualbox access to the entire disk, (change the x to appropriate letter, eg. a):
VBoxManage internalcommands createrawvmdk -filename ~/hdd.vmdk -rawdisk /dev/sdx
Then choose existing harddrive and select the file hdd.vmdk in your home folder.
If the commands complains about missing permissions, add yourself to the group disk with the following command, then log in and out and try again.
sudo adduser `whoami` disk
A)
If you already have linux installed on the target computer you can to this directly on that computer but before you reboot into windows run sudo update-grub and sudo grub-install /dev/sdx (change the x to appropriate letter, eg. a) to make sure that you will still be able to boot linux.
B)
If the target computer is completely clean, make a bootable Ubuntu usb-drive on which you also put an image of your (legally purchased) windows install cd. Then boot Ubuntu on the target machine and follow instructions above.