dvdisaster Version 0.70 | To the Internet version

Contents

Overview
Examples and screen shots
· | Scanning media for errors
· | Creating error correction data
· | Reading defective media
· | Recovering media images
· | Getting information about images and error correction data
· | Configuration
· | Command syntax
Download
Questions and Answers
Background information

### Command syntax

Using the command line. dvdisaster will work in command line mode if it is called with one of the actions described below (read, create, scan, fix, test). Otherwise a window for the graphical user interface will be opened.

Command line mode ignores any settings from the graphical interface and the .dvdisaster file. Likewise, the command line options described here have no effect in the graphical user interface.

For technical reasons there are two program versions for Windows:

dvdisaster.exe | -- | provides the command line interface
dvdisaster-win.exe | -- | contains the graphical user interface

Actions. dvdisaster needs to be called with at least one action specified either in long form (--read) or just by the beginning letter (-r):

| --scan | Scan medium for read errors
| --read | Read the medium image to hard disc
| --create | Create the error correction file
| --fix | Try to fix an image using the error correction file
| --test | Test whether image and error correction file match
| --unlink | Delete the image file at program exit

Device and filenames. These options do also have a long form (--device) and a first letter abbreviation (-d). They are used to change the pre-selected drive and file names.

| --device | Device selection
| --prefix | Prefix for image and error correction files
| --image | Name of image file
| --ecc | Name of error correction file
| --list | shows drives available under ASPI (Windows version only)

Other Options. These less frequently used options are only available in the long form unless noted otherwise.

| --adaptive-read | Use adaptive strategy for reading damaged media
| --auto-suffix | Automatically add .iso and .ecc file suffixes
| --cache-size | Cache size during creation of the error correction file
| --dao | Assumes "disk at once" medium
| --fill-unreadable [n] | Fill unreadable sectors with given byte
| -j / --jump | Skip sectors after a read error
| -m / --method | Select error correction method
| -n / --redundancy | Set error correction file redundancy (RS01)
|  | Set maximum size for augmented images (RS02)
| --query-size | Query drive or udf/ecc file system for image size
| --speed-warning [n] | Warns when reading speed drops a certain amount
| --spinup-delay [n] | Gives drive time to spin up
| --split-files | Splits files into segments <= 2GB
| -v / --verbose | More explanatory output

### Actions.

--scan [n-m]: Scan medium for read errors

Reads every medium sector and prints the number of unreadable sectors when finished.

It is possible to limit the scan to a certain range of sectors. Sector counting starts with 0; "end" refers to the last sector. The given interval is inclusive; 0-100 will read 101 sectors.

Do not use white space in the abbreviated form between the "-s" and the interval:

    dvdisaster -s0-100          # reads sectors 0 to 100
    dvdisaster --scan 0-100     # long form
    dvdisaster --scan 3000-end  # reads from sector 3000 until the end of medium

↑

--read [n-m]: Read the medium image to hard disc

Creates a medium image on the hard disc.

If the image file is already present, only sectors missing in the image will be re-read. This allows for completing the image in several reading passes, and optionally to employ different drives in each of them.

--read will use the linear reading strategy by default. Add the --adaptive-read option to employ the adaptive reading strategy instead.

The range of sectors to be read in can be limited analogous to the --scan option.

↑

--create: Create the error correction file

Creates the error correction file for an image.

↑

--fix: Fix an image

Try to fix an image using the error correction file.

If not all sectors can be repaired during the first pass, try reading the image again with another --read pass (some hints for re-reading). This might gather enough missing sectors for a successful error correction run.

↑

--test: Test whether image and error correction files match

This action simply checks whether the image and error correction files match (e.g. belong to the same medium), and whether their internal check sums are correct.

See also topic 3.3 in the Questions and Answers.

↑

--unlink: Delete the image file at program exit

This function deletes the image file if all preceeding actions were successful.

↑

### Devices and file names.

--device <drive>: Select a drive

The preset is "/dev/cdrom" for Linux. Under Windows, the first CD/DVD drive (according to the drive letter order) is pre-selected.

FreeBSD:

user@freebsd> dvdisaster -d /dev/pass0 -r

dvdisaster supports drives which are accessible through the passthrough driver `/dev/pass*` and which are MMC3 compliant. Access to ATAPI drives may require a kernel recompile.

Linux:

user@linux> dvdisaster -d /dev/hdc -r

