I wouldn't jump to conclusions about bad hardware. A simple test for bad hardware would be to boot to an alternative operating system. LiveCD would be alright, a LiveUSB would be better. (Running from a CD is slow, slow, slow)
You could check for a corrupted system file with System File Checker while waiting for better answers. Go to a DOS prompt, and type "sfc /scannow" (without quotations, of course). Be prepared to insert your installation disk if SFC finds any corrupted files.
You could also be victim of one or more exploits. A poorly designed rootkit or a virus on the MBR could be hanging things up.