452 lines
14 KiB
Groff
452 lines
14 KiB
Groff
.TH DVDISASTER 1 "2018-05-14" "0.79.7" "protection for optical media"
|
|
|
|
.SH NAME
|
|
DVDISASTER \- data loss/scratch/aging protection for optical media
|
|
|
|
.SH SYNOPSIS
|
|
.B dvdisaster
|
|
.RB [\| \-r \||\| \-c \||\| \-f \||\| \-s \||\| \-t[q] \||\| \-u \|]
|
|
.RB [\| \-d
|
|
.IR device \|]
|
|
.RB [\| \-p
|
|
.IR prefix \|]
|
|
.RB [\| \-i
|
|
.IR image \|]
|
|
.RB [\| \-e
|
|
.IR eccfile \|]
|
|
.RB [\| \-o
|
|
.IR file|image \|]
|
|
.RB [\| \-a
|
|
.IR method-list \|]
|
|
.RB [\| \-j
|
|
.IR n \|]
|
|
.RB [\| -n
|
|
.IR n% \|]
|
|
.RB [\| -m
|
|
.IR n \|]
|
|
.RB [\| -v \|]
|
|
.RB [\| -x
|
|
.IR n \|]
|
|
.RB [\| \-\-adaptive-read \|]
|
|
.RB [\| \-\-auto-suffix \|]
|
|
.RB [\| \-\-cache-size
|
|
.IR n \|]
|
|
.RB [\| \-\-dao \|]
|
|
.RB [\| \-\-defective-dump
|
|
.IR d \|]
|
|
.RB [\| \-\-driver
|
|
.IR d \|]
|
|
.RB [\| \-\-eject \|]
|
|
.RB [\| \-\-encoding-algorithm
|
|
.IR n \|]
|
|
.RB [\| \-\-encoding-io-strategy
|
|
.IR n \|]
|
|
.RB [\| \-\-fill-unreadable
|
|
.IR n \|]
|
|
.RB [\| \-\-ignore-fatal-sense \|]
|
|
.RB [\| \-\-ignore-iso-size \|]
|
|
.RB [\| \-\-internal-rereads
|
|
.IR n \|]
|
|
.RB [\| \-\-medium-info \|]
|
|
.RB [\| \-\-no-progress \|]
|
|
.RB [\| \-\-old-ds-marker \|]
|
|
.RB [\| \-\-no-bdr-defect-management \|]
|
|
.RB [\| \-\-prefetch-sectors
|
|
.IR n \|]
|
|
.RB [\| \-\-raw-mode
|
|
.IR n \|]
|
|
.RB [\| \-\-read-attempts
|
|
.IR n-m \|]
|
|
.RB [\| \-\-read-medium
|
|
.IR n \|]
|
|
.RB [\| \-\-read-raw \|]
|
|
.RB [\| \-\-regtest \|]
|
|
.RB [\| \-\-resource-file
|
|
.IR n \|]
|
|
.RB [\| \-\-speed-warning
|
|
.IR n \|]
|
|
.RB [\| \-\-spinup\-delay
|
|
.IR n \|]
|
|
.RB [\| \-\-version \|]
|
|
|
|
.SH DESCRIPTION
|
|
.B 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.
|
|
|
|
.SH TYPICAL USAGE
|
|
|
|
.TP
|
|
\fBdvdisaster\fP \fB-d\fP \fI/dev/hdc\fP \fB-s\fP
|
|
Scans the medium in drive \fI/dev/hdc\fP for errors.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-d\fP \fI/dev/hdc\fP \fB-i\fP \fImedium.iso\fP \fB-r\fP
|
|
Reads an image from drive \fI/dev/hdc\fP into the file \fImedium.iso\fP.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-d\fP \fI/dev/hdc\fP \fB-i\fP \fImedium.iso\fP \fB--read-raw\fP \fB-r\fP
|
|
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 \fB--read-raw\fP option is silently ignored.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-d\fP \fI/dev/hdc\fP \fB-i\fP \fImedium.iso\fP \fB--read-attempts\fP \fIn-m\fP \fB-r\fP
|
|
Creates an image as described above. Defective sectors are retried at least \fIn\fP
|
|
times and at most \fIm\fP times. Recovery of defective CD media may improve when
|
|
combined with \fB--read-raw\fP.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-d\fP \fI/dev/hdc\fP \fB-i\fP \fImedium.iso\fP \fB-e\fP \fIcorr.ecc\fP \fB-r\fP \fB--adaptive-read\fP
|
|
Uses the adaptive reading strategy to read an image from
|
|
drive \fI/dev/hdc\fP into the file \fImedium.iso\fP.
|
|
Reading will stop when enough data has been
|
|
gathered to repair the image using the error correction file \fIcorr.ecc\fP.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-i\fP \fImedium.iso\fP \fB-e\fP \fIcorr.ecc\fP \fB-c\fP
|
|
Creates an error correction file \fIcorr.ecc\fP for the image \fImedium.iso\fP.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-i\fP \fImedium.iso\fP \fB-m\fIRS02\fP \fB-n\fP \fI350000\fP \fB-c\fP
|
|
Augments the image \fImedium.iso\fP with error correction information,
|
|
expanding the image to no more than \fI350000\fP sectors. If \fB-n\fP is omitted the image
|
|
will be expanded to the smallest possible medium size (CD, DVD, DVD9).
|
|
Note the missing blank between \fB-m\fP and \fIRS02\fP.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-i\fP \fImedium.iso\fP \fB-e\fP \fIcorr.ecc\fP \fB-f\fP
|
|
Repairs the image file \fImedium.iso\fP using the error correction file \fIcorr.ecc\fP.
|
|
.TP
|
|
\fBdvdisaster\fP \fB-i\fP \fImedium.iso\fP \fB-e\fP \fIcorr.ecc\fP \fB-t\fP
|
|
Verifies the image \fImedium.iso\fP with information from
|
|
the error correction file \fIcorr.ecc\fP.
|
|
.TP
|
|
\fBNOTE:\fP
|
|
Omit the \fB-e corr.ecc\fP options when working with augmented images in the examples above.
|
|
|
|
.SH OPTIONS
|
|
Action selection (at least one action must be specified):
|
|
.TP
|
|
.B \-r, \-\-read
|
|
Read the medium image to hard disc. Use \-rn-m to read a certain sector range,
|
|
e.g. \-r100-200.
|
|
.TP
|
|
.B \-c, \-\-create
|
|
Create .ecc information for the medium image.
|
|
.TP
|
|
.B \-f, \-\-fix
|
|
Try to fix medium image using .ecc information.
|
|
.TP
|
|
.B \-s, \-\-scan
|
|
Scan the medium for read errors.
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-u, \-\-unlink
|
|
Delete .iso files (when other actions complete).
|
|
.PP
|
|
|
|
Drive and file specification:
|
|
.TP
|
|
.B \-d, \-\-device device
|
|
read from given device (default: /dev/cdrom).
|
|
.TP
|
|
.B \-p, \-\-prefix prefix
|
|
prefix of .iso/.ecc file (default: medium.* ).
|
|
.TP
|
|
.B \-i, \-\-image imagefile
|
|
name of image file (default: medium.iso).
|
|
.TP
|
|
.B \-e, \-\-ecc eccfile
|
|
name of parity file (default: medium.ecc).
|
|
.TP
|
|
.B \-o, \-\-ecc-target file|image
|
|
Specifies whether RS03 should create error correction files
|
|
or augmented images (default: image).
|
|
.TP
|
|
|
|
Tweaking options (see manual before using!):
|
|
.TP
|
|
.B \-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.
|
|
.RS
|
|
Possible values are RS02 and RS03.
|
|
.RE
|
|
.TP
|
|
.B \-j, \-\-jump n
|
|
jump n sectors forward after a read error (default: 16).
|
|
.TP
|
|
.B \-n, \-\-redundancy n[unit]
|
|
Error correction data redundancy. Allowed values depend
|
|
on the method:
|
|
|
|
.RS
|
|
RS01- and RS03-error correction files
|
|
.RS
|
|
\-n x\ \ creates error correction file with x roots.
|
|
.RE
|
|
.RS
|
|
\-n x% creates error correction file with x percent redundancy.
|
|
.RE
|
|
.RS
|
|
\-n xm creates error correction file of approx. x MiB size.
|
|
.RE
|
|
.RE
|
|
|
|
.RS
|
|
RS01 error correction flles additionally support:
|
|
.RS
|
|
\-n normal - optimized codec for 14.3% redundancy/32 roots.
|
|
.RE
|
|
.RS
|
|
\-n high\ \ \ - optimized codec for 33.5% redundancy/64 roots.
|
|
.RE
|
|
.RE
|
|
|
|
.RS
|
|
RS02 images:
|
|
.RS
|
|
\-n CD\ \ \ \ augments image suitable for CD media.
|
|
.RE
|
|
.RS
|
|
\-n DVD\ \ \ augments image suitable for DVD media.
|
|
.RE
|
|
.RS
|
|
\-n DVD9\ augments image suitable for DVD9 media.
|
|
.RE
|
|
.RS
|
|
\-n BD\ \ \ \ augments image suitable for BD media.
|
|
.RE
|
|
.RS
|
|
\-n BD2\ \ augments image suitable for two layered BD media.
|
|
.RE
|
|
.RS
|
|
\-n BDXL3 augments image suitable for three layered BDXL media.
|
|
.RE
|
|
.RS
|
|
\-n BDXL4 augments image suitable for quadruple layered BDXL media.
|
|
.RE
|
|
.RS
|
|
\-n BDNODM\ \ \ \ augments image suitable for BD media burnt without defect management.
|
|
.RE
|
|
.RS
|
|
\-n BD2NODM\ \ augments image suitable for two layered BD media burnt without defect management.
|
|
.RE
|
|
.RS
|
|
\-n BDXL3NODM augments image suitable for three layered BDXL media burnt without defect management.
|
|
.RE
|
|
.RS
|
|
\-n BDXL4NODM augments image suitable for quadruple layered BDXL media burnt without defect management.
|
|
.RE
|
|
.RS
|
|
\-n x\ \ \ \ \ augments image using approx. x sectors in total.
|
|
.RE
|
|
.RS
|
|
\-n x%\ \ \ \ augments image with approx. x% redundancy.
|
|
.RE
|
|
.RS
|
|
\-n xr\ \ \ \ augments image with x roots error correction data.
|
|
.RE
|
|
.RE
|
|
|
|
.RS
|
|
RS03 images:
|
|
.RS
|
|
Setting the redundancy is not possible due to constraints in the format.
|
|
The codec will automatically choose the size of the smallest fitting medium.
|
|
However, see --no-bdr-defect-management below.
|
|
.RE
|
|
.RE
|
|
|
|
.TP
|
|
.B \-\-no-bdr-defect-management
|
|
Enable bigger augmented images for BD-R (around +3%).
|
|
If you know you will use a BD-R medium and want to maximize the free space
|
|
for parity data, you can skip the defect management formatting before burning,
|
|
at the expense of potential coasters. Specify this option to tell dvdisaster
|
|
to produce bigger images that will only fit on BD-R media burnt without defect
|
|
management. Some burning softwares call it "formatting" the BD-R before burning.
|
|
Note that should you need to repair such an augmented image, you'll then need to
|
|
specify this option on the command-line too.
|
|
.RE
|
|
|
|
.TP
|
|
.B \-m, \-\-method n
|
|
lists/selects error correction methods (default: RS01).
|
|
.RS
|
|
Possible values are RS01 and RS02.
|
|
.RE
|
|
.TP
|
|
.B \-v, \-\-verbose n%
|
|
more diagnostic messages
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-\-adaptive-read
|
|
use optimized strategy for reading damaged media.
|
|
.TP
|
|
.B \-\-auto-suffix
|
|
automatically add .iso and .ecc file suffixes.
|
|
.TP
|
|
.B \-\-cache-size n
|
|
image cache size in MiB during \-c mode (default: 32MiB).
|
|
.TP
|
|
.B \-\-dao
|
|
assume DAO disc; do not trim image end.
|
|
.TP
|
|
.B \-\-defective-dump d
|
|
Specifies the sub directory for storing incomplete raw sectors.
|
|
.TP
|
|
.B \-\-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.
|
|
.TP
|
|
.B \-\-eject
|
|
eject medium after successful read.
|
|
.TP
|
|
.B \-\-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.
|
|
.RS
|
|
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.
|
|
.RE
|
|
.TP
|
|
.B \-\-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.
|
|
.RS
|
|
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.
|
|
.RE
|
|
.TP
|
|
.B \-\-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.
|
|
.TP
|
|
.B \-\-ignore-fatal-sense
|
|
continue reading after potentially fatal error condition.
|
|
.TP
|
|
.B \-\-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.
|
|
.RS
|
|
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.
|
|
.RE
|
|
.RS
|
|
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.
|
|
.RE
|
|
.TP
|
|
.B \-\-internal-rereads n
|
|
internal read attempts for defective CD media sectors (default: \-1)
|
|
.RS
|
|
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.
|
|
.RE
|
|
.TP
|
|
.B \-\-medium-info
|
|
Prints information about the currently inserted medium.
|
|
.TP
|
|
.B \-\-no-progress
|
|
Suppresses the progress percentage indicator.
|
|
.TP
|
|
.B \-\-old-ds-marker
|
|
Marks missing sectors in a manner which is compatible with
|
|
dvdisaster 0.70 or older.
|
|
.RS
|
|
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.
|
|
.RE
|
|
.TP
|
|
.B \-\-prefetch-sectors n
|
|
number of sectors to preload during RS03 de-/encoding (default: 32)
|
|
.RS
|
|
Using a value of n uses approx. n MiB of RAM.
|
|
.RE
|
|
.TP
|
|
.B \-\-raw-mode n
|
|
selects raw reading mode for CD media (default: 20)
|
|
.RS
|
|
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.
|
|
.RE
|
|
.TP
|
|
.B \-\-read-attempts n-m
|
|
attempts n up to m reads of a defective sector.
|
|
.TP
|
|
.B \-\-read-medium n
|
|
read the whole medium up to n times.
|
|
.TP
|
|
.B \-\-read-raw
|
|
performs read in raw mode if possible.
|
|
.TP
|
|
.B \-\-regtest
|
|
modifies some outputs for better processing with the regression test scripts.
|
|
.TP
|
|
.B \-\-resource-file n
|
|
Specifies the path to the configuration file (default: $HOME/.dvdisaster)
|
|
.TP
|
|
.B \-\-speed-warning n
|
|
print warning if speed changes by more than n percent.
|
|
.TP
|
|
.B \-\-spinup-delay n
|
|
wait n seconds for drive to spin up.
|
|
.TP
|
|
.B \-\-version
|
|
print version number and some configuration information.
|
|
.PP
|
|
|
|
.SH SEE ALSO
|
|
.B Documentation
|
|
DVDISASTER is documented by its own manual, installed in
|
|
.IR %docdir%
|
|
|
|
.SH AUTHOR
|
|
DVDISASTER was written by Carsten Gnoerlich <carsten@dvdisaster.com>.
|
|
.PP
|
|
This manual page was written by Daniel Baumann
|
|
<daniel.baumann@panthera-systems.net>, for the Debian project (but may be used
|
|
by others). Since version 0.70 it is maintained by Carsten Gnoerlich.
|