ISTM that BIOS is probably reporting a SMART failure, in which case the most likely reason is an excessive number of bad sectors.
Try SeaTools for DOS.
Alternatively, try a comprehensive SMART diagnostic. Look for reallocated, pending, or uncorrectable sectors.
HD Sentinel (DOS / Windows / Linux): http://www.hdsentinel.com/
HDDScan for Windows: http://hddscan.com/
See this article for SMART info: http://en.wikipedia.org/wiki/S.M.A.R.T.