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


_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to