Linux online course

ISO 9660 File System in Linux

Learn how ISO 9660 organizes CD-ROMs and ISO images, including Level 1–3 limits, Joliet and Rock Ridge extensions, and Linux mounting and inspection.

ISO 9660 is a standardized, read-only file-system format designed primarily for optical media. It is commonly found on CD-ROMs and in ISO image files used for software installation media, backup discs, and bootable Linux distribution images.

An ISO image is a file containing a sector-by-sector representation of optical-disc content. ISO 9660 is the traditional file-system format inside many such images, but an image can also contain boot information and extensions such as Joliet or Rock Ridge. Therefore, “ISO image” describes the image file, while “ISO 9660” describes a file-system standard used within it.

What ISO 9660 Is Designed to Do

ISO 9660 organizes files and directories in a hierarchical structure, much like other file systems. Its main design goal was interchangeability: a disc should be readable across different operating systems and hardware platforms.

The International Organization for Standardization is the standards body associated with ISO 9660. The standard was based on and succeeded the earlier High Sierra Format, an early optical-disc format developed to make recorded discs easier for different systems to exchange.

ISO 9660 was especially important for CD-ROM distribution. It enabled one disc to carry a predictable directory tree that could be read by systems with very different native file systems. The same design remains useful today because a Linux, Windows, or macOS computer can often inspect the same ISO image.

ISO 9660, Optical Media, and ISO Images

These terms describe different layers:

  • ISO 9660: A file-system standard that defines directories, file records, names, and related structures.
  • CD-ROM or DVD-ROM: Physical optical media. The disc is the medium; ISO 9660 is one possible way to organize its contents.
  • ISO image: A regular file containing an image of disc sectors and their contents. Its filename often ends in .iso, but the extension alone does not prove which file system it contains.
  • Boot data: Information that can make an optical image bootable. Boot data is additional image content, not the same thing as the ISO 9660 directory structure.

After mastering, ISO 9660 media is normally treated as read-only. A mounted image does not behave like a writable Linux file system: you can read and execute appropriate files, but you normally cannot create, delete, or edit files inside it.

Core Characteristics and Limitations

Basic ISO 9660 provides directories and files, but it deliberately limits names and metadata to improve compatibility. Compared with a modern Linux file system such as ext4, the base format has limited support for:

  • Long or mixed-case filenames.
  • Unicode filenames.
  • Unix ownership and permission details.
  • Symbolic links.
  • Special files such as device files.
  • Rich timestamps and other filesystem metadata.

A symbolic link is a filesystem entry that points to another path. POSIX permissions are the Unix-style read, write, and execute metadata associated with users, groups, and other users. These features require extensions or special handling when the underlying image uses ISO 9660.

ISO 9660 also has structural limits. These limits are called interoperability levels. A creator can select a stricter level when compatibility with older readers is more important than descriptive filenames or very large files.

ISO 9660 Interoperability Levels

The levels describe compatibility-related restrictions. They are not simply three stages of filename length. Level 3 is important because it adds support for files recorded in multiple extents.

Level 1 — Maximum filename capability: Commonly an uppercase-style 8.3 naming convention, with a limited character set. Key structural feature: the strictest interchange rules, including restrictions on directory depth and file size. Compatibility use case: older or highly compatible readers.

Level 2 — Maximum filename capability: Filenames up to 32 characters. Key structural feature: retains the main ISO 9660 structural restrictions and normally stores a file as one extent. Compatibility use case: systems that support longer ISO names but still need the standard base layout.

Level 3 — Maximum filename capability: retains the longer filename capability associated with Level 2. Key structural feature: permits a file to be recorded in multiple extents. Compatibility use case: images needing the Level 3 large-file arrangement while retaining ISO 9660 organization.

Filename example

Suppose an author wants to store Quarterly_Report_2026_Final.pdf:

  • A strict Level 1 name might need to be shortened to an uppercase-style name such as QUARTE~1.PDF or another compliant 8.3-style name.
  • Level 2 or Level 3 can retain a longer ISO 9660-compatible name, up to the relevant limit.
  • Joliet or Rock Ridge can expose an even more natural descriptive name, depending on the reader and the extension data included.

What is a multi-extent file?

