Question: **What i want to do:**

I'm trying to virtualise 2 different physical Windows XP systems which reside on one hard drive each to VirtualBox under Windows 7. 

**What I did (once per drive):**

From a Linux system:

```
dd if=/dev/sd(disk) of=d1.img conv=noerror,sync bs=64k

```

From the Windows 7 system

```
vboxmanage convertfromraw d1.img d1.vdi

```

**Where I'm at:**

During boot of either VM, Windows seems to hang (in safe mode) at loading `mup.sys`. In normal boot it's just a blank screen. I've not really got a whole lot to go on, so any points to get more debugging output would also be good.

I'm pretty sure I've used this method previously for Linux and similar systems, am I doing something dumb here? My knowledge of VirtualBox is pretty limited compared to Xen or KVM.

Answer: 
Just posting this up as an answer because it seems to have worked. 

I tried doing a repair reinstall off the window xp disk. It seems to have fixed whatever was the issue, and it now boots through correctly.
You might want to uninstall all drivers that are in the "Add Remove Programs" menu in Control Panel.

Besides that, go to the device manager, Find the "Hard disk controllers" or "Storage controllers" or "IDE controllers" or similar category, right click on each of the controllers and click uninstall.

Only after you have done these steps, proceed to make an image.

Windows XP is not as flexible as Windows 7 when moving the existing OS to a new motherboard (or, in your case, a VM). If this fails, try the repair option @Sirex suggested.