New upstream version 0.79.5
17
documentation/user-manual/Makefile
Normal file
@@ -0,0 +1,17 @@
|
||||
.PHONY : all clean archclean single
|
||||
|
||||
all: single
|
||||
|
||||
clean:
|
||||
@rm -f *~ *.aux *.log *.bak *.out *.toc *.dvi *.ps
|
||||
|
||||
archclean: clean
|
||||
@rm -f *.pdf
|
||||
|
||||
single:
|
||||
pdflatex manual
|
||||
|
||||
manual.pdf: preface.tex background.tex defect-reporting.tex howtos.tex manual.tex qa.tex burning-compatibility.tex download.tex local.tex overview.tex
|
||||
pdflatex manual
|
||||
pdflatex manual
|
||||
pdflatex manual
|
||||
609
documentation/user-manual/background.tex
Normal file
@@ -0,0 +1,609 @@
|
||||
\section{Background information}
|
||||
\label{background}
|
||||
|
||||
The information in this sub section is not required for operating
|
||||
dvdisaster. However it is helpful for understanding how dvdisaster works
|
||||
and may help you getting the most out of the program according to your needs.
|
||||
|
||||
\subsection{Properties of the error correction}
|
||||
\label{background-properties}
|
||||
|
||||
This sub section outlines the basic ideas behind dvdisaster so that you can
|
||||
see for yourself whether it meets your demands on data safety. If in doubt,
|
||||
you should not use dvdisaster as a single means of protecting your data
|
||||
and deploy additional data backup strategies.
|
||||
|
||||
\paragraph{Method of error correction.} dvdisaster
|
||||
uses a \href{http://en.wikipedia.org/wiki/Reed-Solomon_error_correction}{Reed-Solomon code } together
|
||||
with an error correction algorithm optimized for the treatment of erasures. The
|
||||
implementation draws a lot of inspiration and program code from the
|
||||
excellent \href{http://www.ka9q.net/code/fec/}{Reed-Solomon} library written
|
||||
\href{http://www.ka9q.net/}{by Phil Karn}.
|
||||
|
||||
Using the \tlnk{howto-eccfile-basic-settings-ecc}{standard settings} of
|
||||
an \tlnk{howto-eccfile}{error correction} file 223 medium sectors
|
||||
are combined into one error correction code (``ECC'') block.
|
||||
Medium read errors are regarded as ``erasures''; therefore a maximum
|
||||
of 32 bad medium sectors\footnote{The given threshold of 32 correctable errors per ECC
|
||||
block is the standard setting. It is possible to select \tlnk{howto-eccfile-basic-settings-ecc}{other values}
|
||||
for higher or lower error correction capabilities.
|
||||
When \tlnk{howto-augment}{error correction data is put directly on the medium},
|
||||
the number of correctable errors depends on the free space on the medium.} are
|
||||
correctable per ECC block.
|
||||
|
||||
The 223 sectors are selected so that they are evenly distributed over the medium
|
||||
surface. Therefore large contigous areas of defective sectors can be corrected before
|
||||
the threshold of 32 defects per ECC block is reached. This kind of error
|
||||
pattern is especially common for an aging medium where the outer area is starting
|
||||
to degenerate, and for scratches along the data spiral.
|
||||
|
||||
On the other hand, radial or diagonal scratches are expected to be correctable
|
||||
in the optical disc drive itself. If not, the employed error correction
|
||||
strategy performs rather neutral in these cases (neither especially good
|
||||
nor extraordinary bad).
|
||||
|
||||
\paragraph{Limits of error correction.} In the wost case, 33 defective sectors (for the
|
||||
standard setting) are sufficient to prevent a full data restoration. However
|
||||
to achieve this effect, the errors have to be distributed over the medium in such
|
||||
a way that they occur in the same ECC block - such patterns are very unlikely.
|
||||
Empirical tests have shown that on aging media about 10\% of the overall
|
||||
sector count may become defective before the threshold of 33 defects per ECC block is reached.
|
||||
Scratches will cause the threshold to be reached earlier, therefore it is
|
||||
recommended to visually check the media in regular intervals. Media with read errors
|
||||
caused by scratches should be replaced immediately.
|
||||
|
||||
\paragraph{Hardware limits.} Most drives will not recognize media when the
|
||||
lead-in area before the first sector (near the center hole) is damaged.
|
||||
In such cases, dvdisaster will not be able to recover any content from the media.
|
||||
|
||||
It is not feasible to enhance the reliability of poor quality media by using
|
||||
dvdisaster. Cheap media can decay within a few days to an extent which will
|
||||
exceed the capabilities of the error correction code.
|
||||
|
||||
\subsection{Image level data recovery}
|
||||
\label{background-image-level}
|
||||
|
||||
Media recovery with error correcting codes takes place in two steps:
|
||||
|
||||
\begin{enumerate}
|
||||
\item First as much data as possible is read from the defective medium.
|
||||
\item Then the still missing data is recovered using the error correction code.
|
||||
\end{enumerate}
|
||||
|
||||
The amount of readable data (step 1) does not only depend on the reading
|
||||
capabilities of the drive, but also on which logical level the reading process
|
||||
takes place. This page discusses the logical levels and explains why dvdisaster
|
||||
uses image level reading. Please see also \tlnk{qa-image-level}{Q1.5} for
|
||||
a visualization of this concept.
|
||||
|
||||
\paragraph{Logical levels of a medium.} Optical discs are organized into
|
||||
{\em data sectors} containing 2048 bytes each. Consecutively reading and storing
|
||||
these sectors produces a medium {\em image}.
|
||||
|
||||
But working with single data sectors is unwieldy from a users perspective. Therefore
|
||||
media contain {\em file systems} which combine data sectors into {\em files}.
|
||||
This requires accurate book-keeping about which data sectors each file is
|
||||
comprised of, and also further attributes like file names and access permissions.
|
||||
For this book-keeping some data sectors are reserved on the medium and filled
|
||||
with respective data structures.
|
||||
|
||||
As a consequence media contain different {\em logical levels}: Viewing the
|
||||
medium as a sequence of data sectors means working at the {\em image level}.
|
||||
However looking at the medium as a collection of files is the perspective of
|
||||
the {\em file(system) level}.
|
||||
|
||||
\smallskip
|
||||
|
||||
The two levels have different properties when it comes to data recovery:
|
||||
|
||||
\paragraph{Shortcomings of reading a medium at the file level.} Reading a defective
|
||||
medium at the file level means trying to read as much data as possible from each file.
|
||||
|
||||
But a problem arises when data sectors are damaged which have book-keeping
|
||||
functions in the file system. The list of files on the medium may be truncated.
|
||||
Or the mapping of data sectors to files is incomplete. Therefore files or parts
|
||||
from files may be lost even though the respective data sectors would still
|
||||
be readable by the hardware. This is very bad since even small readable portions
|
||||
of damaged files are valuable for the error correcting code.
|
||||
|
||||
An extremely bad case occurs when the error correction data is also stored in
|
||||
files. Then the error correction data is required to repair the file system,
|
||||
but the defective file system prevents access to the error correction data.
|
||||
That means total data loss and rises some issues on
|
||||
the treatment of error correction files (more on that later in this sub section).
|
||||
|
||||
A similar problem arises when files are augmented with PAR2 error correction
|
||||
data and then all these files are stored on the same medium. If the internal
|
||||
bookkeeping of the file system becomes damaged, all files and therefore the
|
||||
error correction data become inaccessible and are therefore lost.
|
||||
|
||||
\smallskip
|
||||
|
||||
However the situation improves greatly when employing an image-based approach:
|
||||
|
||||
\paragraph{Advantages of reading at the image level.} Reading at the image level
|
||||
uses direct communication with the drive firmware to access the data sectors.
|
||||
|
||||
The number of readable sectors depends only on the reading capabilities of the drive,
|
||||
but not on the state of the file system. A read error in one sector does not
|
||||
block access to other data sectors. Since {\em all} sectors are recovered
|
||||
which are still readable by the hardware, this method provides the best foundation
|
||||
for the error correction.
|
||||
|
||||
Another consideration is that the image contains all data sectors of
|
||||
the medium. When the image is completely
|
||||
recovered the file system stored within is also fully repaired. A protection
|
||||
at the image level is therefore more extensive than error correction at the file level.
|
||||
|
||||
dvdisaster is working exclusively at the image level to take advantage of these properties.
|
||||
The \tlnk{background-methods}{RS02 and RS03 methods} even allow
|
||||
for \tlnk{howto-augment}{storing the error correction data at the same medium}.
|
||||
This is possible since reading the error correction information at the image level
|
||||
can not be blocked by errors at other medium locations (damaged sectors with error
|
||||
correction data will reduce the error recovering capacity, but not make recovery impossible).
|
||||
|
||||
\smallskip
|
||||
|
||||
The \tlnk{background-methods}{RS01 method} protects media at the image level, too,
|
||||
but stores the error correction data in files. The next section hints at some pitfalls
|
||||
arising from that.
|
||||
|
||||
\paragraph{Consequences for error correction file storage.} \label{background-image-level-consequences}The error correction data
|
||||
created by dvdisaster protects media at the image level. But how are the error correction
|
||||
files protected?
|
||||
|
||||
\smallskip
|
||||
|
||||
Since error correction files are read at the file level they are subject to the
|
||||
problems discussed above. If the medium containing the error correction files
|
||||
becomes damaged it may not be possible to access or read them completely.
|
||||
|
||||
Therefore it is important to protect error correction files at the image level as
|
||||
well: \tlnk{background-eccfile-storage}{Media containing error correction files} must be
|
||||
protected with dvdisaster, too.
|
||||
|
||||
Since image level protection is assumed there is {\em no further damage protection}
|
||||
contained in the RS01 error correction files! This would not help much, anyways:
|
||||
Error correction files could be created in a way that allows them to provide a
|
||||
reduced data recovering capacity even when being damaged\footnote{Error correction files
|
||||
created with the new RS03 codec have exactly these properties, e.g. they are robust
|
||||
against damage as long as there is enough error correction capacity left. This is
|
||||
possible as there is sufficient computing power and fast hard drive access available
|
||||
now to create a suitable file format. At the time RS01 was developed these resources
|
||||
were not yet available. But it must be stressed that even for RS03 error correction
|
||||
files the disadvantages of reading at the file level hold!}. But
|
||||
however such internal protection would be designed, the error correction file would
|
||||
still be only protected at the file system level with all the disadvantages discussed above!
|
||||
|
||||
In addition, the computing time and redundancy used for internal protection is
|
||||
better spent at the image level: The Reed-Solomon error correction works best
|
||||
when error correction information is spread over huge amounts of data. It is
|
||||
better to protect the image as a whole than individually protecting each file within.
|
||||
|
||||
|
||||
\subsection{The RS01, RS02 and RS03 methods}
|
||||
\label{background-methods}
|
||||
|
||||
dvdisaster contains three error correction methods.
|
||||
RS01 and RS02 have been available right from the start of the project.
|
||||
RS03 has been added recently to take advantage of
|
||||
recent hardware, and to implement improvements
|
||||
learned from evaluating its predecessors.
|
||||
|
||||
\paragraph{Comparison of the methods.} All three methods build on the
|
||||
same \tlnk{background-properties}{Reed-Solomon} error correction. They calculate error
|
||||
correction information for ISO images which is used to recover unreadable sectors if
|
||||
the disc becomes damaged afterwards.
|
||||
|
||||
\smallskip
|
||||
|
||||
The methods differ in the way the error correction information is stored:
|
||||
|
||||
\begin{itemize}
|
||||
\item RS01 creates {\bf error correction files} which are stored separately
|
||||
from the image they belong to. Since data protection at
|
||||
the \tlnk{background-image-level}{file level} is difficult,
|
||||
error correction files must be stored on media which are protected against data loss by dvdisaster, too.
|
||||
|
||||
\item To apply the RS02 method an image is first created on hard disk using a
|
||||
optical disc authoring (or writing) software. Before the image is written on the medium,
|
||||
dvdisaster is used to {\bf augment the image} with error correction data.
|
||||
Therefore the data to be protected and the error correction information are located at
|
||||
the same medium. 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.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
RS03 is a further development of RS01 and RS02.
|
||||
It can create both error correction files and augmented images:
|
||||
|
||||
\begin{itemize}
|
||||
\item RS03 can distribute work over multiple processor cores and is
|
||||
therefore much faster than RS01/RS02 on modern hardware.
|
||||
\item RS03 {\bf error correction files} are - contrary to RS01 - robust
|
||||
against damage. This should not delude you into careless handling of your error
|
||||
correction files though - the disadvantages of \tlnk{background-image-level}{reading at the filesystem level} are
|
||||
still valid.
|
||||
\item RS03 {\bf augmented images} do not require so-called master blocks
|
||||
holding important information. This makes RS03 a bit 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.
|
||||
\end{itemize}
|
||||
|
||||
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.
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Comparison of error correction storage.} The following table summarizes the differences
|
||||
between error correction files (RS01, RS03) and augmented images (RS02, RS03):
|
||||
|
||||
\smallskip
|
||||
|
||||
\begin{tabular}{|p{0.473\textwidth}|p{0.473\textwidth}|}
|
||||
\hline
|
||||
{\em Error correction files} &
|
||||
{\em Image augmented with error correction data} \\
|
||||
\hline
|
||||
any possible redundancy can be chosen &
|
||||
redundancy is limited by free space on the medium (= medium capacity - size of data image) \\
|
||||
\hline
|
||||
already effective at 15\% redundancy since error correction files are required to be free of damage &
|
||||
requires more redundancy (recommended: 20-30\%) to compensate defects in the error correction data \\
|
||||
\hline
|
||||
medium can be completely filled with data &
|
||||
usable medium capacity is reduced by amount of error correction data \\
|
||||
\hline
|
||||
can be created for already existing media &
|
||||
only applicable before writing the new medium since the image must be augmented with error correction information in advance \\
|
||||
\hline
|
||||
separately storing the error correction file from user data strengthens data protection &
|
||||
common storage of user data and error correction data may reduce error correction capacity \\
|
||||
\hline
|
||||
mapping between error correction files and media must be kept; error correction files must be
|
||||
protected against damage &
|
||||
easy one-medium solution; error correction information needs not to be cataloged or explicitly protected \\
|
||||
\hline
|
||||
no compatibility issues with play-back units &
|
||||
media with augmented images may not play correctly on all units \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\paragraph{Further reading.} The specification for the dvdisaster codecs
|
||||
has been specified in a separate document called \href{http://dvdisaster.net/downloads/codecs.pdf}{codecs.pdf}.
|
||||
Good knowledge in coding theory and programming is required.
|
||||
|
||||
\subsection{The linear reading strategy}
|
||||
\label{background-linear}
|
||||
|
||||
dvdisaster contains two different reading strategies.
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf The linear reading strategy is recommended for:}
|
||||
|
||||
\begin{itemize}
|
||||
\item Creating images from undamaged media,
|
||||
e.g. to \tlnk{howto-eccfile}{generate the error correction file}; and
|
||||
\item \tlnk{howto-scan}{Scanning the medium} for reading speed and read errors.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf The} \tlnk{background-adaptive}{adaptive reading strategy} {\bf is recommended for:}
|
||||
|
||||
\begin{itemize}
|
||||
\item \tlnk{howto-recover}{Extracting data from damaged media.}
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Properties of the linear reading strategy.}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
Optical media are
|
||||
organized into sectors which are continously numbered beginning with zero.
|
||||
Each sector contains 2048 bytes of data.
|
||||
|
||||
\begin{figure}
|
||||
\centerline{\includegraphics[width=1.0\textwidth]{screenshots/weak-cd-scan.png}}
|
||||
\caption{Linear reading of a weak but fully readable CD.}
|
||||
\label{background-linear-weak-scan}
|
||||
\end{figure}
|
||||
|
||||
The linear reading strategy reads the medium from the start (sector 0)
|
||||
until the end (last sector). The reading speed is shown graphically to
|
||||
provide information about the medium quality (see
|
||||
figure \ref{background-linear-weak-scan} for an example and the explanations
|
||||
in the following paragraphs).
|
||||
|
||||
\paragraph{Configuration.}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
\paragraph{Number of sectors to skip after a read error.} Reading
|
||||
attempts for defective sectors are slow and may wear out the drive
|
||||
mechanics under unfavourable conditions. A series of read errors,
|
||||
spread over a continous sector range, is more common than single spot defects.
|
||||
Therefore a \tlnk{howto-scan-prefs-read-attempts}{configuration option} exists
|
||||
so that a certain number of sectors
|
||||
will be skipped after the occurance of a read error. The skipped sectors are
|
||||
assumed to be defective without further reading attempts. Some guide lines for
|
||||
selecting the number of skipped sectors are:
|
||||
|
||||
\begin{itemize}
|
||||
\item Skipping a large number of sectors (e.g. {\bf 1024}) gives a quick
|
||||
overview of the degree of damage, but will usually not collect enough
|
||||
data for repairing the medium image.
|
||||
\item Smaller values like {\bf 16, 32 or 64} are a good trade-off: The processing
|
||||
time will be considerably shortened, but still enough data for repairing
|
||||
the image is usually collected.
|
||||
\item On DVD and BD media read errors do usually extend over at least 16 sectors
|
||||
for technical reasons. Therefore a sector skip less than 16 is not recommended
|
||||
for such media.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Limiting the reading range.}
|
||||
|
||||
\medskip
|
||||
|
||||
Reading can
|
||||
be \tlnk{howto-scan-prefs-image}{limited to a given range of sectors} in
|
||||
the ``Image'' preferences tab. This is helpful during
|
||||
multiple read attempts of damaged media.
|
||||
|
||||
\paragraph{Estimating media quality.}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
\paragraph{The speed curve.} Most drives
|
||||
will slow down while reading medium areas which are in bad condition:
|
||||
|
||||
\begin{itemize}
|
||||
\item Drops in the reading speed can be a warning for an imminent medium failure.
|
||||
\item However some drives will read with full speed until the bitter end.
|
||||
With such drives media deterioration may not show up in the reading
|
||||
curve until actual read errors occur.
|
||||
\end{itemize}
|
||||
|
||||
The reading curve is most accurate when using
|
||||
the ``\tlnk{howto-scan}{Scan}'' function.
|
||||
During the ``\tlnk{howto-eccfile-create}{Read}'' operation the
|
||||
read data will be written to the hard
|
||||
drive at the same time, which may cause irregularities in the reading curve
|
||||
depending on the operating system and hardware used.
|
||||
|
||||
\paragraph{Read errors.} Read errors cause \tlnk{howto-interpret-defective-cd}{red markings} in
|
||||
the spiral or respective messages at the command line. This means
|
||||
that the medium could not be read at these places during the current reading pass:
|
||||
|
||||
\begin{itemize}
|
||||
\item The medium is most likely defective.
|
||||
\item The image should be \tlnk{howto-recover}{repaired} as
|
||||
soon as possible and then be transferred to a new medium.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{The adaptive reading strategy}
|
||||
\label{background-adaptive}
|
||||
|
||||
Please note: Adaptive reading is unavailable in the current
|
||||
version of dvdisaster as it requires rework for RS03. It
|
||||
will be re-introuced soon. It is documented here for completeness:
|
||||
%dvdisaster contains two different reading strategies.
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf The adaptive reading strategy is recommended for:}
|
||||
|
||||
\begin{itemize}
|
||||
\item \tlnk{howto-recover-read}{Extracting data} from damaged media,
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf The} \tlnk{background-linear}{linear reading strategy} {\bf is recommended for:}
|
||||
|
||||
\begin{itemize}
|
||||
\item \tlnk{howto-eccfile-create}{Creating images} from undamaged media,
|
||||
e.g. to generate the error correction file.
|
||||
\item \tlnk{howto-scan}{Scanning the medium} for reading speed and read errors.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Properties of the adaptive reading strategy.}\quad
|
||||
\medskip
|
||||
|
||||
The adaptive reading strategy uses a ``divide and conquer'' approach for locating still readable portions of a damaged medium. The strategy is based upon an article published by Harald Bögeholz in c't-Magazin 16/2005 where it was published together with the program {\em h2cdimage}:
|
||||
|
||||
\begin{enumerate}
|
||||
\item At the beginning the medium is considered as a single unread interval.
|
||||
Reading begins with sector zero.
|
||||
\item The reading process continues sequentially unless either the end of the
|
||||
current interval or a read error is encountered.
|
||||
\item The reading process is terminated if either (3a) sufficient sectors for
|
||||
a successful error correction have been read or (3b) no unreadable intervals
|
||||
exceeding a given size remain.
|
||||
\item Otherwise the largest remaining unread interval will be determined. Reading
|
||||
continues in the middle (e.g. second half) of this interval; the first half of
|
||||
this interval is kept for a later reading pass.
|
||||
\end{enumerate}
|
||||
|
||||
\begin{figure}
|
||||
\centerline{\includegraphics[width=1.0\textwidth]{screenshots/adaptive-progress.png}}
|
||||
\caption{Progress of th adaptive reading.}
|
||||
\label{background-adaptive-progress}
|
||||
\end{figure}
|
||||
|
||||
The termination criterium (3a) is especially efficient: Reading
|
||||
will stop as soon as enough sectors have been collected for a
|
||||
successful image recovery using the error correction file. This
|
||||
can reduce the reading time by as much as 90 percent compared
|
||||
with a full read attempt, but does of course only work when
|
||||
error correction data is available.
|
||||
|
||||
\paragraph{Configuration}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
\paragraph{Error correction file.} Adaptive reading works best when error
|
||||
correction data is available. Obviously the \tlnk{howto-ecc}{error correction data} must have
|
||||
been created at a time where the medium was
|
||||
still fully readable. To use a \tlnk{howto-eccfile-create}{error correction file} during
|
||||
adaptive reading,
|
||||
\tlnk{howto-recover-enter-eccfile}{enter its name} before starting the reading process.
|
||||
|
||||
\paragraph{Limiting the adaptive reading range.} Reading can
|
||||
be \tlnk{howto-eccfile-prefs-image}{limited} using the ``Image'' preferences
|
||||
to a part of the medium. This is not recommended
|
||||
when error correction data is used since the limit might prevent sectors
|
||||
from being read which are required for a succesful error correction. If
|
||||
no error correction data is available, limiting the reading range might
|
||||
be helpful during multiple reading attempts.
|
||||
|
||||
\paragraph{Early reading termination.} If no error correction
|
||||
data is available, adaptive reading will stop when no unread intervals
|
||||
\tlnk{howto-recover-prefs-read-attempts}{larger than a selectable size} remain.
|
||||
|
||||
The termination value should not be smaller than 128. Otherwise the laser
|
||||
head will have to carry out lots of repositioning moves during the final
|
||||
phase of the reading process. This will negatively affect both the life
|
||||
expectancy of the drive and its reading capability. A better approach is
|
||||
to stop adaptive reading earlier and then try reading the remaining sectors
|
||||
with an additional \tlnk{background-linear}{linear reading} pass.
|
||||
|
||||
\subsection{Remarks on read errors}
|
||||
\label{background-read-errors}
|
||||
|
||||
Optical media have their own error correction code which protects the data against
|
||||
small manufacturing errors and inaccuracies during writing. If the writer and medium
|
||||
are compatible and of high quality, the error correction built into the medium will
|
||||
at first be mainly idle. This leaves enough reserves to compensate normal wear and
|
||||
aging effects during many years of the medium usage.
|
||||
|
||||
\smallskip
|
||||
|
||||
When the capacity of the built-in error correction is finally exhausted, read errors
|
||||
will start to appear on the medium. These will be reported by
|
||||
the ``\tlnk{howto-scan}{Scan}''-operation
|
||||
of dvdisaster. Depending on the time of first occurrence, two types of read errors
|
||||
are of particular interest:
|
||||
|
||||
\paragraph{Read errors appearing right after writing the medium.} This is a sign of:
|
||||
|
||||
\begin{itemize}
|
||||
\item media from a faulty production run, or
|
||||
\item media which are not compatible with the writer.
|
||||
\end{itemize}
|
||||
|
||||
A prudential choice is to dispose of the faulty media and to write the data
|
||||
on error-free media, possibly switching to a different producer.
|
||||
|
||||
\smallskip
|
||||
|
||||
Please withstand the temptation of trying to preserve the faulty media
|
||||
by means of an error correction file - this will most likely end with data loss.
|
||||
|
||||
\paragraph{Read errors after a few months/years.} The built-in error correction
|
||||
of the medium will be increasingly loaded during its life time until it finally
|
||||
fails and read errors show up. This happens for mechanical reasons (scratches,
|
||||
warping of the plastic material) as well as for chemical causes (decaying dye
|
||||
and/or reflective layer).
|
||||
|
||||
\smallskip
|
||||
|
||||
These effects typically occur while the medium is stored away for a few months,
|
||||
and it may not be possible to read in all sectors afterwards.
|
||||
|
||||
\smallskip
|
||||
|
||||
Therefore it is crucial to \tlnk{howto-ecc}{create the error correction data} in
|
||||
time. The ecc data contains information for recalculating the contents of missing
|
||||
sectors (\tlnk{background-properties}{within certain limits}).
|
||||
Therefore with the help of the ecc data dvdisaster can recover images even
|
||||
if not all sectors could actually be read by the drive.
|
||||
|
||||
\smallskip
|
||||
|
||||
Since the error correction can reconstruct missing sectors up to a certain number,
|
||||
it is not necessary to squeeze out a defective medium for every readable sector.
|
||||
The \tlnk{background-adaptive}{adaptive reading strategy} checks during reading
|
||||
whether enough data for error correction has been collected. As soon as this is
|
||||
the case, reading stops and still unread sectors will be recovered using the ecc data.
|
||||
|
||||
\paragraph{Some hints for effectively reading damaged media}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
The outcome from reading damaged media depends on several factors:
|
||||
|
||||
\begin{itemize}
|
||||
\item {\bf Not all drives are built the same.}
|
||||
|
||||
Different drives have different reading capabilities. Take advantage of dvdisaster's
|
||||
function for completing an image with several reading passes and use different drives
|
||||
for each pass. Transfer the image file between computers using a network or removable
|
||||
media in order to use drives installed in different machines.
|
||||
|
||||
\item {\bf Eject and insert the medium again.}
|
||||
|
||||
Sometimes it makes a difference to eject the medium, turn it about a quarter,
|
||||
and then load it again for another reading pass.
|
||||
|
||||
\item {\bf Some drives read better while being cold.}
|
||||
|
||||
Turn off the computer over night and perform another reading attempt in the next morning.
|
||||
|
||||
But note: ``Cold'' refers to normal living room conditions - putting hardware or
|
||||
media into the fridge can be very unhealthy for them.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{Hints for storing the error correction files}
|
||||
\label{background-eccfile-storage}
|
||||
|
||||
Currently there are few (if any) exchangeable media technologies which can be a
|
||||
cost-effective alternative to the various optical disc formats. So you will
|
||||
probably not only use optical discs for data archival, but store the respective
|
||||
error correction files on CD, DVD or BD as well.
|
||||
|
||||
\smallskip
|
||||
|
||||
There is nothing wrong with that, but bear in mind that your archived data and
|
||||
the error correction files are stored on media with the same degree of reliability.
|
||||
When read errors occur on the archived data, be prepared that the disc with the
|
||||
respective error correction file might have aged beyond full readability, too.
|
||||
|
||||
\smallskip
|
||||
|
||||
Therefore it is important to protect your error correction files with the same
|
||||
care as your other data\footnote{You might also choose
|
||||
an \tlnk{howto-augment}{augmented image} using RS02 or RS03 instead
|
||||
of creating an error correction file.}.
|
||||
This is best achieved by integrating the error correction files into
|
||||
your normal data backup scheme. Here are two ideas:
|
||||
|
||||
\paragraph{1. Storing the error correction files on dedicated media:}\quad
|
||||
\medskip
|
||||
|
||||
If you decide to store error correction files on separate media, it
|
||||
is \tlnk{background-image-level-consequences}{important} to protect those media
|
||||
with dvdisaster as well. To avoid a never-ending chain (error correction
|
||||
files for media of error correction files for ...), try the following:
|
||||
|
||||
\smallskip
|
||||
|
||||
Lets assume that five error correction files can be stored at each medium.
|
||||
Write the first five error correction files to the first medium and create
|
||||
another error correction file for that medium. Now save that error correction
|
||||
file together with four other error correction files on the second medium.
|
||||
If you continue that way, all error correction files except for those from the
|
||||
last medium (which may still be kept on hard disk) are protected by dvdisaster.
|
||||
|
||||
\paragraph{2. Putting the error correction file on the next medium of a series:}\quad
|
||||
\medskip
|
||||
|
||||
If you do not fill your media to the max (e.g. with less than 4GiB for
|
||||
a single layered DVD), you can store the error correction file of one
|
||||
medium on the succeeding medium within a series.
|
||||
|
||||
|
||||
196
documentation/user-manual/burning-compatibility.tex
Normal file
@@ -0,0 +1,196 @@
|
||||
\section{Burning software compatibility}
|
||||
\label{burning-compatibility}
|
||||
|
||||
dvdisaster must be used in conjunction with a CD/DVD/BD writing suite (``burning program'')
|
||||
in order to generate ISO images and to write augmented ISO image files. Unfortunately,
|
||||
not all burning programs provide the required features to work with dvdisaster.
|
||||
Some burning programs may even produce media and/or ISO images which can not be
|
||||
used with dvdisaster.
|
||||
|
||||
\smallskip
|
||||
|
||||
For your convenience, the dvdisaster project has tested some free burning programs
|
||||
available for GNU/Linux. Please note that this list will always be incomplete and
|
||||
only be a snapshot of a certain program version. It is likely to be outdated when
|
||||
you are reading this page. It is therefore recommended that you test your specific
|
||||
burning program version by following the \tlnk{howto-compat-overview}{instructions} given
|
||||
in the howto section.
|
||||
|
||||
\paragraph{Recommended software}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
The dvdisaster project recommends either using the command line tools
|
||||
listed below or using the K3B burning application (which is actually
|
||||
a graphical wrapper around the command line tools).
|
||||
|
||||
\paragraph{Burning program compatibility table}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
\newcommand{\tgrey}[1]{\cellcolor{dkgrey}#1}
|
||||
\newcommand{\tturquoise}[1]{\cellcolor{turquoise}#1}
|
||||
\newcommand{\tpink}[1]{\cellcolor{pink}#1}
|
||||
\newcommand{\tblue}[1]{\cellcolor{dkblue}#1}
|
||||
|
||||
\newcommand{\tred}[1]{&\begin{minipage}{10mm}{\cellcolor{ltred}#1}\end{minipage}}
|
||||
\newcommand{\tyellow}[1]{&\begin{minipage}{10mm}\cellcolor{ltyellow}{#1}\end{minipage}}
|
||||
\newcommand{\ok}{&\cellcolor{ltgreen}OK}
|
||||
\newcommand{\na}{&\cellcolor{ltgrey}n.a.}
|
||||
\newcommand{\nt}{&\begin{minipage}{10mm}{not tested}\end{minipage}}
|
||||
|
||||
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
|
||||
\hline
|
||||
\tgrey{} & \tgrey{} & \tgrey{} & \tturquoise{Create} &
|
||||
\multicolumn{3}{c|}{\tpink{Burning images}} & \multicolumn{3}{c|}{\tblue{Burning images}} \\
|
||||
|
||||
\tgrey{Program} & \tgrey{Version} & \tgrey{Testing} & \tturquoise{ISO/} &
|
||||
\multicolumn{3}{c|}{\tpink{for error}} &
|
||||
\multicolumn{3}{c|}{\tblue{with embedded}} \\
|
||||
|
||||
\tgrey{} & \tgrey{} & \tgrey{Date} & \tturquoise{UDF} &
|
||||
\multicolumn{3}{c|}{\tpink{correction files}} &
|
||||
\multicolumn{3}{c|}{\tblue{error correction}} \\
|
||||
|
||||
\cline{5-10}
|
||||
\tgrey{} & \tgrey{} & \tgrey{} &\tturquoise{Image} &\tpink{CD} &\tpink{DVD} &\tpink{BD} &\tblue{CD} &\tblue{DVD} &\tblue{BD} \\
|
||||
|
||||
\hline
|
||||
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Command line tools} \\
|
||||
|
||||
\hline
|
||||
genisoimage & 1.1.11 & Jul'14 \ok \na \na \na \na \na \na \\
|
||||
|
||||
\hline
|
||||
wodim & 1.1.11 & Jul'14 \na \ok \ok \na \ok \ok \na \\
|
||||
|
||||
\hline
|
||||
growisofs & 7.1 & Jul'14 \na \na \ok \ok \na \ok \ok \\
|
||||
|
||||
\hline
|
||||
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Tools with a graphical user interface} \\
|
||||
|
||||
\hline
|
||||
brasero & 3.4.1 & Jul'14 \tred{no UDF$^{1)}$} \tyellow{avoid$^{2)}$} \ok \na \tyellow{avoid$^{2)}$} \ok \na \\
|
||||
|
||||
\hline
|
||||
K3B & 2.0.2 & Jul'14 \ok \ok \ok \na \ok \ok \na \\
|
||||
|
||||
\hline
|
||||
xfburn & 0.4.3 & Jul'14 \ok \tyellow{re-read only$^{3)}$} \tyellow{re-read only$^{3)}$} \na \tred{do not use$^{3)}$} \tred{do not use$^{3)}$} \na \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\bigskip
|
||||
|
||||
\paragraph{Testing conditions and objectives}\quad
|
||||
\medskip
|
||||
|
||||
Testing was done using Debian 7.5 (wheezy) on an amd64 machine.
|
||||
Versions of the tested writing software are indicated in the table above.
|
||||
|
||||
\medskip
|
||||
|
||||
Evaluation of the burning software is done for the two major cases where
|
||||
interoperability with dvdisaster is required:
|
||||
|
||||
\bigskip
|
||||
|
||||
a) Creating error correction files
|
||||
|
||||
\medskip
|
||||
|
||||
The burning program is used to assemble an ISO image from a selected set of files,
|
||||
and to write a CD, DVD or BD disc from it. An \tlnk{howto-eccfile}{error correction file} will
|
||||
be created to protect this medium.
|
||||
|
||||
\smallskip
|
||||
|
||||
There are two ways of obtaining the ISO image for creating the error correction file:
|
||||
|
||||
\begin{enumerate}
|
||||
\item The burning program is used to create an ISO image which is stored on hard disk.
|
||||
This image is used for burning the medium and for creating the error correction file.
|
||||
If the writing software creates a medium which does not exactly match the image,
|
||||
the resulting error correction file may be useless.
|
||||
A respective \tlnk{howto-compat-file}{testing method} is described
|
||||
in the ``Howtos'' section. An ``OK'' in the table above indicates that
|
||||
this test has been passed. But you are strongly advised to
|
||||
\tlnk{howto-compat-file}{do your own test} at least
|
||||
once to make sure that you are working on the same versions and premises.
|
||||
|
||||
\smallskip
|
||||
|
||||
If it is not possible to use a pre-made ISO image for both writing the medium
|
||||
and for creating the error correction file, the writing software is
|
||||
rated ``Re-read only'' in the table. In that case, use the alternative
|
||||
approach described below (topic 2).
|
||||
|
||||
\item The burning program is used to write a medium, either by using a
|
||||
pre-made ISO image or by creating the image on-the-fly while writing
|
||||
the medium. Afterwards, the pre-made ISO image is discarded. dvdisaster
|
||||
is used to read back a new ISO image from the newly written medium. From
|
||||
this newly created ISO image the error correction file is created. This
|
||||
process should always work; if not, the respective burning software is
|
||||
marked as being unusable in the table.
|
||||
\end{enumerate}
|
||||
|
||||
\bigskip
|
||||
|
||||
b) Augmenting a medium with error correction data
|
||||
|
||||
\medskip
|
||||
|
||||
\tlnk{howto-augment-write-iso}{Creating a medium}
|
||||
\tlnk{howto-augment}{with embedded error correction data} is comprised of
|
||||
several sub tasks: First, the burning application converts a selection of files
|
||||
into an ISO image stored on hard disk. dvdisaster augments the image residing
|
||||
on the hard disk with error correction data. Then, the burning application
|
||||
writes the augmented image to the CD, DVD or BD. The ISO image content or format
|
||||
must not be altered during the writing process. Especially, the added error correction
|
||||
sectors must not be removed and no padding sectors must be added to the image during
|
||||
the writing process. The ``Howto'' section describes
|
||||
\tlnk{howto-compat-augment}{a test for compatibility between
|
||||
a writing software and dvdisaster}. An ``OK'' in the table above indicates that this
|
||||
test has been passed; otherwise you can not use the respective software for writing
|
||||
augmented images. You are strongly advised to \tlnk{howto-compat-augment}{do your own test} at
|
||||
least once to make sure that you are working on the same versions
|
||||
and premises even with software marked as compatible in the table above.
|
||||
|
||||
\bigskip
|
||||
|
||||
c) Creating ISO images
|
||||
|
||||
\medskip
|
||||
|
||||
In addition, the table indicates whether the burning application can convert
|
||||
a selection of files into an ISO image and store that ISO image on hard disk
|
||||
for further processing with dvdisaster.
|
||||
|
||||
\paragraph{Notes (why a certain software failed a test)}\quad
|
||||
\medskip
|
||||
|
||||
$^{1)}${\bf brasero} can only create ISO images, not ISO/UDF. This is not
|
||||
recommended for DVD-Video authoring and has the disadvantage that files
|
||||
with sizes greater than 2GiB can not be used in a portable way (the tested
|
||||
version can not use files larger than 2GiB at all even if it says otherwise).
|
||||
|
||||
\bigskip
|
||||
|
||||
$^{2)}${\bf brasero} does not support the ``disc at once'' writing strategy. This
|
||||
creates two spurious unreadable sectors at the end of CD media. dvdisaster
|
||||
can handle such media, but will issue a warning and requires a preferences
|
||||
setting each time such media is processed.
|
||||
|
||||
\bigskip
|
||||
|
||||
$^{3)}${\bf xfburn} can not be used to write RS02/RS03 augmented images due to a
|
||||
wrong implementation of padding sector handling. In a correct implementation,
|
||||
a burning program would add 150 zero padding sectors to an image it has created
|
||||
itself. However padding sectors must never be added to an image which was created
|
||||
or manipulated by a foreign application, such as an image being augmented by dvdisaster.
|
||||
This results in the image being read back with wrong checksums, and dvdisaster will
|
||||
rightfully complain that the ``Image file is 150 sectors longer than expected.''.
|
||||
Error correction files can - for the same reason - not be used when created from
|
||||
the original image, but it is possible to re-read the image from the written
|
||||
medium and create error correction files from that image.
|
||||
67
documentation/user-manual/defect-reporting.tex
Normal file
@@ -0,0 +1,67 @@
|
||||
\section{Reporting defects (aka bugs)}
|
||||
\label{reporting-defects}
|
||||
|
||||
Like all complex software, dvdisaster may contain defects (programming errors) and
|
||||
incompatibilities with certain (drive) hardware and software setups. You are invited
|
||||
to tell us about any difficulties you encounter with the program or the documentation
|
||||
so that we can improve things in future releases.
|
||||
|
||||
To make sure that we are getting the right information, we have provided the
|
||||
following checklist for defect reporting.
|
||||
|
||||
\paragraph{Please check first that you are really experiencing a defect:}\quad
|
||||
\medskip
|
||||
|
||||
\begin{itemize}
|
||||
\item Make sure that you are using the latest genuine version from
|
||||
our \tlnk{download}{download site}. dvdisaster versions provided
|
||||
by third parties may contain functions and defects which are not present
|
||||
in the original version (and we can't fix problems introduced by third parties).
|
||||
|
||||
Please do also note that the dvdisaster project does no longer
|
||||
make and publish versions for the Windows and Mac OS operating
|
||||
systems. Reported defects for those platforms will not be processed.
|
||||
|
||||
\item Double check that the issue you have encountered is not already
|
||||
covered in the \tlnk{qa}{Questions and Answers} section.
|
||||
\item Please note that dvdisaster will only work with the (re-)writeable varieties
|
||||
of media, so seeing it {\bf reject DVD-ROM and BD-ROM} is not an error.
|
||||
Also, CD-Audio, VCD, SVCD and multisession CD are not supported as well as
|
||||
all HD-DVD formats (\tlnk{qa-technical-media}{complete list of supported media formats}).
|
||||
\item dvdisaster works only with real optical drives. Not supported are
|
||||
network drives, software drives (e.g. alcohol) and drives in virtual machines.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{How to report issues with the program:}\quad
|
||||
\medskip
|
||||
|
||||
Please report your findings by sending an email to {\em carsten@dvdisaster.org}.
|
||||
Your report should contain:
|
||||
|
||||
\begin{itemize}
|
||||
\item Information about the operating system and dvdisaster version you are using;
|
||||
\item the drive and media type(s) which exhibited the problem;
|
||||
\item a textual description of the issue you encountered;
|
||||
\item a screen shot of the error message and/or output which might provide further information about the problem;
|
||||
\item differences between working and non-working configurations if the issue is experienced only on certain drives/computers;
|
||||
\item a log file if you suspect that the issue is related to a drive or medium incompatibility.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{How to create a log file:}\quad
|
||||
\label{reporting-defects-log}
|
||||
\medskip
|
||||
|
||||
\begin{figure}[h]
|
||||
\centerline{\includegraphics[width=\textwidth]{screenshots/activate-logfile.png}}
|
||||
\caption{Creating a log file.}
|
||||
\label{defect-prefs-log}
|
||||
\end{figure}
|
||||
|
||||
If you suspect incompatibilities with your drive and/or media as the cause of your
|
||||
issue, please activate the log file feature in the preferences dialog as shown in
|
||||
the screen shot. Then perform a scanning or reading action and attach the log file
|
||||
to your bug report.
|
||||
|
||||
\bigskip
|
||||
|
||||
Thanks for your feedback!
|
||||
138
documentation/user-manual/download.tex
Normal file
@@ -0,0 +1,138 @@
|
||||
\section{Downloading dvdisaster}
|
||||
\label{download}
|
||||
|
||||
\begin{tabular}{ll}
|
||||
\hspace*{-2mm}\begin{minipage}{122mm}
|
||||
dvdisaster is available for \tlnk{download-requirements}{recent versions} of the FreeBSD,
|
||||
GNU/Linux and NetBSD operating systems. It is provided
|
||||
as \href{http://fsfe.org/about/basics/freesoftware.en.html}{free Software} under
|
||||
the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3}.
|
||||
\end{minipage} &
|
||||
\begin{minipage}{34mm}
|
||||
\includegraphics[width=34mm]{icons/gplv3-127x51.png}
|
||||
\end{minipage}
|
||||
\end{tabular}
|
||||
|
||||
\bigskip
|
||||
|
||||
The dvdisaster developer site (\url{http://dvdisaster.net}) contains
|
||||
the latest source code releases for the FreeBSD, GNU/Linux and NetBSD
|
||||
operating systems. These are mostly aimed at maintainers of binary packages for
|
||||
the beforementioned platforms. As an end user you might find it more convenient
|
||||
to install dvdisaster from the package system of your operating system bundle or
|
||||
distribution. But if you prefer to download and compile the source package on your
|
||||
own, you're welcome to visit the site.
|
||||
|
||||
\bigskip
|
||||
|
||||
The source code archives contain a file {\tt INSTALL} with further instructions
|
||||
for building dvdisaster. The build process follows the
|
||||
common {\tt ./configure; make; make install} scheme. The installation step
|
||||
is optional; you can use dvdisaster directly from the build tree.
|
||||
|
||||
\subsection{System requirements}
|
||||
\label{download-requirements}
|
||||
|
||||
\paragraph{Hardware requirements}\quad
|
||||
|
||||
\begin{itemize}
|
||||
\item x86, PowerPC or Sparc processor;
|
||||
\item an up-to-date CD/DVD/BD drive with ATAPI, SATA or SCSI interface;
|
||||
\item enough hard disk space for creating .iso images from processed media.
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
{\bf Supported operating systems}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
The following table gives an overview of the supported operating systems.
|
||||
The specified releases have been used for developing and testing the
|
||||
dvdisaster version made available as of this writing.
|
||||
Typically, slightly older and newer OS versions will also work.
|
||||
\label{download-requirements-freebsd}
|
||||
|
||||
\bigskip
|
||||
|
||||
\begin{tabular}{|l|l|}
|
||||
\hline
|
||||
Operating System & Release \\
|
||||
\hline
|
||||
GNU/Linux & Debian Jessie 8.0, Kernel 3.16 \\
|
||||
\hline
|
||||
FreeBSD & 10.1 \\
|
||||
\hline
|
||||
NetBSD & 6.1.5 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\bigskip
|
||||
|
||||
\paragraph{Not supported operating systems}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
Support for Windows and Mac OS has been ended
|
||||
and is not planned to be resumed in the
|
||||
future (see \tlnk{qa-discontinued-os}{QA item 2.4 for an explanation)}.
|
||||
|
||||
\newpage
|
||||
\subsection{Make sure you're not getting ripped off: The small print (and other things).}
|
||||
\label{download-terms}
|
||||
|
||||
The dvdisaster project provides this software
|
||||
as \href{http://fsfe.org/about/basics/freesoftware.en.html}{free software} to you using
|
||||
the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3}.
|
||||
The dvdisaster project also wants to make sure that you know you can download
|
||||
the software at no cost and keeping your full privacy.
|
||||
To make it clear how we distribute dvdisaster, what we do and what we
|
||||
won't do, we have compiled the following list:
|
||||
|
||||
\paragraph{Internet and download sites}\quad
|
||||
|
||||
\smallskip
|
||||
|
||||
The dvdisaster project uses the following internet domains for publishing
|
||||
its web sites and supplying software downloads:
|
||||
|
||||
\begin{center}
|
||||
\begin{tabular}{l}
|
||||
dvdisaster.com\\
|
||||
dvdisaster.de\\
|
||||
dvdisaster.net\\
|
||||
dvdisaster.org
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
|
||||
All domains are forwarded to the same site at dvdisaster.net.
|
||||
No other internet or download sites are run by the dvdisaster project.
|
||||
|
||||
\paragraph{No money or personal data required.}\quad
|
||||
|
||||
\smallskip
|
||||
|
||||
There is {\bf no registration process} for using this software.
|
||||
The dvdisaster project {\bf never} asks you to enter personal data,
|
||||
to pay a fee or to donate money for:
|
||||
|
||||
\smallskip
|
||||
|
||||
\begin{tabular}{ll}
|
||||
$\bullet$ & using its internet and download sites,\\
|
||||
$\bullet$ & downloading the software, and\\
|
||||
$\bullet$ & running the software. \\
|
||||
\end{tabular}
|
||||
|
||||
\smallskip
|
||||
|
||||
In fact, please do not offer any donations to the project.
|
||||
We cannot accept them for various reasons.
|
||||
|
||||
\paragraph{Cryptographic signature and checksums}\quad
|
||||
\smallskip
|
||||
|
||||
dvdisaster releases are always published with cryptographic signatures
|
||||
and md5 checksums. See the \href{http://dvdisaster.net}{download site} for examples.
|
||||
Be very cautious if signatures and checksums are missing, invalid or not
|
||||
matching those published at the sites mentioned above.
|
||||
BIN
documentation/user-manual/figures/metadata1.dia
Normal file
BIN
documentation/user-manual/figures/metadata1.pdf
Normal file
BIN
documentation/user-manual/figures/metadata2.dia
Normal file
BIN
documentation/user-manual/figures/metadata2.pdf
Normal file
BIN
documentation/user-manual/figures/metadata3.dia
Normal file
BIN
documentation/user-manual/figures/metadata3.pdf
Normal file
BIN
documentation/user-manual/figures/pin-ink.dia
Normal file
BIN
documentation/user-manual/figures/pin-ink.pdf
Normal file
BIN
documentation/user-manual/figures/pin-sum.dia
Normal file
BIN
documentation/user-manual/figures/pin-sum.pdf
Normal file
BIN
documentation/user-manual/figures/pin.dia
Normal file
BIN
documentation/user-manual/figures/pin.pdf
Normal file
50
documentation/user-manual/figures/puzzle.fig
Normal file
@@ -0,0 +1,50 @@
|
||||
#FIG 3.2 Produced by xfig version 3.2.5c
|
||||
Landscape
|
||||
Center
|
||||
Metric
|
||||
A4
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
9450 900 9450 4320
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
7875 7650 10800 7650
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
4950 900 4950 4275
|
||||
2 1 0 3 1 10 50 -1 20 0.000 0 0 -1 0 0 45
|
||||
4995 2745 6570 2745 6615 2520 7785 2520 7830 2745 9405 2745
|
||||
9405 4275 9180 4185 8955 4140 8640 4140 8415 4230 8190 4410
|
||||
8055 4680 8010 4905 8010 5220 8100 5490 8235 5670 8505 5850
|
||||
8910 5895 9180 5850 9405 5715 9405 7605 7920 7605 8010 7380
|
||||
8100 7110 8100 6840 8010 6660 7875 6480 7695 6345 7425 6255
|
||||
7245 6210 6975 6255 6705 6345 6525 6480 6390 6615 6300 6840
|
||||
6345 7110 6390 7290 6480 7605 4995 7605 4995 5580 4905 5445
|
||||
4905 4455 4995 4230 4995 2745
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
7875 2700 10845 2700
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
3150 2700 6525 2700
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
4950 5625 4950 9045
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
9450 5670 9450 9045
|
||||
2 1 0 20 0 7 47 -1 -1 0.000 0 1 -1 0 0 2
|
||||
3150 7650 6525 7650
|
||||
3 0 0 20 0 10 49 -1 20 0.000 0 0 0 7
|
||||
6525 2700 6300 2250 6300 1575 7200 1080 8100 1575 8100 2250
|
||||
7875 2700
|
||||
0.000 1.000 1.000 1.000 1.000 1.000 0.000
|
||||
3 0 0 20 0 7 48 -1 -1 0.000 0 0 0 7
|
||||
9450 4320 9000 4095 8325 4095 7830 4995 8325 5895 9000 5895
|
||||
9450 5670
|
||||
0.000 1.000 1.000 1.000 1.000 1.000 0.000
|
||||
3 0 0 20 0 10 49 -1 20 0.000 0 0 0 7
|
||||
4950 4275 4500 4050 3825 4050 3330 4950 3825 5850 4500 5850
|
||||
4950 5625
|
||||
0.000 1.000 1.000 1.000 1.000 1.000 0.000
|
||||
3 0 0 20 0 7 48 -1 -1 0.000 0 0 0 7
|
||||
6525 7650 6300 7200 6300 6525 7200 6030 8100 6525 8100 7200
|
||||
7875 7650
|
||||
0.000 1.000 1.000 1.000 1.000 1.000 0.000
|
||||
BIN
documentation/user-manual/figures/puzzle.pdf
Normal file
4264
documentation/user-manual/howtos.tex
Normal file
BIN
documentation/user-manual/icons/augmented-cd.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
documentation/user-manual/icons/backup1.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
documentation/user-manual/icons/backup2.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
documentation/user-manual/icons/bad-cd.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
documentation/user-manual/icons/bad-cd1.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
documentation/user-manual/icons/bad-image.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
documentation/user-manual/icons/create-icon.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
documentation/user-manual/icons/down-arrow.png
Normal file
|
After Width: | Height: | Size: 420 B |
BIN
documentation/user-manual/icons/down-fork-arrow.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
documentation/user-manual/icons/ecc-example.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
documentation/user-manual/icons/ecc-file.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
documentation/user-manual/icons/filemanager.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
documentation/user-manual/icons/fix-icon.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
documentation/user-manual/icons/good-cd.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
documentation/user-manual/icons/good-image.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
documentation/user-manual/icons/good-image2.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
documentation/user-manual/icons/gplv3-127x51.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
documentation/user-manual/icons/join-arrow.png
Normal file
|
After Width: | Height: | Size: 751 B |
BIN
documentation/user-manual/icons/ldiag-arrow.png
Normal file
|
After Width: | Height: | Size: 642 B |
BIN
documentation/user-manual/icons/log-icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
documentation/user-manual/icons/old-cd.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
documentation/user-manual/icons/old-image.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
documentation/user-manual/icons/prefs-icon.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
documentation/user-manual/icons/rdiag-arrow.png
Normal file
|
After Width: | Height: | Size: 773 B |
BIN
documentation/user-manual/icons/read-icon.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
documentation/user-manual/icons/right-arrow.png
Normal file
|
After Width: | Height: | Size: 408 B |
BIN
documentation/user-manual/icons/scan-icon.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
documentation/user-manual/icons/select-drive.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
documentation/user-manual/icons/select-ecc.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
documentation/user-manual/icons/select-image.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
documentation/user-manual/icons/slot-in.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
documentation/user-manual/icons/stop-icon.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
documentation/user-manual/icons/verify-icon.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
7
documentation/user-manual/local.tex
Normal file
@@ -0,0 +1,7 @@
|
||||
% A link printed in parenthesis
|
||||
|
||||
\newcommand{\plnk}[2]{\hyperref[#1]{($\hookrightarrow$ #2)}}
|
||||
|
||||
% A text passage used as a link
|
||||
|
||||
\newcommand{\tlnk}[2]{\hyperref[#1]{#2}}
|
||||
BIN
documentation/user-manual/manual.pdf
Normal file
138
documentation/user-manual/manual.tex
Normal file
@@ -0,0 +1,138 @@
|
||||
\documentclass[12pt,a4paper,twoside]{article}
|
||||
\usepackage{times} % Skalierbarer und lesbarer Zeichensatz
|
||||
\usepackage{ucs} % Benötigt für Eingabe von unicode-Zeichensätzen
|
||||
\usepackage[utf8x]{inputenc} % Aktiviert Eingabe von unicode-Zeichensätzen
|
||||
\usepackage{epsfig} % Makros zum Einfügen von Grafiken
|
||||
\usepackage{anysize} % Makros zum Einstellen der Seitenränder
|
||||
%\usepackage{makeidx} % Makros zum Erstellen des Indexes
|
||||
\usepackage{url}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{listings}
|
||||
\usepackage{color}
|
||||
\usepackage[table]{xcolor}
|
||||
\usepackage{hyperref}
|
||||
|
||||
\marginsize{30mm}{20mm}{20mm}{20mm} % Seitenränder links, rechts, oben, unten
|
||||
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen
|
||||
\renewcommand{\textfraction}{0.01}
|
||||
\renewcommand{\floatpagefraction}{0.99}
|
||||
\renewcommand{\topfraction}{0.99}
|
||||
\renewcommand{\bottomfraction}{0.99}
|
||||
|
||||
\pagestyle{fancy} % Seitenstil
|
||||
%\makeindex % wird für Erstellung von Stichwortverzeichnissen benötigt
|
||||
|
||||
\definecolor{linkblue}{rgb}{0,0,0.75}
|
||||
\definecolor{dkgreen}{rgb}{0,0.66,0}
|
||||
\definecolor{dkred}{rgb}{0.75,0,0}
|
||||
|
||||
\definecolor{dkgrey}{RGB}{184,184,184}
|
||||
\definecolor{ltgrey}{RGB}{224,224,224}
|
||||
\definecolor{turquoise}{RGB}{128,255,255}
|
||||
\definecolor{pink}{RGB}{255,180,240}
|
||||
\definecolor{dkblue}{RGB}{196,196,240}
|
||||
|
||||
|
||||
\definecolor{ltgreen}{RGB}{192,255,192}
|
||||
\definecolor{ltyellow}{RGB}{255,255,192}
|
||||
\definecolor{ltorange}{RGB}{255,224,192}
|
||||
\definecolor{ltred}{RGB}{255,192,192}
|
||||
|
||||
\hypersetup{
|
||||
pdftitle={dvdisaster User's Manual},
|
||||
pdfauthor={Carsten Gnörlich},
|
||||
colorlinks=true,
|
||||
linkcolor=linkblue,
|
||||
citecolor=linkblue,
|
||||
filecolor=linkblue,
|
||||
urlcolor=linkblue
|
||||
}
|
||||
|
||||
\input{../config/version.tex}
|
||||
\input{local.tex}
|
||||
|
||||
% Ende der Voreinstellungen
|
||||
|
||||
\newcommand{\paperversion}{{\em for dvdisaster version \projectversion}}
|
||||
|
||||
\fancyhead{}
|
||||
\fancyhead[LE]{\nouppercase{\leftmark}}
|
||||
\fancyhead[RO]{\nouppercase{\rightmark}}
|
||||
%\renewcommand{\sectionmark}[1]{\markboth{#1}{#1}}
|
||||
%\renewcommand{\subsectionmark}[1]{}
|
||||
|
||||
%\renewcommand{\footrulewidth}{0.4pt}
|
||||
\fancyfoot{}
|
||||
\fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\definecolor{lightorange}{RGB}{255,224,150}
|
||||
\pagecolor{lightorange}
|
||||
\title{The dvdisaster User's Manual}
|
||||
\author{Carsten Gnörlich\\carsten@dvdisaster.org}
|
||||
\date{}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
|
||||
\centerline{\includegraphics[width=40mm]{figures/puzzle.pdf}}
|
||||
|
||||
\begin{center}
|
||||
\paperversion
|
||||
\end{center}
|
||||
|
||||
\bigskip
|
||||
|
||||
\begin{abstract}
|
||||
This is the {\em orange manual}, describing the usage of {\em dvdisaster}, a tool for
|
||||
creating error correction data (``ecc data'')
|
||||
for optical media such as CD, DVD and BD discs.
|
||||
Use cases for creating ecc data, recovering defective media
|
||||
using ecc data and for general maintenanance of optical
|
||||
media are given.
|
||||
See \url{http://dvdisaster.org} for additional resources on
|
||||
the dvdisaster project, e.g. for the {\em blue} manual (codecs.pdf)
|
||||
containing a formal specification of the error correction data format.
|
||||
\end{abstract}
|
||||
|
||||
\vfill
|
||||
\begin{center}
|
||||
{\em
|
||||
Copyright 2008-2015 Carsten Gnörlich.
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.}
|
||||
\end{center}
|
||||
|
||||
\newpage
|
||||
\nopagecolor
|
||||
|
||||
% Table of Contents
|
||||
|
||||
\tableofcontents
|
||||
\newpage
|
||||
|
||||
\input{preface}
|
||||
\newpage
|
||||
|
||||
\input{overview}
|
||||
\newpage
|
||||
|
||||
\input{howtos}
|
||||
\newpage
|
||||
|
||||
\input{download}
|
||||
\newpage
|
||||
|
||||
\input{qa}
|
||||
\newpage
|
||||
|
||||
\input{background}
|
||||
\newpage
|
||||
|
||||
\input{burning-compatibility}
|
||||
\newpage
|
||||
|
||||
\input{defect-reporting}
|
||||
|
||||
\label{LastPage}\label{missing}
|
||||
\end{document}
|
||||
256
documentation/user-manual/overview.tex
Normal file
@@ -0,0 +1,256 @@
|
||||
\section{Overview}
|
||||
|
||||
\paragraph{The challenge: Optical media eventually fail.} Optical media (CD,DVD,BD) keep their data only for a finite time (typically for many years).
|
||||
After that time, data loss develops slowly with read errors growing from the outer
|
||||
media region towards the inside.
|
||||
|
||||
\paragraph{The dvdisaster solution: Archival with data loss protection.}
|
||||
dvdisaster complements optical media \plnk{qa-technical-media}{supported media} with
|
||||
error correction data
|
||||
in a way that they are fully recoverable
|
||||
even after some read errors have developed.
|
||||
This enables you to rescue the complete data to a new medium.
|
||||
|
||||
Error correction data, in short ``ecc data'', is either added to the medium
|
||||
or kept in separate error correction files. dvdisaster works at the image level
|
||||
so that the recovery does not depend on the file system of the medium.
|
||||
The maximum error correction capacity is user-selectable.
|
||||
|
||||
\subsection{Common misunderstandings about dvdisaster}
|
||||
|
||||
Before we describe in detail what dvdisaster can do, let's first clarify what it can't:
|
||||
|
||||
\paragraph{dvdisaster can not make defective media readable again.}
|
||||
Like a conventional backup, error correction data must be created from
|
||||
a fully functional optical medium - {\em you can not backup data which has already
|
||||
been lost}. When the optical medium develops defective sectors at a later time,
|
||||
those defective sectors are restored by re-calculating them from the ecc data.
|
||||
This won't make the defective medium working again, but will produce a new iso
|
||||
image which can be written to a new medium.
|
||||
|
||||
As said before, ecc data can not be created from already defective media.
|
||||
Although unreadable sectors can not be recovered in that case, dvdisaster
|
||||
might still be helpful in extracting the remaining readable portions of the medium.
|
||||
|
||||
\paragraph{It's not a ripping tool.} If you want a tool for copying
|
||||
protected media, you're looking at the wrong place. Such functions are
|
||||
outside the scope of dvdisaster's internal design and goals.
|
||||
Contrary to some myths saying otherwise: dvdisaster contains
|
||||
no hidden program fragments or switches for reading protected discs.
|
||||
Check the source code for yourself if you don't trust me.
|
||||
|
||||
|
||||
\subsection{How to use this manual}
|
||||
|
||||
Many users just want to see some examples of solving typical tasks. Flip over
|
||||
to the \tlnk{howtos}{Typical applications section} in that case.
|
||||
|
||||
\smallskip
|
||||
|
||||
The remainder of this section gives an example of recovering a defective medium including
|
||||
screen shots, relates using ecc data to performing quality scans and full backups,
|
||||
and summarizes the pro and con of dvdisaster.
|
||||
|
||||
\smallskip
|
||||
|
||||
The \tlnk{download}{downloads} section provides a link to the download site,
|
||||
summarizes the \tlnk{download-requirements}{system requirements},
|
||||
and clarifies that you can get and use dvdisaster as
|
||||
\tlnk{download-terms}{free software, at no cost and while keeping
|
||||
your full privacy}.
|
||||
|
||||
\smallskip
|
||||
|
||||
There is also a chapter containing \tlnk{qa}{general questions and answers},
|
||||
\tlnk{qa-technical}{technical questions and answers},
|
||||
and explanations of \tlnk{qa-error}{error messages}.
|
||||
|
||||
\smallskip
|
||||
|
||||
The \tlnk{background}{background information} section provides details on
|
||||
the \tlnk{background-properties}{properties of the error correction},
|
||||
the difference between \tlnk{background-image-level}{image level and file level data recovery},
|
||||
the \tlnk{background-methods}{RS01, RS02 and RS03 error correction methods},
|
||||
the \tlnk{background-linear}{linear}
|
||||
and \tlnk{background-adaptive}{adaptive} reading strategies,
|
||||
some \tlnk{background-read-errors}{remarks on how media read errors come into existance},
|
||||
and finally a few \tlnk{background-eccfile-storage}{hints for storing error correction files}.
|
||||
|
||||
\smallskip
|
||||
|
||||
As not all optical disc burning software may be compatible with dvdisaster,
|
||||
you might want to check
|
||||
the \tlnk{burning-compatibility}{compatibility table} and the additional
|
||||
information provided with it.
|
||||
|
||||
\smallskip
|
||||
|
||||
If you encounter a defect (programming error) or
|
||||
incompatibility with a certain (drive) hardware and software setup,
|
||||
please see the \tlnk{reporting-defects}{reporting defects} section.
|
||||
|
||||
%\newpage
|
||||
|
||||
\subsection{Example of the error correction}
|
||||
|
||||
\begin{figure}[h]
|
||||
\centerline{\includegraphics[width=\textwidth]{screenshots/recover-linear.png}}
|
||||
\caption{Reading a defective medium.}
|
||||
\label{recover-linear}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{Recovery of aged media.}
|
||||
The medium processed here has become discolored and partly unreadable in its outer region.
|
||||
A reading attempt yields about 23.000 unreadable sectors of 342.000 sectors total;
|
||||
resulting in about 7,2\% defective sectors. Figure \ref{recover-linear} shows the
|
||||
dvdisaster window after the reading attempt. The distribution of reading speed and
|
||||
read errors over the medium is graphically shown.
|
||||
The still readable sectors are stored in an ISO image called {\em medium.iso}.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centerline{\includegraphics[width=\textwidth]{screenshots/fix-image.png}}
|
||||
\caption{Repairing the defective image.}
|
||||
\label{fix-image}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{Repairing the defective image.}
|
||||
The image which has been just read is incomplete since about 23.000 sectors could
|
||||
not be read. These sectors are now reconstructed using the error correction data
|
||||
created with dvdisaster. During the recovery a maximum of 20 errors per error
|
||||
correction block is encountered (see figure \ref{fix-image}).
|
||||
This results in a peak error correction load of
|
||||
63\%, meaning that this degree of damage is handled well by error correction data
|
||||
created with default settings. The recovered image can now be written to a new medium.
|
||||
|
||||
\paragraph{Recovery needs error correction data:}
|
||||
The recovery process described above uses error correction (``ecc'') data.
|
||||
Think of this data as a special form of backup data (it needs less space
|
||||
than a normal backup, though). Like an ordinary backup, the ecc data needs
|
||||
to be created before the medium goes defective.
|
||||
|
||||
So if you have a defective medium but never created ecc data for it, you will
|
||||
not be able to recover the defective sectors (23.000 in the above example).
|
||||
The data located at the end of the medium will be lost, while you will probably
|
||||
be able to extract some files which are located at the beginning of the medium.
|
||||
\newpage
|
||||
|
||||
\subsection{dvdisaster as a complement to quality scans}
|
||||
|
||||
\tlnk{qa-quality-scans}{Quality scans}, e.g. C2 error or PI/PO scans are a valuable tool
|
||||
for testing the results of the media writing process.
|
||||
|
||||
\smallskip
|
||||
|
||||
But quality scans are {\bf not} a reliable means of
|
||||
{\bf predicting the lifetime} of optical media.
|
||||
Consider we are looking for the right time to copy a worn-out medium onto a new one:
|
||||
|
||||
\begin{itemize}
|
||||
\item Too early: Copying media because of a bad quality scan is cost-ineffective.
|
||||
Sometimes such media remain readable much longer than expected.
|
||||
\item Too late: When the quality scan reveals unreadable sectors some data has already been lost.
|
||||
\item Right before the medium fails: The ideal case, but how to tell?
|
||||
\end{itemize}
|
||||
|
||||
However, we could do it the dvdisaster way:
|
||||
|
||||
\begin{itemize}
|
||||
\item \tlnk{howto-ecc}{Create error correction data} for the medium.
|
||||
\item \tlnk{howto-scan}{Scan the medium} regularly. Use it until the first read errors occur.
|
||||
\item \tlnk{howto-recover}{Recover} the read errors using the error correction data.
|
||||
Write the recovered image to a new medium.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Error correction data vs. full backup}
|
||||
\label{overview-backup}
|
||||
|
||||
\paragraph{A conventional backup strategy}$\!\!\!\!\!$ would be making one or
|
||||
more copies of the optical medium. This has a few advantages:
|
||||
Copying a medium is fast, and having two (or more) working copies
|
||||
available can be convenient, especially when working at different
|
||||
locations.
|
||||
|
||||
\smallskip
|
||||
|
||||
The disadvantage of this approach is that it guards only against
|
||||
incidental damage, but not against general aging. It is not helpful
|
||||
to have ten copies which all decay in a similar manner. If all
|
||||
ten copies are unreadable in the outermost region after a few years,
|
||||
data loss has occurred even though we were spending 900\% of the
|
||||
original storage capacity for the backup.
|
||||
|
||||
\paragraph{Ecc data behaves differently}$\!\!\!\!\!$ since it is not a verbatim
|
||||
copy of the original data. It is a mathematical scheme working like
|
||||
this: Give me any 80\% of the original data and I will be able to
|
||||
reconstruct the missing 20\%, regardless of {\em where} the 20\%
|
||||
are missing (whether at the beginning or at the end, maybe in between - doesn't
|
||||
matter). Incidentally, there is a strong relationship between
|
||||
being able to reconstruct a missing percentage of the original data
|
||||
and the size of the ecc data: If the ecc data is 20\% of the size of
|
||||
the original data, it can roughly recover up to 20\% of missing data;
|
||||
with ecc data being 30\% of the original size up to 30\% can be recovered
|
||||
and so on. But this relationship isn't even the greatest advantage
|
||||
of the ecc data; the ``regardless of where the defects are'' is the big deal.
|
||||
|
||||
\smallskip
|
||||
|
||||
Let's assume we want to have a 100\% protection of a specific 4 GiByte
|
||||
DVD. Then we create another DVD containing 4 GiBytes of ecc data.
|
||||
At a later date, both DVDs decay and the last 30\% of both become
|
||||
unreadable. Since we have still 70\% of the original data and of the
|
||||
ecc data, everything is fine! We can still reconstruct the original
|
||||
data from them; using the second DVD for ecc data is much more
|
||||
efficient than creating a second copy on it. In fact putting another
|
||||
copy on the second DVD would not have saved us from a 30\% data loss.
|
||||
|
||||
\smallskip
|
||||
|
||||
We can even make some assumptions about our media. Maybe we expect
|
||||
that even a defective medium will not lose more than 15\% of its data
|
||||
(don't take my word on it). And we make sure that ecc data will be saved
|
||||
on a different type of medium which is considered to have a longer life than optical
|
||||
media. Then creating ecc data with a recovery rate of 20\% (always
|
||||
leave a safety margin) should suffice our needs.
|
||||
This would yield a reasonable data protection
|
||||
while spending only an additional 20\% of storage for it.
|
||||
|
||||
\smallskip
|
||||
|
||||
This is not to say that ecc data is the final answer to all
|
||||
archiving means, but when used well, it can be much more
|
||||
efficient and secure than a simple backup strategy. See also the
|
||||
\tlnk{bigpicture-backup}{``Big Picture'' section} for a continued
|
||||
ecc data vs. full backup discussion.
|
||||
|
||||
\subsection{Pro and con of dvdisaster}
|
||||
|
||||
To summarize from the previous sub sections:
|
||||
|
||||
\bigskip
|
||||
{\bf Advantages of using dvdisaster:}
|
||||
|
||||
\begin{itemize}
|
||||
\item {\bf Protects} against aging and accidental medium damage (within certain limits).
|
||||
\item \tlnk{howto-scan}{Read error tests} run {\bf faster} than quality scans; up to full reading speed depending on the drive.
|
||||
\item {\bf Cost-effective:} Media must be replaced with a new copy only when they are really defective.
|
||||
\item {\bf Space-efficient:} Ecc data requires less space than a full backup under most scenarios.
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
{\bf Limitations of using dvdisaster:}
|
||||
|
||||
\medskip
|
||||
|
||||
You need a backup and testing strategy and at least 15\% of additional storage.
|
||||
|
||||
\begin{itemize}
|
||||
\item Error correction data {\bf must be created before the medium fails}, preferably at the same time the medium is written.
|
||||
\item Error correction data requires {\bf additional storage space} either on the protected medium or by using additional media. Using the standard settings the additional storage space amounts to 15\% of the original data size (approx. 700MiB for a full 4.7GiB DVD).
|
||||
\item No guaranteed protection against data loss as limits and statistical properties of the
|
||||
error correction may be exceeded with extremely bad luck.
|
||||
\end{itemize}
|
||||
|
||||
\bigskip
|
||||
|
||||
See also the \tlnk{background}{collection of background information} to learn
|
||||
more about the functioning of dvdisaster.
|
||||
86
documentation/user-manual/preface.tex
Normal file
@@ -0,0 +1,86 @@
|
||||
\section*{Preface}
|
||||
\label{preface}
|
||||
|
||||
Since the release of dvdisaster 0.79.3\footnote{Version 0.79.4 was never finished
|
||||
and released.}, nearly five years have passed.
|
||||
This was partly due to changed circumstances in its
|
||||
primary developer's life, but there was also a lot of
|
||||
coding going on behind the scenes. In comparison with its
|
||||
predecessor, dvdisaster 0.79.5 comes with lots of its
|
||||
internals being significantly reworked.
|
||||
|
||||
\smallskip
|
||||
|
||||
The most visible improvement of dvdisaster 0.79.5 is, of
|
||||
course, its multithreaded RS03 codec. While it takes
|
||||
about 62 minutes for protecting a 36 GiB image with RS02
|
||||
on a mid range PC,
|
||||
the same task is done with RS03 in less than 7 minutes
|
||||
using 6 processor cores on the same machine.
|
||||
On a high end server with at least 16 cores and very good I/O,
|
||||
this can be done in under a minute. That's quite an
|
||||
improvement.
|
||||
|
||||
RS03 is ready for production use in the current release.
|
||||
Some non-essential features, especially reworking the
|
||||
adaptive reading for use with RS03 and multi-threaded
|
||||
RS03 decoding (media fixing) will be delivered with
|
||||
the following dvdisaster releases.
|
||||
|
||||
\smallskip
|
||||
|
||||
Other parts of the project had to be changed or even
|
||||
discontinued. A software project lives on development
|
||||
and continuous releases; else the
|
||||
project will eventually die. In this respect, dvdisaster
|
||||
was very endangered in the last few years.
|
||||
To prevent this from happening again, most effort
|
||||
is now directed into source code development;
|
||||
everything else is delegated or discontinued.
|
||||
Source code development basically means making
|
||||
the GNU/Linux version, which provides the code base
|
||||
for all other versions, and the FreeBSD and NetBSD ports,
|
||||
which are very easily derived from the GNU/Linux code.
|
||||
This is not the case for the Mac OS and Windows ports,
|
||||
which are, unfortunately, \tlnk{qa-discontinued-os}{discontinued} as of now.
|
||||
|
||||
Another feature which has to go are the separate
|
||||
stable and development releases.
|
||||
Starting with this version, all dvdisaster releases
|
||||
are considered production quality, so there is no
|
||||
need for different branches anymore.
|
||||
|
||||
\smallskip
|
||||
|
||||
Maintaining the multi-lingual online documentation, which
|
||||
also served as the project home page, did also prove to
|
||||
be too time consuming. The project home page has
|
||||
been changed into a simple download platform for
|
||||
the project sources. It is now directed at package
|
||||
maintainers who will create and pass on binaries
|
||||
for the GNU/Linux, FreeBSD and NetBSD distributions.
|
||||
|
||||
The program documentation, which you are reading
|
||||
right now, is provided in PDF format which is much
|
||||
easier to author than the HTML version. The only
|
||||
language available is English. Most parts of this
|
||||
manual have been adapted from the old online
|
||||
documentation, so it still feels more like a website
|
||||
than a book. While hyperlinks are not as usable in PDF
|
||||
as in HTML, they have been kept in this document to
|
||||
stress that it is intended to be used as an online reference.
|
||||
So please do our environment a favour and do not print
|
||||
this manual. It is not meant to be read
|
||||
from front cover to back cover, anyways.
|
||||
|
||||
\smallskip
|
||||
|
||||
Okay, enough ranting already. May dvdisaster be helpful
|
||||
in protecting and recovering your valuable data,
|
||||
and thanks for using it!
|
||||
|
||||
\bigskip
|
||||
|
||||
{\em -- -- cg, August 2015}
|
||||
|
||||
|
||||
462
documentation/user-manual/qa.tex
Normal file
@@ -0,0 +1,462 @@
|
||||
\newcounter{qasection}
|
||||
\newcounter{qaitem}
|
||||
\newcommand{\qa}[2]{\stepcounter{qaitem}{\bf Q \theqasection.\theqaitem: #1}
|
||||
|
||||
\medskip
|
||||
|
||||
#2
|
||||
|
||||
\bigskip}
|
||||
|
||||
\section{Questions and answers}
|
||||
\label{qa}
|
||||
\stepcounter{qasection}
|
||||
|
||||
This section answers some general questions on dvdisaster. There is also
|
||||
a sub section about \tlnk{qa-technical}{technical questions}, and one
|
||||
discussing \tlnk{qa-error}{error messages}.
|
||||
|
||||
\bigskip
|
||||
|
||||
\qa{How is ``dvdisaster'' pronounced?}
|
||||
{Since the word stems from the english language, simply spell ``dv'' before saying ``disaster''. Perhaps ``dee-vee-disaster'' is a suitable phonetic circumscription. }
|
||||
|
||||
|
||||
|
||||
\qa{What are quality scans and why don't you support more?}
|
||||
{\label{qa-quality-scans}Optical media have a built-in error correction which is similar
|
||||
to the method used in dvdisaster. Some drives can report the number
|
||||
of errors corrected while reading a medium. This provides a rough
|
||||
estimate of the writing and media qualities.
|
||||
|
||||
\smallskip
|
||||
|
||||
Since dvdisaster is free software, it can only include code and
|
||||
information which can be redistributed freely. This is currently
|
||||
true for C2 \tlnk{howto-scan}{scanning} of CD media, which
|
||||
is officially standardized
|
||||
and has free documentation available.
|
||||
|
||||
\smallskip
|
||||
|
||||
On the other hand, DVD quality scans (``PI/PO scans'') and BD disc
|
||||
scans are not standardized. Those drive vendors who support it are
|
||||
using proprietary programming interfaces. The respective specifications
|
||||
seem not to be available for use in free software. So we must patiently
|
||||
wait until manufacturers understand that having free software available
|
||||
for a drive will sell more drives. }
|
||||
|
||||
\qa{Is dvdisaster compatible with future releases?}
|
||||
{Yes, dvdisaster files are intended for an archival time of many years.
|
||||
When upgrading to a newer version of dvdisaster you can continue using
|
||||
images and error correction data created from previous versions. There
|
||||
is no need to recreate them again. }
|
||||
|
||||
\qa{Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?}
|
||||
{\label{qa-ecc-distribution}No. First a bit of terminology: If we augment 80 bytes of user data with 20 bytes
|
||||
of error correction (ecc) data, we get an ``ecc block'' comprised of 100 bytes.
|
||||
Now take the following into consideration about the ecc block:
|
||||
|
||||
\begin{enumerate}
|
||||
\item The position of the error correction data within the ecc block does not matter.
|
||||
|
||||
The Reed-Solomon (RS) decoder does not differentiate between user data and error
|
||||
correction data. In the view of the RS decoder our ecc block is a sequence of
|
||||
100 bytes from which an arbitrary subset of 20 bytes can be recovered. It can
|
||||
recover the first 20 bytes, the last 20 bytes, or any combination from within
|
||||
as long as the remaining 80 bytes are still intact. From this it follows that
|
||||
the position of the ecc data within the ecc block does not matter; whether it
|
||||
is appended at the end of the user data or is interleaved with it has no
|
||||
influence on the error correcting capability.
|
||||
|
||||
\item Properly distributing the ecc block offsets influence of bad media spots.
|
||||
|
||||
Optical media have a higher probability of failing in the outer area; but for
|
||||
technical reasons this is the only place where the error correction data
|
||||
can be stored. However this effect is offset by distributing the ecc block
|
||||
content over the medium. Let's assume that our medium is filled 80\% with
|
||||
user data, leaving the remaining 20\% free for error correction data.
|
||||
Now consider the 100 byte ecc block again. We need to pick 80 bytes from
|
||||
the user data for it and require 20 additional byte positions in the error
|
||||
correction data area. Even under these constraints it is possible to evenly
|
||||
distribute the 100 bytes over the medium, from the inside to the outside,
|
||||
each having a maximum distance to its neighbors. This means that under the
|
||||
above scenario, 80\% of each ecc block comes from the first 80\% of the medium,
|
||||
and 20\% from the rest (the outer area). Together with point (1), this negates
|
||||
the influence of bad spots on the medium. Symmetry implies that for each error
|
||||
correction byte stored in the (bad) outer region there will be a user data
|
||||
byte located in the (good) inner medium region.
|
||||
|
||||
\smallskip
|
||||
|
||||
(If you do not already see the point, imagine putting the ecc data into the
|
||||
inner medium region and the user data in the outer region. Consider point (1)
|
||||
again to see that nothing changes with respect to the error correction.)
|
||||
\end{enumerate}}
|
||||
|
||||
\qa{What's the difference between image based and file based data recovery?}
|
||||
{\label{qa-image-level}Optical media are comprised of 2048 byte-wide sectors. Most of those
|
||||
sectors are used to store file data, but some of them hold
|
||||
so-called ``meta data'', e.g. information on directory folders.
|
||||
|
||||
In figure \ref{qa-metadata1} (below) there is a directory ``Pics'' holding
|
||||
three files ``forest.jpg'', ``rock.jpg'' and ``protect.par''\footnote{No
|
||||
offense intended against the PAR/PAR2 project. Carsten is just confident
|
||||
that file based protection does not work on optical media :-)}.
|
||||
Note how these files are mapped onto physical sectors (green/blue
|
||||
squares) on the medium, and that an additional meta data sector
|
||||
(red square) is needed for storing the ``Pics'' directory structure.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centerline{\includegraphics[width=\textwidth]{figures/metadata1.pdf}}
|
||||
\caption{Relation between file system and sectors on the medium.}
|
||||
\label{qa-metadata1}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{Shortcoming of file based recovery on optical media.} Now let's assume
|
||||
that we are working with file based error correction. The file ``protect.par'' holds
|
||||
error correction information which can be used to recover unreadable sectors within the
|
||||
files ``forest.jpg'' and ``rock.jpg''. This will only work as long as we need to
|
||||
recover sectors which are part of a file. But if meta data sectors become unreadable,
|
||||
the file based protection will collapse. Consider figure \ref{qa-metadata2}.
|
||||
When the red directory sector becomes unreadable, not only the
|
||||
directory ``Pics'' but also all files under ``Pics'' become inaccessible.
|
||||
This is due to the logical structure of the ISO/UDF file system, as there is
|
||||
no way to tell how the green and blue sectors relate to files anymore when
|
||||
the directory is lost. So we have a complete data loss although all sectors
|
||||
comprising the files are still physically readable.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centerline{\includegraphics[width=\textwidth]{figures/metadata2.pdf}}
|
||||
\caption{Losing the metadata sector produces complete data loss.}
|
||||
\label{qa-metadata2}
|
||||
\end{figure}
|
||||
|
||||
Please note that moving ``protect.par'' to a separate medium does not rectify
|
||||
the problem - the directory block is still not recoverable as it is not
|
||||
protected by the error correction data in ``protect.par''.
|
||||
|
||||
\paragraph{Advantages of image level recovery on optical media.} dvdisaster applies
|
||||
an image level approach to error recovery. The medium is read and processed as an ISO
|
||||
image. The ISO image contains a sequence of all sectors found on the medium, including
|
||||
those which are meta data for the file system. Since the dvdisaster error correction
|
||||
data protects all sectors in the ISO image, file contents as well as meta data
|
||||
sectors (e.g. directories) can be restored. See fig. \ref{qa-metadata3} for the
|
||||
different range of protection.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centerline{\includegraphics[width=\textwidth]{figures/metadata3.pdf}}
|
||||
\caption{Image level protection}
|
||||
\label{qa-metadata3}
|
||||
\end{figure}
|
||||
|
||||
In addition, neither reading the damaged ISO image nor applying the error
|
||||
correction requires any information from the file system contained on the
|
||||
medium. As long as the drive is still able to recognize the medium, dvdisaster
|
||||
will be able to recover the still readable sectors from it. Therefore there are
|
||||
no ``single sectors of failure'' as in the file based approach. }
|
||||
|
||||
\newpage
|
||||
\subsection{Technical questions}
|
||||
\label{qa-technical}
|
||||
\stepcounter{qasection}
|
||||
\setcounter{qaitem}{0}
|
||||
|
||||
\qa{Which on-screen translations of the program are available?\label{qa-locale}}
|
||||
{The current version of dvdisaster contains screen texts in the following languages:
|
||||
|
||||
\medskip
|
||||
|
||||
\begin{tabular}{lll}
|
||||
Czech &--& unmaintained and outdated\\
|
||||
English &--& complete\\
|
||||
German &--& complete\\
|
||||
Italian &--& unmaintained and outdated\\
|
||||
Portuguese &--& unmaintained and outdated\\
|
||||
Russian &--& unmaintained and outdated\\
|
||||
Swedish &--& unmaintained and outdated\\
|
||||
\end{tabular}
|
||||
|
||||
\medskip
|
||||
|
||||
Translators for other languages are welcome!
|
||||
|
||||
\bigskip
|
||||
|
||||
dvdisaster will automatically obtain language settings from the operating system.
|
||||
If the local language is not yet supported, english text will be used. A different
|
||||
language can be selected using environment variables.
|
||||
|
||||
\medskip
|
||||
|
||||
Example for the bash shell and german language:
|
||||
|
||||
\smallskip
|
||||
|
||||
{\tt export LANG=de\_DE.utf8}
|
||||
|
||||
\medskip
|
||||
|
||||
Please note that we are currently not providing translations of this user manual
|
||||
and the internet site. See \tlnk{qa-translate}{topic Q 2.5} for more details.
|
||||
}
|
||||
|
||||
\qa{Which media types are supported?}
|
||||
{\label{qa-technical-media} dvdisaster supports (re-)writeable CD, DVD and BD media.
|
||||
Media containing multiple sessions or copy protection can {\em not} be used.
|
||||
|
||||
\bigskip
|
||||
|
||||
Usable media by type:
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf CD-R, CD-RW}
|
||||
|
||||
\begin{itemize}
|
||||
\item only Data CD are supported.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf DVD-R, DVD+R}
|
||||
|
||||
\begin{itemize}
|
||||
\item No further limitations are known.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf DVD-R DL, DVD+R DL (two layers)}
|
||||
|
||||
\begin{itemize}
|
||||
\item The drive must be able to \tlnk{qa-identify}{identify (Q3.5)} the medium
|
||||
type. Typically this is only the case for drives which
|
||||
can also write two layered media.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf DVD-RW, DVD+RW}
|
||||
|
||||
\begin{itemize}
|
||||
\item Some drives report \tlnk{qa-rw}{wrong image sizes (Q3.4)}.
|
||||
|
||||
Remedy: Determine the image size from the ISO/UDF file system or the ECC data.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf DVD-RAM}
|
||||
|
||||
\begin{itemize}
|
||||
\item Usable only when written with ISO/UDF images like DVD-R/-RW;
|
||||
\item Not supported when used as removeable medium for packet writing.
|
||||
\item Similar issues with \tlnk{qa-rw}{image size recognition (Q3.4)} as noted above.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf BD-R, BD-RW}
|
||||
|
||||
\begin{itemize}
|
||||
\item No limitations are known so far, but very few results on the
|
||||
two-layered type (the 50GiB variety) have been reported yet.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf Not usable types} (image can not be extracted):
|
||||
|
||||
\begin{itemize}
|
||||
\item BD-ROM (pressed BDs), DVD-ROM (pressed DVDs), CD-Audio and CD-Video.
|
||||
\end{itemize}}
|
||||
|
||||
\qa{Which file systems are supported?}
|
||||
{dvdisaster works exclusively on the image level which is accessed
|
||||
sector-wise. That means it does not matter with which file system
|
||||
the medium has been formatted. See also \tlnk{qa-image-level}{Q1.5}.
|
||||
|
||||
\smallskip
|
||||
|
||||
Since dvdisaster neither knows nor uses the file system structure,
|
||||
it can not repair logical errors at the file system level. It can not
|
||||
recover lost or deleted files. }
|
||||
|
||||
\qa{What happened to the Windows and Mac OS ports?}
|
||||
{\label{qa-discontinued-os}As you may have noticed, the project has progressed very slowly in the
|
||||
last years. The main developer is currently very short of time,
|
||||
and some co-developers are also busy with other tasks. So the question
|
||||
was either to stop development at all, or to continue developing using
|
||||
as few resources as possible.
|
||||
|
||||
The main problem is that we have just one version of dvdisaster which
|
||||
needs to live up to the different standards of GNU/Linux, Windows and
|
||||
Mac OS. The path of least resistance is to continue developing dvdisaster
|
||||
for GNU/Linux, since dvdisaster was originally started on GNU/Linux and is
|
||||
still primarily developed on it. dvdisaster is a ``native'' GNU/Linux
|
||||
application, meaning that it only uses tools and interfaces which come
|
||||
bundled with GNU/Linux, such as the GNU compiler suite and the GTK+ graphical
|
||||
user interface toolkit.
|
||||
|
||||
\smallskip
|
||||
|
||||
Producing the Windows version requires a huge effort, as dvdisaster can not be
|
||||
built with native Windows tools like Visual C++. It requires installing an
|
||||
Unix-like development environment containing the GNU compiler suite (e.g. from
|
||||
MingW) and a port of the GTK+ toolkit. These tools need to be obtained directly
|
||||
from the upstream source (e.g. from www.gtk.org), as no responsible developer
|
||||
would use pre-made binaries from third-party sites. That guarantees for huge
|
||||
extra work every time the tool chain needs to be updated.
|
||||
|
||||
\smallskip
|
||||
|
||||
When the project was started in the year 2004, the Windows 2000 port of GTK+
|
||||
provided a sufficient compatibility layer to make a decent looking and usable
|
||||
Windows version. Today, since Windows 8 the operating system has diverged so
|
||||
significantly from GNU/Linux that it makes GTK+ based applications look poor
|
||||
in terms of usage and visual appearance. Also, Windows is taking different
|
||||
ways in dealing with 64-bitness and multithreading over several CPU cores.
|
||||
This makes it very difficult to write an implementation of the RS03 codec
|
||||
which works well on both GNU/Linux and Windows. To create a version
|
||||
which lives up to the current standards of both GNU/Linux and Windows,
|
||||
dvdisaster would have to be written from scratch with native bindings
|
||||
to the Windows GUI and process interfaces. The same is true for Mac OS;
|
||||
necessitating another complete rewrite of the source code. Resources for
|
||||
that are not available, so the project will just continue developing
|
||||
the GNU/Linux version.
|
||||
|
||||
\smallskip
|
||||
|
||||
Please note that this does not make your error correction data immediately
|
||||
worthless under Windows, as you can continue using the current 0.72.3 binary
|
||||
for a long time. Also, ecc data created under Windows can be used to recover
|
||||
media using GNU/Linux, even when booting Linux as a live system from a memory stick.}
|
||||
|
||||
\qa{How can I help providing translations?\label{qa-translate}}
|
||||
{There are several ways of providing translations to the project.
|
||||
|
||||
\paragraph{Translating the on-screen texts.} See \tlnk{qa-locale}{topic Q 2.1} for
|
||||
a list of available translations. You are welcome to take over an unmaintained
|
||||
translation or to provide one for a new language. Send an email to
|
||||
{\em carsten@dvdisaster.org} for further instructions.
|
||||
|
||||
\paragraph{Translating the user manual and/or the internet site.} The project
|
||||
is {\em currently not accepting contributions for translations of the internet
|
||||
site and the user manual}. Coordinating a translation effort is a very time
|
||||
consuming process which is currently exceeding our resources.
|
||||
|
||||
\smallskip
|
||||
|
||||
You are welcome, of course, to provide an unoffical translation of the
|
||||
project documentation on your own webspace and at your own discretion. }
|
||||
|
||||
\newpage
|
||||
|
||||
\subsection{Error messages}
|
||||
\label{qa-error}
|
||||
\stepcounter{qasection}
|
||||
\setcounter{qaitem}{0}
|
||||
|
||||
\qa{``Warning: 2 sectors missing at the end of the disc''}
|
||||
{This warning appears with CD media written in ``TAO'' (track at once) mode.
|
||||
Some drives report an image size which is 2 sectors too large for such media,
|
||||
producing 2 pseudo read errors at the end of the medium which do not mean data
|
||||
loss in this case.
|
||||
|
||||
\smallskip
|
||||
|
||||
Since the writing mode can not be determined from the medium, dvdisaster
|
||||
assumes a ``TAO'' CD if exactly the last two sectors are unreadable, and
|
||||
trims the image accordingly. It is up to you to decide whether this is okay.
|
||||
You can advise dvdisaster to treat these sectors as real read errors by using
|
||||
the {\tt --dao} option or the preferences tab for reading/scanning.
|
||||
|
||||
\smallskip
|
||||
|
||||
To avoid these problems, consider using the ``DAO / Disc at once''
|
||||
(sometimes also called ``SAO / Session at once'') mode for writing single session media.}
|
||||
|
||||
\qa{Program blocks right after invocation}
|
||||
{ Using old Linux kernel versions (kernel 2.4.x) the program
|
||||
occasionally blocks right after the start and before any actions are
|
||||
carried out. It can not be terminated using Ctrl-C or ``kill -9''.
|
||||
|
||||
\smallskip
|
||||
|
||||
Eject the medium to make the program terminate. Insert the medium again
|
||||
and wait until the drive recognizes the medium and spins down. Calling
|
||||
dvdisaster again should work now. }
|
||||
|
||||
\qa{What does ``CRC error, sector: n'' mean?}
|
||||
{The respective sector could be read, but the checksum of its contents does
|
||||
not match the value noted in the error correction file. Some possible causes are:
|
||||
|
||||
\begin{itemize}
|
||||
\item The image has been mounted with write permission and was
|
||||
therefore altered (typical evidence: CRC errors in sector 64 and in sectors 200 to 400).
|
||||
\item The computer has some hardware problems, especially when communicating with
|
||||
its mass storage devices.
|
||||
\end{itemize}
|
||||
|
||||
If you suspect technical problems, try creating another version of the
|
||||
image and error correction files and \tlnk{howto-info}{verify} them again. When errors
|
||||
disappear or surface at a different locations, your computer may be
|
||||
suffering from defective memory, broken drive cabling, or wrong CPU/system
|
||||
frequency settings. }
|
||||
|
||||
\qa{Read errors or wrong image size with -RW/+RW/-RAM media\label{qa-rw}}
|
||||
{Some drives report incorrect image sizes when -RW/+RW/-RAM media are used.
|
||||
|
||||
Two common cases are:
|
||||
|
||||
\smallskip
|
||||
|
||||
\begin{tabular}{lp{134mm}}
|
||||
{\em Problem 1)} & The drive reports the size of the largest image ever written to the medium, not that of the actual image. \\
|
||||
{\em Symptoms:} & After erasing a medium it is written with a file sized about 100MiB. But the image read back is several GiB long and contains the remainings of older images. \\[3mm]
|
||||
|
||||
{\em Problem 2)} & The drive reports the maximum possible medium capacity (typically 2295104 sectors) instead of the number of actually used sectors. \\
|
||||
{\em Symptoms:} & When reading beyond a certain point of the medium, only read errors occur, but all files on the medium are still readable and complete. \\
|
||||
\end{tabular}
|
||||
|
||||
\paragraph{Possible remedy:} Activate the option for determining the image size from
|
||||
the ISO/UDF file system or from the ECC (RS02/RS03) data.
|
||||
|
||||
\medskip
|
||||
|
||||
If the required ISO/UDF sectors are unreadable and you are using error correction
|
||||
files to recover damaged media there are two possible workarounds:
|
||||
|
||||
\begin{itemize}
|
||||
\item Execute the ``Verify'' function with only the error correction
|
||||
file being selected/given. Note down the correct image size from the
|
||||
output and restrict the reading range accordingly.
|
||||
\item Simply read in the image with the incorrect (larger) size.
|
||||
When invoking the ``Fix'' function, answer ``OK'' when you are asked
|
||||
whether the image should be truncated.
|
||||
\end{itemize}}
|
||||
|
||||
\qa{My self-written media is recognized as ``DVD-ROM'' and rejected.\label{qa-identify}}
|
||||
{The medium book type has probably been set to ``DVD-ROM''. Typically,
|
||||
a drive capable of writing the same media format is required for
|
||||
processing the medium with dvdisaster.
|
||||
|
||||
\smallskip
|
||||
|
||||
For example, a two-layered DVD+R with a wrong book type may only
|
||||
be accepted on a writer which can write to such media. Try another
|
||||
drive for reading images in these cases.}
|
||||
|
||||
\qa{No drives appear under FreeBSD or NetBSD.}
|
||||
{ You need read {\em and} write permission for the respective device
|
||||
(like /dev/pass1 on FreeBSD or /dev/rcd0d on NetBSD).
|
||||
|
||||
Please see the respective hints in the {\tt INSTALL} file which is
|
||||
included in the source code archive.}
|
||||
|
||||
\qa{``Ecc file has been created with version 0.40.7.''}
|
||||
{Some developer versions of dvdisaster mark their ecc files with a special bit.
|
||||
This causes dvdisaster versions upto 0.65 to falsely display the above error
|
||||
message. Please use the developer versions only together with dvdisaster
|
||||
0.66 or newer versions. }
|
||||
BIN
documentation/user-manual/screenshots/action-buttons.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
documentation/user-manual/screenshots/activate-logfile.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
documentation/user-manual/screenshots/adaptive-failure.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
documentation/user-manual/screenshots/adaptive-progress.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
documentation/user-manual/screenshots/adaptive-success.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
documentation/user-manual/screenshots/augment-prefs-rs02-adv.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
documentation/user-manual/screenshots/augment-prefs-rs02.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
documentation/user-manual/screenshots/augment-prefs-rs03-adv.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
documentation/user-manual/screenshots/augment-prefs-rs03.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
documentation/user-manual/screenshots/compat-dialog-rs01.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
documentation/user-manual/screenshots/crc-cd-scan.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
documentation/user-manual/screenshots/create-prefs-file.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
documentation/user-manual/screenshots/defective-cd-scan.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
documentation/user-manual/screenshots/dialog-drive-full.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
documentation/user-manual/screenshots/dialog-drive-linux.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
documentation/user-manual/screenshots/dialog-eccfile-full.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
documentation/user-manual/screenshots/dialog-image-full.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 27 KiB |
BIN
documentation/user-manual/screenshots/eccfile-prefs-drive.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 57 KiB |
BIN
documentation/user-manual/screenshots/eccfile-prefs-ecc3-adv.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
documentation/user-manual/screenshots/eccfile-prefs-file-adv.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 48 KiB |
BIN
documentation/user-manual/screenshots/eccfile-prefs-image.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 34 KiB |
BIN
documentation/user-manual/screenshots/fix-image.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 28 KiB |
BIN
documentation/user-manual/screenshots/fix-reread-dvd.png
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
documentation/user-manual/screenshots/fix-success.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
documentation/user-manual/screenshots/general-prefs-misc.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
documentation/user-manual/screenshots/global-prefs-invoke.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
documentation/user-manual/screenshots/good-cd-scan.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
documentation/user-manual/screenshots/good-dvd9-scan.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
documentation/user-manual/screenshots/info-bad-rs01.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
documentation/user-manual/screenshots/info-bad-rs02.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
documentation/user-manual/screenshots/info-mismatch.png
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
documentation/user-manual/screenshots/info-okay-rs01.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
documentation/user-manual/screenshots/info-okay-rs02.png
Normal file
|
After Width: | Height: | Size: 82 KiB |