I had a similar problem with my nephew's pc, just after installing SP2. Nothing I did (including removing SP2) would cure the problem, not even a Repair install. I even put the drive into my own machine to see if I could find any faults, but nothing was obvious.
However, a full clean reinstall solved the problem. At least that would tell you one way or another if it is a hardware problem. I now keep an old 6GB disk for this very reason. I try an install onto that, if it fails I know it is a hardware problem so there's no point in overwriting the installed system.
Bookmarks