An extent is a recorded range of sectors used for part of a file. A multi-extent file is stored in more than one such range. Level 3 can describe one logical file using multiple recorded extents, helping overcome the original single-extent file-size limitation. This is a structural feature, not merely another filename-length feature.

Creators may choose Level 1 even when newer systems are available because older optical readers may understand only the strictest form. Extensions can provide convenient names and metadata, but the base ISO 9660 names remain important for fallback compatibility.

Joliet Extension

Joliet is a Microsoft extension to ISO 9660. It adds long, Unicode-capable filenames and is commonly associated with Windows compatibility.

An image with Joliet data can present a more descriptive filename than the base ISO 9660 namespace. For example, a Windows system may show Quarterly_Report_2026_Final.pdf even if the base namespace contains a shorter compatibility name.

Joliet does not replace the base ISO 9660 data. A reader that does not recognize Joliet can fall back to the base names, which may be shorter, uppercase, or otherwise less descriptive. This fallback is one reason authors include both a compatible base namespace and an extended namespace.

Rock Ridge Extension

Rock Ridge is a POSIX-oriented extension to ISO 9660, widely used on Unix-like systems including Linux. It stores additional information in ISO 9660 structures so a Unix-like operating system can present the image more naturally.

Rock Ridge can provide:

  • Long and mixed-case filenames.
  • POSIX ownership and permission metadata.
  • Symbolic links.
  • Device files where the implementation and security policy permit them.
  • Additional Unix directory metadata.

For example, a shell script may appear as an ordinary non-executable file when only basic ISO 9660 information is available. With Rock Ridge permission metadata, Linux can expose the intended executable mode. This does not make the image writable; it preserves or represents metadata while the image remains read-only.

When a reader does not recognize Rock Ridge, the base ISO 9660 view remains available. The reader may show shortened names, synthesized permissions, and ordinary files instead of symbolic links. Thus, Rock Ridge improves Unix usability without removing the broad-compatibility layer.

Coexisting Naming Views

A single disc or image can contain base ISO 9660 data together with Joliet and Rock Ridge extensions. Different systems, drivers, and mount options may select different views.

Base ISO 9660 — Primary purpose: Broad cross-platform optical-media compatibility. Filename support: Restricted, especially at Level 1. Metadata support: Basic file and directory records, with limited Unix metadata. Typical platform association: Generic optical-disc readers and fallback views.

Joliet — Primary purpose: Windows-oriented long and Unicode filenames. Filename support: Descriptive long names in a Unicode-capable extension. Metadata support: Does not aim to reproduce the full POSIX metadata model. Typical platform association: Microsoft Windows and readers that understand Joliet.

Rock Ridge — Primary purpose: Unix and POSIX compatibility. Filename support: Long, mixed-case Unix-style names. Metadata support: Ownership, permissions, symbolic links, and related Unix directory data. Typical platform association: Linux and other Unix-like systems.

The same stored object may therefore have different visible names or metadata depending on the operating system. Windows commonly uses the Joliet view, Linux can use Rock Ridge metadata, and a limited reader may display only shortened base ISO 9660 names.

Using ISO 9660 Images in Linux

Linux can identify and mount many ISO 9660 images through its file-system drivers. Mounting means making a file system available at a directory called a mount point. A regular image file is commonly connected to a loop device, which lets Linux use the file as though it were a block device.

Identify the image

Use file for a quick signature-based description:

file image.iso

The result varies by image and by the installed file-signature database. It may identify ISO 9660, boot information, or another image format. For more background, see Determine File Type.

Mount read-only with a loop device

sudo mkdir -p /mnt/iso
sudo mount -o loop,ro -t iso9660 image.iso /mnt/iso

The loop option associates the regular file with a loop device. The ro option requests read-only access, and -t iso9660 identifies the expected file-system type. Some Linux versions can detect the type automatically, but specifying it makes the intention clear.

Inspect contents and displayed metadata

ls -la /mnt/iso

Look at filenames, directory entries, ownership, permissions, and symbolic links. The displayed result depends on the extensions in the image and on the Linux driver’s interpretation of them.

Inspect descriptors and extensions

isoinfo can report volume descriptors and related information:

isoinfo -d -i image.iso

On some distributions, isoinfo is provided by a package related to cdrtools or genisoimage. Package names differ between distributions.

xorriso provides another inspection method:

xorriso -indev image.iso -pvd_info