dvdisaster supports drives which are accessible through the Linux uniform CD-ROM driver and which are MMC3 compliant. These are particularly ATAPI drives attached to the symbolic devices `/dev/hd*` and SCSI drives using the symbolic devices `/dev/scd*`. External drives using other bus systems (like USB, IEEE 1394) usually also appear as SCSI devices.

Accessing ATAPI drives using the ide-scsi module is not recommended, but possible since these devices are usually available under the `/dev/scd*` interface.

The general SCSI driver sg (`/dev/sg*`) is not supported. This should not be a problem since the respective drives are also available using the `/dev/scd*` or `/dev/sr*` devices.

Windows:

user@windows> dvdisaster -d E: -r

dvdisaster supports local drives implementing the MMC3 standard and which are referenced through a drive letter in the system.

↑

--prefix <prefix>: Prefix for image and error correction files

The preset is "medium"; the image and error correction files will automatically receive the endings ".iso" and ".ecc".

↑

--image <file name>: Name of image file

The preset is "medium.iso"; the specified file name will be used exactly (without appending a suffix) for the image file as long as --auto-suffix is not specified also.

↑

--ecc <file name>: Name of error correction file

The preset is "medium.ecc"; the specified file name will be used exactly (without appending a suffix) for the error correction file as long as --auto-suffix is not specified also.

↑

--list: shows drives available under ASPI

This option lists all CD/DVD drives which are accessible through the ASPI layer of Windows:

user@windows> dvdisaster -l dvdisaster-0.70 Copyright 2004-2007 Carsten Gnoerlich. [... remainder of the GPL announcement ...] List of ASPI CD/DVD drives: 1: (H:) ATAPI DVD+RW 8X4X12 B2K7 2: (I:) MYDRIVE CD-R MY-401610X 1.05 To force ASPI usage over SPTI, refer to the drive by the above numbers (use 1:, 2:,... instead of C:, D:,...)

The default is trying to access a drive using SPTI first and only fall back to ASPI if the former does not work. Usage of the ASPI layer can be forced by specifying the drive by its number rather than by its letter. To read in a disc using ASPI and the "MYDRIVE" unit from the above example, you would therefore enter:

user@windows> dvdisaster -d 2: -r

↑

### Other Options.

--adaptive-read: Use adaptive strategy for reading damaged media

Use this switch in conjunction with -r/--read to select the adaptive reading strategy which is particularly suited for reading in damaged media.

If you are working with error correction files, specify them with -e/--ecc so that the reading process can finish as soon as enough information has been collected for recovering the medium image. For augmented images the error correction data is used automatically.

↑

--auto-suffix: automatically add .iso and .ecc file suffixes

When this option is given, file names specified by the -i/--image- or -e/--ecc option will be automatically appended with ".iso" or ".ecc" respectively if no other file name extension is already present.

↑

--cache-size <size in MB>: Specify the cache size

dvdisaster optimizes access to the image and error correction data by maintaining its own cache. The cache size can be between 1 and 2048 MB. The preset is 32MB, which should be suitable for most systems.

This option is only effective during the --create action.

↑

--dao: Assumes "disk at once" medium

Media written in "TAO" ("track at once") mode may contain two sectors with pseudo read errors at the end. By default these two errors are ignored by dvdisaster.

If you are extremely unlucky to have a "DAO" ("disc at once") medium with exactly one or two real read errors at the end, use the "--dao" option to have these read errors handled correctly.

↑

--fill-unreadable <fill byte>: fill unreadable sectors with given byte

dvdisaster marks unreadable sectors with a special filling sequence which is very unlikely to occur in undamaged media.
In other data recovery software it is common to fill unreadable sectors with a certain byte value. To allow interoperability with such programs, you can specify the byte value they are using:

- 0xb0 (176 decimal): for compatibility with h2cdimage published by "c't", a German periodical.

Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors. At a later error correction pass, these can not be told apart from unreadable sectors if zero filling is used.
↑

-j / --jump <number of sectors>: Skip sectors after a read error

This option has slightly different behaviour depending on the employed reading strategy:

- when using the linear reading strategy (default setting), the given number of sectors will be skipped after a read error.
- the adaptive reading strategy (--adaptive-read option) will terminate when no unreadable areas are left in the image which are larger than the given value.

