There are a variety of reasons why System Restore for Windows XP can not work. A lot of these has to do with the way System Restore works and the restore points. Sometimes, these restore points will become corrupted. When that happens, you should try restarting from an earlier restore point. Other times system restore won't work because there isn't enough space on your hard drive. Since System Restore usually needs at least 200 MB to work properly, make sure you have that much free space. Other times, if you are not logged in as an administrator, restoration won't be allowed to proceed. If the above options don't fix things, make sure that you have logged in as an administrator to your computer.
Using your Windows XP CD
Another solution can be to boot your system from your XP CD. In order to do this, you have to set your BIOS to boot from the CD drive. Then, put your XP CD in the drive and restart your computer. As your computer boots up, you will be told to press any key to boot from CD. Once you continue, look at the bottom of the screen to find the key to press for "Automated System Recovery". Follow the prompts and this program will then scan and find the required files from your XP CD. Your computer will then suggest that you reboot your computer and will automatically reconfigure the system files once your reboot. This should correct any software problems with your computer as well as System Restore
Patches and reinstalls
Another quick fix option, though less reliable, is to go to the Windows XP website and look for any patches or updates to System Restore. However, the odds are that these won't help and you'll have to go to the undesirable process of uninstalling and then reinstalling Windows XP, since the System Restore program is a core component of the operating system. For more information on doing that, consult the resources section of this article. This can be a time-consuming process, but you shouldn't lose anything stored on your hard drive and it is a fairly foolproof way of fixing any Windows software errors.