Subject: Any chance of recovery WRT failed drive?
To: None <netbsd-users@netbsd.org>
From: Kevin P. Neal <kpneal@pobox.com>
List: netbsd-users
Date: 01/30/2000 22:29:27
I've got a Seagate Hawk (1gig) in a i386 here and it's on it's
last legs. The filesystem on it is NTFS. 

My machine is a DEC Celebris XL (bentium 133) running the latest
snapshot of 1.4P, downloaded this afternoon. 

I have a program that I threw together that does 512 byte reads of
the disk and writes them out to a file. This program is going to
go back and reread the parts of the disk it failed to read the first
time (until it reads the entire disk successfully). 

The machine is running cool, now, but I suspect that it overheated
and caused the drive failure. 

The errors I'm getting are of the sort: (snipped from the syslog)
ASC/ASCQ: Unrecoverable read error
ASC/ASCQ: Address Mark Not Found for ID Field

These are all "Media Error"s. 

Now, my question is this: Is there any chance the data on the drive
can be read in the problem sectors? Without resorting to sending the
drive off to an agency and paying lots for recovery of the data? 

Anybody got tools handy for recovering broken NT filesystems? How
well will 1.4P handle mounting of a filesystem this badly damaged? 
If it matters, the damage appears to start about (13/20 * 100)% of
the way through the disk, and is sporatic. Crashing the machine is 
just fine, it is a test box after all.

Incidentally, would my program be a useful addition to the package
system? 

Another question: How come stat() doesn't give the size of a partition
on a disk (st_blocks seems like it should give the number of blocks
in a partition, no?)?

Thanks.
-- 
Kevin P. Neal                                http://www.pobox.com/~kpn/

"The 1990s have been named the Decade of the Brain, but there will 
            never be a Decade of the Pancreas." -- S.Pinker, HTMW pg 24