NAME
DVDISASTER - data loss/scratch/aging protection for optical media
SYNOPSIS
dvdisaster [-r|-c|-f|-s|-t[q]|-u] [-d device] [-p prefix] [-i image] [-e eccfile] [-o file|image] [-a method-list] [-j n] [-n n%] [-m n] [-v] [-x n] [--adaptive-read] [--auto-suffix] [--cache-size n] [--dao] [--defective-dump d] [--driver d] [--eject] [--encoding-algorithm n] [--encoding-io-strategy n] [--fill-unreadable n] [--ignore-fatal-sense] [--ignore-iso-size] [--internal-rereads n] [--medium-info] [--no-progress] [--old-ds-marker] [--prefetch-sectors n] [--raw-mode n] [--read-attempts n-m] [--read-medium n] [--read-raw] [--regtest] [--resource-file n] [--speed-warning n] [--spinup-delay n] [--version]
DESCRIPTION
DVDISASTER provides a margin of safety against data loss on optical 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.
TYPICAL USAGE
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.
NOTE: |
Omit the -e corr.ecc options when working with augmented images in the examples above. |
OPTIONS
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 method1,method2,...
Assumes that the image is
augmented with one of the given methods. This enables an
exhaustive search for method 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 method:
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 MiB
size.
RS01 error correction flles additionally support:
-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 BDXL3 augments image suitable for three layered BDXL
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.
RS03 images:
Setting the redundancy is not possible due to constraints in the format. The codec will automatically choose the size of the smallest fitting medium.
-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 encoding with the RS03 method. 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.
--adaptive-read
use optimized strategy for reading damaged media.
--auto-suffix
automatically add .iso and .ecc file suffixes.
--cache-size n
image cache size in MiB during -c mode (default: 32MiB).
--dao |
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 up to 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
eject medium after successful read.
--encoding-algorithm [32bit|64bit|SSE2|AltiVec]
This option affects the speed
of generating RS03 error correction data. dvdisaster can
either use a generic encoding algorithm using 32bit or 64bit
wide operations running on the integer unit of the
processor, or use processor specific extensions.
Available extensions are SSE2 for x86 based processors and
AltiVec on PowerPC processors. These extensions encode with
128bit wide operations and will usually provide the fastest
encoding variant. The SSE2/AltiVec algorithms will
automatically be selected if the processor supports them and
nothing else is specified by this option.
--encoding-io-strategy [readwrite|mmap]
This option controls how
dvdisaster performs its disk I/O while creating error
correction data with RS03. Try both options and see which
performs best on your hardware setting.
The "readwrite" option activates
dvdisaster’s own I/O scheduler which reads and writes
image data using normal file I/O. The advantage of this
scheme is that dvdisaster knows exactly which data needs to
be cached and preloaded; the disadvantage is that all data
needs to be copied between the kernel and dvdisaster’s
own buffers. Usually, this I/O scheme works best on slow
storage with high latency and seek times; e.g. on all
storage involving spinning platters. The "mmap"
option uses the kernel’s memory mapping scheme for
direct access to the image file. This has the advantage of
minimal overhead, but may be adversely affected by poor
caching and preloading decisions made by the kernel (since
the kernel does not know what dvdisaster is going to do with
the data). This scheme performs well when encoding in a
RAM-based file system (such as /dev/shm on Linux) and on
very fast media with low latency such as SSDs.
--fill-unreadable n
fill unreadable sectors with byte n. Useful for processing images which have been created by other tools. For example, ddrescue fills unreadable sectors with zeros; therefore --fill-unreadable=0 should be used. Please note: Sparse files can not be processed with dvdisaster.
--ignore-fatal-sense
continue reading after potentially fatal error condition.
--ignore-iso-size
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.
--medium-info
Prints information about the currently inserted medium.
--no-progress
Suppresses the progress percentage indicator.
--old-ds-marker
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 MiB 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 up to m reads of a defective sector.
--read-medium n
read the whole medium up to n times.
--read-raw
performs read in raw mode if possible.
--regtest
modifies some outputs for better processing with the regression test scripts.
--resource-file n
Specifies the path to the configuration file (default: $HOME/.dvdisaster)
--speed-warning n
print warning if speed changes by more than n percent.
--spinup-delay n
wait n seconds for drive to spin up.
--version
print version number and some configuration information.
SEE ALSO
Documentation DVDISASTER is documented by its own manual, installed in /usr/share/doc/dvdisaster/manual.pdf
AUTHOR
DVDISASTER was written by Carsten Gnoerlich <carsten [AT] dvdisaster.org>. Since version 0.79.7 it is maintained by the dvdisaster development team <support [AT] dvdisaster.org>.
This manual page was written by Daniel Baumann <daniel.baumann [AT] panthera-systems.net>, for the Debian project (but may be used by others). Since version 0.70 it was updated by Carsten Gnoerlich and is currently maintained by the dvdisaster development team.