Stéphane Lesimple a98c795280 feat: allow adaptive reading again
The feature was disabled by the author in this version, as it missed RS03
awareness. We enable it if we find RS01, RS02 or no ECC data, and warn the
user if we find RS03, telling him that the wise choice is to cancel and
rely on linear read
2020-09-05 00:24:23 +02:00
2009-11-21 16:29:02 +09:00
2020-08-20 14:17:35 +02:00
2020-08-20 14:20:10 +02:00
2020-08-25 20:15:00 +02:00
2020-09-04 09:21:17 +02:00
2020-09-05 00:24:23 +02:00
2020-08-19 21:21:11 +02:00
2020-09-01 22:16:50 +02:00
2017-02-02 22:24:37 +09:00
2017-02-02 22:24:37 +09:00
2017-02-02 22:24:37 +09:00
2020-08-19 21:21:11 +02:00
2020-08-25 20:27:40 +02:00
2020-09-05 00:24:23 +02:00
2017-12-21 05:31:58 +11:00
2017-02-02 22:24:37 +09:00

What is dvdisaster?

dvdisaster provides additional ECC protection for optical media. If a medium gets damaged, dvdisaster can recover it as long as the amount of damage is smaller than the amount of ECC data you added to protect it.

It can loosely be compared to .par2 files, but the protection works at the iso level instead of working at the file level. This way, even if metadata from the optical medium filesystem is damaged, dvdisaster can still work flawlessly.

Please refer to the PDF manual for more information.

Unofficial version

The last upstream version by Carsten Gnörlich is dated 2017, and could be found on the official website which is now down. The original source code repository doesn't have it, but Debian sources does, thanks to the maintainer there. The original README has been left untouched in this repository. This version is built on top of the latest upstream version, with the following notable enhancements:

  • Most Debian patches have been applied, those specific to Debian have been omitted
  • Windows build supported again, it was dropped upstream a few versions back
  • A CLI-only version, not depending on gtk (CLI_ONLY=1 ./configure && make clean && make -j4)
  • Regression tests confirmed working on Linux64, Windows32 and Windows64, for normal and CLI-only builds
  • Added pre-defined sizes for BD-R Triple Layer (100GB), BD-R Quadruple Layer (128GB)

For more information please refer to the CHANGELOG.

3 available protection modes ("codecs")

RS01 creates error correction files which are stored separately from the image they belong to. The artefact is an ecc file, which must be stored on another media than the one we're protecting.

RS02 creates error correction data which is added to the medium to protect, we call this augmenting the image we're protecting. Damaged sectors in the error correction information reduce the data recovering capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.

RS03 is a further development of RS01 and RS02. It can create both error correction files and augmented images, with the following added features:

  • RS03 can use multiple CPU cores and is therefore much faster than RS01/RS02 on modern hardware.
  • RS03 error correction files are - contrary to RS01, and to a lesser extent RS02 - robust against damage.
  • RS03 is more robust, but also more restrictive: The augmented image must completely fill the medium now while the size of augmented images can be freely chosen in RS02. The changes for parallel computation and higher robustness make RS03 a bit less space efficient, e.g. RS03 error correction data has slighly less error correction capacity than its RS01/RS02 counterparts on images with equal size.

Rationale

Even if the optical media era is sunsetting now, and has been for a few years, it's still of some value for off-site backups. In any case, we still have media in our hands that we want to be able to repair, should it be damaged, during the next years/decades. Repairing is actually pretty much the very reason of dvdisaster existence (as long as parity data has been added, of course). The idea of this unofficial version is to ensure dvdisaster doesn't get hard to find, use or compile, should upstream development never resume (we hope it does!). This is also why precompiled Windows binaries and a precompiled static CLI-only Linux version are available here.

Compiling

See the INSTALL file. The workflow file that is used to automatically build binaries for each release can also help.

Screenshots

Scanning a damaged CD under Windows

dvdisaster_damaged_cd

Scanning a healthy BD-R (single layer) with Linux GUI

dvdisaster_bdr_read

Creating an RS03 error correction file with Linux GUI

dvdisaster_bdr_create

Verifying a BD-R image with Linux GUI

dvdisaster_bdr_verify

Description
No description provided
Readme 31 MiB
Languages
C 83.9%
Shell 16.1%