DVDISASTER(1) data loss/scratch/aging protection for CD/DVD media


dvdisaster [-r|-c|-f|-s|-t[q]|-u] [-d device] [-p prefix] [-i image] [-e eccfile] [-o file|image] [-a codec-list] [-j n] [-n n%] [-m n] [-v] [-x n] [--adaptive-read] [--auto-suffix] [--cache-size n] [--dao] [--defective-dump d] [--driver d] [--eject] [--fill-unreadable n] [--ignore-fatal-sense] [--ignore-iso-size] [--internal-rereads n] [--old-ds-marker] [--prefetch-sectors n] [--raw-mode n] [--read-attempts n-m] [--read-medium n] [--read-raw] [--speed-warning n] [--spinup-delay n]


DVDISASTER provides a margin of safety against data loss on CD and DVD media caused by scratches or aging media. It creates error correction data which is used to recover unreadable sectors if the disc becomes damaged at a later time.


dvdisaster -d /dev/hdc -s
Scans the medium in drive /dev/hdc for errors.
dvdisaster -d /dev/hdc -i medium.iso -r
Reads an image from drive /dev/hdc into the file medium.iso.
dvdisaster -d /dev/hdc -i medium.iso --read-raw -r
Creates an image as described above. Each sector's integrity is verified by using its EDC and L-EC raw data. Only possible for CD media; otherwise the --read-raw option is silently ignored.
dvdisaster -d /dev/hdc -i medium.iso --read-attempts n-m -r
Creates an image as described above. Defective sectors are retried at least n times and at most m times. Recovery of defective CD media may improve when combined with --read-raw.
dvdisaster -d /dev/hdc -i medium.iso -e corr.ecc -r --adaptive-read
Uses the adaptive reading strategy to read an image from drive /dev/hdc into the file medium.iso. Reading will stop when enough data has been gathered to repair the image using the error correction file corr.ecc.
dvdisaster -i medium.iso -e corr.ecc -c
Creates an error correction file corr.ecc for the image medium.iso.
dvdisaster -i medium.iso -mRS02 -n 350000 -c
Augments the image medium.iso with error correction information, expanding the image to no more than 350000 sectors. If -n is omitted the image will be expanded to the smallest possible medium size (CD, DVD, DVD9). Note the missing blank between -m and RS02.
dvdisaster -i medium.iso -e corr.ecc -f
Repairs the image file medium.iso using the error correction file corr.ecc.
dvdisaster -i medium.iso -e corr.ecc -t
Verifies the image medium.iso with information from the error correction file corr.ecc.
Omit the -e corr.ecc options when working with augmented images in the examples above.


Action selection (at least one action must be specified):
-r, --read
Read the medium image to hard disc. Use -rn-m to read a certain sector range, e.g. -r100-200.
-c, --create
Create .ecc information for the medium image.
-f, --fix
Try to fix medium image using .ecc information.
-s, --scan
Scan the medium for read errors.
-t, --test, -tq, --test=q
Test integrity of the .iso and .ecc files. When the "q" option is given, only information is output which can be gathered without fully scanning the files.
-u, --unlink
Delete .iso files (when other actions complete).

Drive and file specification:

-d, --device device
read from given device (default: /dev/cdrom).
-p, --prefix prefix
prefix of .iso/.ecc file (default: medium.* ).
-i, --image imagefile
name of image file (default: medium.iso).
-e, --ecc eccfile
name of parity file (default: medium.ecc).
-o, --ecc-target file|image
Specifies whether RS03 should create error correction files or augmented images (default: image).
Tweaking options (see manual before using!):
-a, --assume codec1,codec2,...
Assumes that the image is augmented with one of the given codecs. This enables an exhaustive search for codec signatures and might be helpful for detecting error correction information on damaged media. If the image does not contain the specified error correction information, a significant amount of CPU and I/O time may be wasted.
Possible values are RS02 and RS03.
-j, --jump n
jump n sectors forward after a read error (default: 16).
-n, --redundancy n[unit]
Error correction data redundancy. Allowed values depend on the codec:

