Re: hard drive repair problem
On Mon, Jun 05, 2006 at 07:20:04PM +0200, Florian Kulzer wrote:
> Modern hard drives have a built-in self-diagnosis system called SMART.
> The corresponding Debian package is called "smartmontools". You can
> install this package (or boot from a suitable live CD) and run
> smartctl -a /dev/hdb | less
> to retrieve the stored information. You can also run an extended
> self-test with
> smartctl --test=long /dev/hdb
> Maybe that will give you an indication about the seriousness of the
> Another thing to look at is "testdisk", which is a partition scanner and
> disk recovery tool. I have never had to use it myself, but I have heard
> good things about it. It cannot do anything, of course, if you really
> have a permanent hardware failure.
Useful suggestions - thanks. I was hoping someone could elaborate on my
very generic suggestions. (a lot of the hardware I deal with is quite
ancient or non-standard, so I tend to stick to a lowest common denominator).
One frequent mode of failure I have experienced with defective IDE drives
is one where a drive will work for a few minutes after power on, and then
stop. Another is one where repeated scans of the disk will fail on different
It strikes me that the most effective was of salvaging data from such
drives would be a sector by sector copy from a bad partition to a new
one on a replacement disk, keeping a separate bitmap recording which sectors
could not be read. The bitmap could then be used to repeat the process,
skipping all the correctly transferred sectors. This could continue
until all sectors are successfully recovered, or some number of sectors
are identified as hard failures.
I don't think it would be hard to do, but there is no point in reinventing
an existing tool. The trickiest thing would be communicating the information
about which sectors were invalid to a filesystem recovery program if there
are some that could not be recovered.
Does anyone know if something like this exists? Or if not, is there filesystem
recovery program that has some way of being given a list of bad blocks whose
content is know to be wrong so that files in which they appear can be flagged
Digby R. S. Tarvin digbyt(at)digbyt.com