This isn't the "Linux way" but you might want to try running Spinrite on the drive first. Spinrite is a for-pay tool from GRC.com that boots DOS from a CD or floppy and runs a sector-level scan of the hard drive. It re-reads any bad sectors it finds until it recovers the data and forces the drive to repair or reallocate it. I've used Spinrite on a number of my drives to solve soft-error problems that were causing slow boots. I've even used it to recover most of the drive where there was physical damage. My chances of making a drive bootable again so I could copy the info have been pretty good. As long as the drive can be accessed, Spinrite should be able to read it and will probably be able to repair any errors that are due to failure of the drive's error correction. If it was just a weak sector, you should use what they call "level four surface scan" to read and refresh every sector on the drive. The "level 2 scan" will look for sector errors and try to recover them but doesn't do the all sector refresh. It has been shown that "level 2 scan" can often recover read errors on a USB stick too, but I've never managed to fix a USB stick if the OS doesn't recognize it first.... Don't use level 4 on a USB stick. Spinrite is a $90 solution that might reduce your aggravation, and for you it would be a business expense. You buy it online from grc.com and it is a very small download. If you look, you can find Spinrite v6 out on various download sites and if it solves your problem, I'd hope you'd buy a legal copy. Whether you trust the hard drive in the future is up to you. I've started using Spinrite on level 4 as preventative maintenance on my laptop and desktop hard drives, just in case.... If you want details how it works, read the web site. I'd bet someone could write a script for Linux that would do most of what Spinrite does, but probably not all.... The usual disclaimers apply, I'm not affiliated with the company and have no financial interest. I just like the software and enjoy the "Security Now" podcast. Doug.