Question re. hard read errors

Richard Johnson raj at cisco.com
Wed Aug 13 21:29:05 PDT 2003


Actually, I found the web page on "gzrecover":

   http://www.urbanophile.com/arenn/hacking/gzrt/gzrt.html

This doesn't seem to work for me, probably because the mmap it uses 
doesn't work very well when the file contains bad blocks.

I also found:

   http://www.gzip.org/recover.txt

and will probably pursue this, but it'll take quite a while.

Also, there's a reference in the gzip documentation to:

   If a .tar.gz file is damaged, files beyond the failure
   point cannot be recovered. (Future versions of gzip will have
   error recovery features.)

so maybe this will be available at some point.  I'd love to know if 
someone is actually working now on this.

/raj


On Friday, August 8, 2003, at 01:30  AM, Raphaël Marmier wrote:

> Try using dd to grab all possible bits of that file:
> /bin/sh
> dd if=/path/tothe/file of=/path/to/newfile conv=sync,noerror 
> >ddlog.txt 2>&1
>
> you get the log of all errors and faulty blocks in ddlog.txt
>
> This will make a copy of the file with unreadable blocks converted to 
> blank. Then you should fix the compresssed archive with the proper 
> utility (although I don't know exactly how), then you should be able 
> to untar it. Maybe the information on which files where lost will even 
> be available.
>
> If it turns out you didn't loose that much, it will spare you the 
> effort to read the disk harder. In case you really lost damn imporant 
> stuff, you can send the disk to a data recovery company, but it costs 
> $$$$$$...
>
> Hope this helps
>
> Raphael
>
> Le Vendredi, 8 aoû 2003, à 01:33 Europe/Zurich, Richard Johnson a 
> écrit :
>
>> I have a 1.5Gb file stored on a FreeBSD 4.8 disk drive and the system 
>> is giving me hard read errors when I try reading it.  It appears as 
>> though this disk has a few bad blocks. :(   Unfortunately, it's a 
>> compressed tar file and I (stupidly!) erased the file from the 
>> original computer before untar'ing it here and finding the errors!  
>> I'd like to recover as much as possible of this file before writing 
>> off the entire thing.
>>
>> I looked at /usr/src/sys/dev/ata/ata-disk.c and found the retry count 
>> was set to 3.  I changed it to 10.  After the first error (which is, 
>> indeed, reported 10 times) the system reports that it's going into 
>> PIO mode and I still hear the same amount of hammering on the drive 
>> after that and only one error message produced.
>>
>> Is there some way I can force the system to retry 10 or more times 
>> for each and every block?  Maybe there's some other utility I can use 
>> which tries harder to read the blocks?
>>
>> ANY pointers to information would be greatly appreciated.
>>
>> /raj
>>
>>
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to 
>> "freebsd-questions-unsubscribe at freebsd.org"
>



More information about the freebsd-questions mailing list