I put the XP disk in a USB carrier and plugged it into my Linux machine. Using command like
cat /dev/sdg | VBoxManage convertfromraw stdin OutPutFile.vdi NUMBEROFBYTES
I managed to image the disk to a file on the linux machine. I then started VirtualBox and created a virtual machine using the disk image.
On startup the machine blue screened, just like windows does from time to time. Not to worry, I got my original XP CD and told virtualbox it was in the cd drive. Then on booting the virtual machine I did a windows repair. Windows now booted and after a couple of windows updates I have my machine back in a virtual environment.
A couple of things I found along the way -
The VirtualBox that is distributed with Linux is the Open Source Edition and does not have the extensions to use USB - download the executable from http://www.virtualbox.org - They even have a fedora repo file so you can keep it up to date with yum.
Follow the instructions on getting the kernel extensions built - you will have to do this each time you update you linux kernel.
I had problems where after installing the VirtualBox extensions I could not get shared folders to work, it kept saying they do not appear to be installed. It turns out the Kaspersky Internet Security was blocking the install - disable it and try again, magically the install works. After doing this and rebooting it is working fine.