There are any number of possible causes and error codes from a third party software interfering with Windows to a simple software update to hard disk failures. Microsoft cites changing of security providers and change of system drive letter as causes.
Here's another one that may have escaped their radar: oembios.bin
Boot into safe mode, and try finding oembios.bin in %systemroot%\system32. Chances are the file isn't there or it's been renamed. Quite likely it's been corrupted by malicious software (if it's there), or it's been removed by one (if it's not).
You best bet in this case is to restore the file from the pristince copy in your Windows XP installation disc. Pop in you Windows XP CD and extract the file back into it's proper place using the command prompt:
:\Windows\system32> extract drive:\I386\oembios.bi_ oembios.bin
Replace drive with the drive letter for your CDROM (usually D:\). Reboot and Windows XP should boot all the way to the desktop.
How to remove malware from Windows
- Tip and Trick