Try testing with HD Sentinel. HD Sentinel can tell you the SMART status if your hard drive; it may be faulty.
You may also want to check your RAM. You can remove one or more modules (depends on your configuration) and try loading the OS, or you can test the modules with MemTest86+.