This guide gives a good step by step procedure for moving a windows partition from one drive to another:
http://ubuntuforums.org/showthread.php?p=7742172
If you get an “autochk.exe not found” error message just after windows XP boots, it probably means that you have the partition type set incorrectly. Using fdisk under linux just use the “T” option to change the partition type to NTFS (hex 0x07 or number 7 in fdisk).