How 7-Zip Inspects and Extracts ISO Files
7-Zip inspects and extracts contents from ISO disk image files by parsing the raw optical disc file system architectures—primarily ISO 9660 and UDF—directly at the byte level. Rather than requiring the operating system to mount the image as a virtual optical drive, 7-Zip treats the ISO file as a standard uncompressed archive. It reads the volume descriptors and directory records to map out the internal folder hierarchy, allowing users to view, verify, and copy individual files or the entire contents directly to their local storage.
Understanding the ISO Format
An ISO file (.iso) is an uncompressed, sector-by-sector
copy of an optical disc (such as a CD, DVD, or Blu-ray). Unlike standard
archive formats like ZIP, RAR, or 7z, an ISO file does not employ data
compression algorithms by default. Instead, it contains raw sector data
structured according to specific standardized file systems designed for
optical media.
How 7-Zip Inspects ISO Structures
When an ISO file is opened in 7-Zip, the software performs structural analysis instead of decompressing data:
- Volume Descriptor Scanning: 7-Zip reads the designated system area of the image (starting at sector 16, or byte offset 32,768) to locate the Primary Volume Descriptor (PVD). This descriptor defines the basic attributes of the disc, including sector size (typically 2,048 bytes), volume space, and pointers to the root directory.
- File System Identification: 7-Zip identifies the
underlying file system specification. It supports:
- ISO 9660: The legacy standard, including extensions like Joliet (for Unicode and long filename support) and Rock Ridge (for POSIX/Unix attributes).
- Universal Disk Format (UDF): The modern standard used for DVDs, Blu-rays, and large operating system installation images.
- Directory Tree Mapping: 7-Zip parses the directory records and path tables. In an ISO 9660 or UDF structure, these records store filename metadata, file sizes, creation timestamps, and extent locations (the exact logical block address where each file's data begins).
- GUI Presentation: Using this metadata, 7-Zip builds a virtual directory tree within its interface, presenting the files identically to any other compressed archive.
How 7-Zip Extracts Data
The extraction process in 7-Zip functions through direct binary reading rather than decompression:
- Calculating Sector Offsets: When a user requests an extraction, 7-Zip looks up the logical block address (LBA) of the selected target from the previously mapped directory table. It multiplies the LBA by the logical sector size (usually 2,048 bytes) to calculate the precise starting byte offset within the ISO file.
- Direct Byte Streaming: 7-Zip seeks directly to that byte offset on the host storage drive. It streams the raw bytes corresponding to the file's defined length straight into a newly created file on the destination path.
- Restoring Metadata: Once the data transfer is complete, 7-Zip applies the file attributes and timestamps stored in the ISO's directory descriptors to the newly created target file.
Because there are no decompression algorithms involved, the extraction speed of an ISO file using 7-Zip is limited primarily by the read and write speeds of the physical drives involved.