David & All,
I did a read tonight of a Seagate ST-251 with internal damage.
Not surprisingly, Autodetect did not work, so I did a
./mfm_read -t ../NGEN_ST-251-L114682.raw -c 820 -h 6 -d 1
Followed by a
./mfm_util -I -t ../NGEN_ST-251-L114682.raw -e /mnt/NGEN_ST-251-L114682.bin -c 820 -h 6 -s 16,0 -l 512 -f WD_1006 --header_crc 0xffff,0x1021,16,0 --data_crc 0xffff,0x1021,16,0
Again, not surprisingly, about 50% of the tracks errored out. Attached is the console output status, so you can get a full picture of the scope of failure.
And yet, when extracting strings from the resulting .bin file, a surprisingly tremendous amount was read successfully and human readable. So your device has proven highly valuable even with highly compromised drives. A partial recovery on such a badly damaged drive with so few action steps is absolutely amazing!
BUT, before I relegate this drive to spare parts and other entertainment uses, I thought I could do a little more to "squeeze" more sectors and tracks from this, just for my own education and experience. After all, this procedure on a Maxtor XT2190 is what got me into the whole Vintage Computing scene in my own way 8 years ago.
Anyway, can I do some more options where I get this thing to "beg harder" for valid sectors on every track before moving on?
In the past, I've used "retries", such as
-r 250,20
But only when -a works, and I have only a handful of tracks fail, not every other one like this case.
Or is this my best option here? Or are there other tricks I can try?
Of course, in my above format conversion line I used -I for ignore_seek_errors. Will simply removing this make it work better, or just take 2 days longer with the same result?
Thanks for David & Everyone's input here.
Best,
AJ