Large values reduce the processing time and the mechanical wear on the drive, but will also leave larger gaps in the image when reading defective areas. The number of skipped sectors must be a multiple of 16.
↑

-m / --method <m>: Select error correction method

Choose between the RS01 (default) and RS02 method.

↑

--query-size <m>: Query drive or udf/ecc file system for image size

This option influences how dvdisaster will determine the image size when reading media. <m> can have the following values:

ecc: This is the default. dvdisaster will use the image size recorded in the RS02 error correction information. This option must be selected for reading augmented images; otherwise the resulting image may be incomplete.
It is possible to read images containing no RS02 error correction information with this option set. In this case the image size will be determined as in the "udf" setting. However searching for the error correction information may delay the start of the reading operation.

udf: dvdisaster will determine the image size from the ISO/UDF file system.
Caution: This is only suitable for working with error correction files as it results in incomplete images if used for reading images augmented with RS02 error correction information.

drive: The image size reported by the drive will be used. Since this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions.

↑

-n / --redundancy: Set error correction file redundancy (RS01)

The redundancy specifies the percentage of errors which are correctable by the error correction file in the best case. Since the ideal case is rare, it is recommended to apply a reasonable margin to the redundancy. Also, consider the following properties of the error correction:

- An error correction file with x% redundancy will be approximately x% of the size of the corresponding image file.
- The error correction capability depends on the statistical distribution of read errors. Only changes by 5 percentage points and more may have a recognizable effect on the error correction.

The are several ways of specifying the redundancy:

1. "normal" or "high"

   Enter "normal" or "high" to get the following redundancies:

   Value | Redundancy
   `-n normal` | 14.3%
   `-n high` | 33.5%

   These values invoke optimized program code to speed up the error correction file creation. The default value is "normal".

2. Percentage values

   Specifying the redundancy by percent is also possible:

   Example | Valid range
   `-n 25%` | 3.2% to 64.5%

   For technical reasons the actual redundancy can deviate a few tenths from the specified value.

3. Correctable errors per ECC block

   When no redundancy unit is given, the value is interpreted to create a (255, 255-x)-Reed-Solomon code:

   Example | Valid range
   `-n 32` | 8 to 100

   This combines 255-x media sectors into one ECC block. Within this block up to x unreadable sectors can be recovered.

   By the way: Redundancy in percent = (100 * x) / (255 - x)

4. Maximum size of error correction file

   Another way of specifying redundancy is to give the size of the error correction file in MB:

   Example | Valid range
   `-n 50m` | 3.2% to 64.5% of image size

   In this case dvdisaster will choose a suitable redundancy setting so that the overall size of the error correction file does not exceed the given limit.

   Advance notice: When using the same size setting for images of vastly different size, more error correction information is allotted to the smaller images and less to the larger ones.

↑

-n / --redundancy: Set maximum size for augmented images (RS02)

Specifies the maximum possible size for augmented images in sectors of 2K size. The image will be filled up with error correction data up to the given size.

Instead of the number of sectors one of the values CD, DVD and DVD9 are also accepted; these represent the default settings shown in the graphical user interface.

If the -n/--redundancy option is omitted dvdisaster will expand the image so that the smallest possible medium type (CD or one/two layered DVD) can be used.

↑

--speed-warning [n]: Warns when reading speed drops a certain amount

Prints a warning when the reading speed changes by more than n percent. This is useful for recognizing a beginning decay in media quality. If the optional value [n] is omitted, a preset of 10 percent is used.

↑

--spinup-delay [n]: Gives drive time to spin up

Waits the given amount of seconds for the drive to spin up before the real reading process starts. This avoids spurious warnings about speed changes at the beginning of the medium when the --speed-warning option is used.
If the optional value [n] is not given, dvdisaster will wait for 5 seconds.

↑

--split-files: Splits files into segments <= 2GB

Allows the creation of large images and error correction files on file systems which are limited to 2GB per file (e.g. FAT from Windows). The files are spread over upto 100 segments "medium00.iso", "medium01.iso" etc. at the cost of a small performance hit.

The file name must still be specified as "medium.iso" using the --image option; the numbering will be automatically inserted when this switch is active.

↑

-v / --verbose: More explanatory output

dvdisaster will print more information about what it is doing if this option is set. Unlike the other command line options this one does also have an effect in the graphical user interface; the additional output will be printed into the "Print Log" window.

↑

Copyright 2004-2007 Carsten Gnörlich. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.