Hoping someone knows exactly what's going on here. It seems this drive has some combination of aggressive power saving settings and Ubuntu defaults that has massively increased the Load_Cycle_Count for the drive:
https://wiki.ubuntu.com/DanielHahler/Bug59695
So the drive is now so slow that it cannot boot because it takes long enough to access the data that the kernel will not recognise it properly. I'm not worried about the data on the drive, but would really like to keep the laptop functioning. There is some indication that this is possible because the figure is still low 200,000s and most drives supposedly go to 600,000. Additionally, SMART tests pass and consider the drive healthy and without errors. But the really surprising thing was when I ran mhdd...
Every single read came up red (slow) until I pressed 'R' for reset drive. I noticed the next read was normal speed, so held down 'R'. Magically the drive read perfectly for as long as I held the key BUT resumed slow (and noisy) seeking/reading after releasing. I don't think the source code to mhdd is available, so I'm not exactly sure what this means (besides, I don't know enough low-level HDD stuff either). It seems like the drive should be able to work, but is stuck trying to power save or something. There are no BIOS options on the laptop.
Does anyone know how I can stop the drive from doing extremely slow/noisy operations like this? Or is constantly resetting the drive also damanging, and only causing it to work well by luck (i.e. not a suggestion that it's fixable)?