safecopy is a data recovery tool which tries to extract as much data as possible from a seekable but problematic (i.e., damaged sectors) source like floppy drives, hard disk partitions, CDs, etc., where other tools like dd would fail due to I/O errors.
| Tags | Recovery Tools Utilities |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX |
| Implementation | C |
Recent releases


Changes: Safecopy has been internally redesigned to improve reliability and predictability of behavior. It now comes with a textual behavior specification and a self test suite, complete with a glibc wrapper library to simulate IO errors on virtual files. Blocksize autodetection now also works in combination with low level device access. Blocksizes can now be specified as a percentage of the file size or as multiples of the hardware blocksize, making these options much easier to use. New option presets provide shortcuts for multi-stage data rescue with minimum commandline typing effort.


Changes: Support for low-level I/O on CD and DVD drives has been fixed and enhanced, including correct detection of disk type and sector layout. The low-level I/O is more intelligent and uses drive resets only when deemed necessary. This release supports the twaddle I/O syscall on floppy drives. System integration has been improved by adding a standard conform man page to the documentation.


Changes: This release adds a lower level hardware access layer with support for reading CD-ROM data in raw mode as well as issuing device resets on errors, further increasing speed and recovery rate on affected devices. Additionally, the default behaviour on skipping bad areas changed slightly, introducing a new command line switch to change the skip step size over bad areas independently of the block size. This speeds recovery up considerably when a high skip factor is desired.


Changes: Safecopy has undergone enough maturing for a 1.0 release. It went from a simple sequential data copying tool with the ability to skip over I/O errors to a generic data recovery swiss army knife that can resurrect data from almost anything, while at the same time being tuneable, verbose, and interoperable with other tools (thanks to badblock lists and machine readable output). It now provides advanced features like marking of bad data to later find affected files, and forced head re-positioning to increase fault tolerance rates of some devices.


Changes: Compilation issues on BSD and Cygwin have been fixed.
- All comments
Recent commentsRe: and dd_rescue?
yes I have - unfortunately after I already wrote the code, so indeed while it seems like the wheel has been reinvented just another time, lucky we are this tech is at least not patented (i hope), so we actually CAN do this ;)
while searching for alternatives I would also note:
dd_rhelp - a frontend for dd_recover which tries to speed up the retrieval of valid data
recoverdm - a tool that works slightly more low level on the hardware and therefore maybe more effective
cdrdao - together with further tools like bin2iso probably the best alternative while working on CDs
and dd_rescue?
Have you looked at dd_rescue? It does largely the same things that you are doing . . . .