RS01- and RS03-error correction files
-n x  creates error correction file with x roots.
-n x% creates error correction file with x percent redundancy.
-n xm creates error correction file of approx. x MB size.
-n normal - optimized codec for 14.3% redundancy/32 roots.
-n high   - optimized codec for 33.5% redundancy/64 roots.

RS02 images:
-n CD   augments image suitable for CD media.
-n DVD  augments image suitable for DVD media.
-n DVD9 augments image suitable for DVD9 media.
-n BD   augments image suitable for BD media.
-n BD2  augments image suitable for two layered BD media.
-n x    augments image using approx. x sectors in total.
-n x%   augments image with approx. x% redundancy.
-n xr   augments image with x roots error correction data.
-m, --method n
lists/selects error correction methods (default: RS01).
Possible values are RS01 and RS02.
-v, --verbose n%
more diagnostic messages
-x, --threads n
Use n threads for the RS03 codec. Use 2 or 4 threads for 2 or 4 core processors respectively. On larger machines save one core for housekeeping; e.g. use 7 threads on an eight core machine.
use optimized strategy for reading damaged media.
automatically add .iso and .ecc file suffixes.
--cache-size n
image cache size in MB during -c mode (default: 32MB).
assume DAO disc; do not trim image end.
--defective-dump d
Specifies the sub directory for storing incomplete raw sectors.
--driver d (Linux only)
Selects between the sg (SG_IO) driver (default setting) and the older cdrom (CDROM_SEND_PACKET) driver for accessing the optical drives. Both drivers should work equally well; however the cdrom driver is known to cause system failures on some ancient SCSI controllers. The older cdrom driver was the default upto and including dvdisaster 0.72.x; if the now pre-selected sg driver changes something to the worse for you please switch back to the older driver using --driver=cdrom.
eject medium after successful read.
--fill-unreadable n
fill unreadable sectors with byte n
continue reading after potentially fatal error condition.
By default getting the image size from the ISO/UDF filesystem is preferred over querying the drive as most drives report unreliable values.
However in some rare cases the image size recorded in the ISO/UDF filesystem is wrong. Some Linux live CDs may have this problem. If you read back the ISO image from such CDs and its md5sum does not match the advertised one, try re-reading the image with this option turned on.
Do not blindly turn this option on as it will most likely create sub optimal or corrupted ISO images, especially if you plan to use the image for error correction data generation.
--internal-rereads n
internal read attempts for defective CD media sectors (default: -1)
The drive firmware usually retries unreadable sectors a few times before giving up and returning a read error. It is more efficient to set this to 0 or 1 and manage read attempts through the --read-attempts parameter. Most drives ignore this setting anyways. Use -1 to leave the drive at its default setting.
Marks missing sectors in a manner which is compatible with dvdisaster 0.70 or older.
The default marking method is recommended for dvdisaster 0.72 and later versions. However images marked with the current method can not be processed with older dvdisaster versions as missing sectors would not be recognized in the image.

Do not process the same image with different settings for this option.

--prefetch-sectors n
number of sectors to preload during RS03 de-/encoding (default: 32)
Using a value of n uses approx. n MB of RAM.
--raw-mode n
selects raw reading mode for CD media (default: 20)
The recommended mode is 20, which makes the drive apply its built-in error correction to the best possible extent before transferring a defective sector. However some drives can only read defective sectors using mode 21, skipping the last stage of the internal error correction and returning the uncorrected sector instead.
--read-attempts n-m
attempts n upto m reads of a defective sector.
--read-medium n
read the whole medium up to n times.
performs read in raw mode if possible.
--speed-warning n
print warning if speed changes by more than n percent.
--spinup-delay n
wait n seconds for drive to spin up.


DVDISASTER was written by Carsten Gnoerlich <[email protected]>.

This manual page was written by Daniel Baumann <[email protected]>, for the Debian project (but may be used by others). Since version 0.70 it is maintained by Carsten Gnoerlich.