These tools can help reveal volume information, boot-related descriptors, and indications of extension data.

Unmount safely

cd ~
sudo umount /mnt/iso

Unmount after closing files that use the image. If umount reports that the target is busy, ensure no shell is currently inside /mnt/iso and close applications using files below that directory. You may need process-inspection tools to find another process holding the mount.

Linux Installation Images

A Linux distribution installation ISO is a useful example of the layered design. It can contain base ISO 9660 directory data, Rock Ridge metadata for Unix-like systems, and boot-related content that allows firmware or a boot loader to start the installer.

Mounting the image read-only lets you inspect installer files without writing to the image. If you need to edit or replace files, copy them to a writable directory, make the changes there, and create a new image with an authoring tool. You cannot normally edit the contents of a mounted ISO 9660 image directly.

Comparison with Other Storage Concepts

ISO 9660 — What it describes: A cross-platform optical-media file system. Read/write behavior: Normally read-only after mastering. Typical use: CD-ROMs, DVD-ROMs, software distribution, and ISO images.

ISO image — What it describes: A file containing a sector-level representation of disc content. Read/write behavior: The image file itself is writable as a regular file, but its mounted ISO 9660 contents are normally read-only. Typical use: Distribution, archiving, mounting, and writing optical or virtual media.

ext4 — What it describes: A general-purpose Linux file system. Read/write behavior: Normally writable when mounted with suitable permissions. Typical use: Linux partitions and writable storage.

NTFS — What it describes: A file system primarily associated with writable Windows disks. Read/write behavior: Designed for read/write storage, subject to driver and permission support on Linux. Typical use: Windows system and data volumes.

Partition — What it describes: A logical subdivision of a storage device, not a file system. Read/write behavior: Depends on the file system placed in the partition. Typical use: Dividing a disk into regions that can contain file systems or other data.

A partition answers “which region of the device is being used?” A file system answers “how are files organized within that region?” An ISO image is a regular file that can contain a file-system image, so it can be mounted through a loop device without being a physical partition.

For partitioning background, see GPT Partitions. For command path details, see Show The Full Path Of Shell Commands.

Troubleshooting ISO 9660 Images

Mount reports an unknown file-system type

  • Run file image.iso to check whether the file appears to be an ISO image.
  • Check whether the download is incomplete or corrupted.
  • Compare its checksum with the publisher’s checksum when one is available.
  • Use isoinfo or xorriso for additional inspection.
  • The image may use another file system or require a different mounting method.

Names appear shortened or uppercase

This usually means that the image contains only base ISO 9660 names, the current reader does not recognize Joliet or Rock Ridge, or the image was authored without the expected extension. Inspect the image with ISO tools and test it on a reader known to support the extension.

Permissions, ownership, or symbolic links are missing

Basic ISO 9660 does not provide the full POSIX metadata model. Check whether Rock Ridge data was included and whether the current operating system uses it. Do not assume that an optical image will behave like an ext4 file system.

Copying or editing files fails

Normal ISO 9660 mounting is read-only. Copy the files to a writable directory before editing. To distribute modified contents, create a new image rather than attempting to change the mounted image.

Unmount reports that the target is busy

Change to another directory, close programs using the mount point, and check for processes whose current directory or open files are beneath /mnt/iso. Then retry sudo umount /mnt/iso.

Exam-Relevant Summary

  • ISO 9660 is a standardized, read-only optical-media file system associated with the International Organization for Standardization.
  • It was influenced by and succeeded the High Sierra Format.
  • An ISO image is a sector-level image file; it may contain ISO 9660 data, boot data, and extensions.
  • Level 1 is the most restrictive and commonly uses uppercase-style 8.3 filenames.
  • Level 2 supports filenames up to 32 characters while retaining other ISO 9660 structural restrictions.
  • Level 3 retains longer names and adds multi-extent files; it is not simply another filename-length level.
  • Joliet supplies long Unicode-capable names, especially for Windows-oriented compatibility.
  • Rock Ridge supplies Unix/POSIX names and metadata such as permissions, ownership, and symbolic links.
  • Base ISO 9660 data provides fallback compatibility when an extension is not recognized.
  • Linux commonly mounts an ISO image read-only through a loop device.
  • ISO 9660 is a file system, not a physical disc, a .iso filename extension, or a partition table.