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 21
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]