Repository navigation
Restoring
extract restores DAR archives. For raw discs, copy files directly and use the
raw repair guide if needed.
Choose an empty output directory and plan room for all collected slices plus the restored data. Slices accumulate until disc collection is complete. Input disc folders must be separate from both output and workdir; overlapping paths are rejected before creating output or staging files.
# All prepared discs from one create run.
bd-archive extract -o /data/photos-restored -i /data/photos-gen1
# A full archive and its next generation.
bd-archive extract -o /data/photos-restored \
-i /data/photos-gen1 /data/photos-gen2These are alternative examples; use a fresh target for an independent restore.
-i / --input accepts individual DAR disc folders, ISO files, or create
output directories. Sets expand to sorted disc_NNNN/ folders under discs/,
or disc_*.iso under images/. Both container directories can also be passed
directly. Mixed folder/ISO sets in one directory are refused. Duplicate paths
are removed. Supply -i once followed by all desired paths; --iso remains
a compatible alias.
Folders are read directly; only ISO files are mounted through udisks2. There
are no disc-change prompts, though
a chain picker or incomplete-chain confirmation can still appear. -i and
-D are mutually exclusive. The command requires dar and par2 even for
checksum-only archives, plus udisksctl for images.
bd-archive extract -o /data/photos-restored -D /dev/sr0Omit -D to use drive auto-detection. Insert the first disc and confirm. For
each disc, the tool stages its slices and checksums, collects any available
isolated catalog, ejects the disc, then checks the local copies.
After the first disc, it automatically polls for another disc. Insert discs
from the chosen chain in any order. When all wanted discs have been collected,
press e while waiting to begin extraction. This is not a yes/no prompt after
every disc. With non-TTY input, send e followed by a newline.
The first accepted disc establishes the chain from DAR filenames. If it contains several chains, a numbered picker asks which to restore. Other chains are ignored. A shared disc containing multiple generations of the chosen chain contributes all of them.
When collection ends, generations are extracted in ascending order. Later file versions overwrite earlier ones, and DAR applies recorded deletions. To restore a specific historical state, collect the full chain only through that generation.
The source directory's contents are restored under -o; DAR mode does not add
the raw mode's extra source-folder wrapper.
Staged slices are checked with SHA-512. On failure, the tool asks for the affected physical disc again, reopens the folder, or remounts the ISO. It fetches that slice's PAR2 files and attempts repair locally. An intact PAR2 result can be accepted even if the SHA-512 sidecar disagrees; an actual repair is checked again with SHA-512. The source disc, folder or image is not modified; repair operates on staging.
An invalid isolated catalog is discarded from staging. It can be collected again from a disc that carries a copy; current sets put it on disc 1 only. The embedded master catalog is in the final DAR slice.
For missing generations, the tool warns before extracting an incomplete chain. Missing slices are handled by DAR's sequential best-effort restore. The amount recoverable depends on which data and metadata survived; there is no guaranteed recovery percentage. Missing generations can mean missing file contents and unapplied deletions.
| Result | What to do |
|---|---|
Exit 0
|
No corruption was reported by this run; inspect the restored files and check that the supplied set was complete |
Exit 1 with corrupted-files.txt
|
Inspect the report of bad-CRC files and/or unrepaired slices; the output contains best-effort restored data |
Exit 1 with a tool/mount/dependency error |
Read the diagnostic; extraction may have stopped before producing a corruption report |
Exit 130
|
The operation was cancelled through the top-level Ctrl+C/EOF handler |
The report lists detected corruption, not an inventory of everything absent from an incomplete set. A zero exit code does not prove completeness.
The target contains .bd-archive-extract, recording its chain name. A non-empty
target is accepted when it is a previous restore of that chain. Existing files
can be overwritten on a rerun, so keep edited or unrelated files elsewhere.
A target belonging to a different chain is refused.
Rerun with all discs/generations needed for the desired final state. Staging left by an interrupted run can save copying, but chain collection is rebuilt from the discs/images supplied to the new invocation. Existing staged slices are reused; changing the source ISO alone does not force them to be recopied. For a clean retry from replacement media, use a fresh output and workdir.
The default workdir is removed after the extraction loop finishes, including a
completed best-effort restore that reports corruption. Earlier fatal failures
may leave it in place. A custom -w workdir is retained. An old
corrupted-files.txt is not automatically removed by a later clean run; inspect
its timestamp and the current run's output, or use a fresh target to avoid
confusing old and new results.
bd-archive extract -o /data/photos-restored \
-i /data/photos-gen1 -w /dev/shm/photos-restoreUse this only when tmpfs has room for the entire collected slice set, catalogs,
repair files and operating overhead. It is not a one-disc rolling buffer. There
is no automatic switch to disk if an explicit RAM workdir fills. Restored files
still go to -o; tmpfs can also use swap depending on the host configuration.
See Storage and layout for disk-space planning.
Getting started
Create archives
Use your archives
Reference