I have faced this problem many many times and have never found a conclusive solution. I do not know, but perhaps there is probably no solution at all to this problem. Anyway I am posting this problem in the hope that I am wrong.
The problem is about Windows XP's sensitivity to the hardware on which it runs and its inability to boot on another PC with a different configuration from which it was originally installed upon. For example: Windows XP is installed in PC 'A' and it runs fine on it. Then the hard disk from PC 'A' is removed and attach to PC 'B' which has a different hardware configuration. Windows XP which booted and ran perfectly on PC 'A' will refuse to boot on PC 'B'. It will not even boot in the safe mode and gets stuck/reboots while loading mup.sys and somewhere thereabout. A repair install usually works here, but I would like to know if there is another less time consuming method to overcome this problem.
I have read many posts on the web about mup.sys errors but I do not think anybody has come up with a definite answer.