Unrar Multi-Volume Extraction Behavior Explained
When extracting a file that spans across three distinct RAR volumes,
the unrar utility processes the data as a single continuous
stream, reading each volume sequentially until the file is fully
reassembled. This process involves automatic volume detection,
continuous stream writing to the destination disk, interactive prompts
if a volume is missing, and a final integrity verification once the file
reaches completion in the third volume.
Sequential Volume Traversal
To begin extraction, you point the unrar command to the
first archive in the sequence (such as archive.part1.rar or
archive.rar). The utility reads the archive header, detects
the multi-volume split flag, and begins decompressing the file from the
first volume directly to the target destination.
When the decompressor reaches the end of the first volume, it does
not close the output file. Instead, it reads the continuation flag
embedded in the volume's end block, identifies the exact file name
required for the next segment (e.g., archive.part2.rar),
and automatically opens it if it resides in the same directory. This
transition occurs entirely in memory; the partially extracted file
remains open on the filesystem while data from the second volume
continues appending to it. The exact same transition takes place moving
from the second volume to the third volume.
Missing or Relocated Volumes
If unrar cannot locate the second or third volume
automatically in the current working directory, it halts processing and
prompts the user via the terminal:
Cannot find archive.part2.rar
Insert disk with this volume and press Enter or enter the correct path:
The process will wait indefinitely for user intervention. If the
correct path is provided, extraction resumes without loss of previously
extracted data. If the extraction is aborted manually or terminated due
to an error, unrar by default deletes the incomplete output
file from the disk to prevent corrupted data from remaining, unless the
-kb (keep broken extracted files) switch was explicitly
enabled when running the command.
Checksum Verification and Finalization
A file spanning multiple volumes contains only one master checksum
(CRC32 or BLAKE2) stored across the split set. Because of this
architecture, unrar cannot verify the integrity of the
individual segments within the first or second volume on a per-file
basis.
The integrity check occurs only after the final byte of the file is
decompressed from the third volume. At that point, unrar
calculates the total checksum of the output file and compares it to the
original checksum stored in the archive headers. If the checksum
matches, unrar applies the original file attributes and
timestamps, closes the file handle, and marks the extraction as
successful. If there is a checksum mismatch, unrar alerts
the user to a CRC error and deletes the file unless instructed
otherwise.