ISO 9660

From Just Solve the File Format Problem
Revision as of 19:38, 29 January 2019 by Jsummers (Talk | contribs)

Jump to: navigation, search
File Format
Name ISO 9660
Ontology
Extension(s) .iso, .cdr
MIME Type(s) application/x-iso9660-image
Kaitai Struct Spec iso_9660.ksy

ISO 9660 is a read-only filesystem often used on CD-ROMs. It is also common to encounter files containing an image of an ISO 9660 filesystem.

Contents

Format details

The standard specifies a very limited filename format. At the strictest interchange level, it only allows DOS-style "8.3" names, uppercase only. At less strict levels, filenames can be up to 31 characters. Several extensions, mainly Rock Ridge and Joliet, were developed to mitigate these limitations.

The filenames also have a VMS-style version number, so sometimes they are shown with a ";1" suffix.

The size of a file is limited to 4GB (2GB in some implementations). This is irrelevant with respect to CD-ROMs, because of their small capacity, but it is a reason to avoid using ISO 9660 on DVD-ROMs and other media. (An extension called "multiple extents" makes larger files possible, but support for it is limited.)

Identification

Usually, the ASCII string "CD001" appears at offset 32769.

The first 32768 bytes are not used. Be aware that hybrid filesystems are possible. Just because something is a valid ISO 9660 filesystem doesn't mean it can't also be a valid filesystem of some other type.

Extensions

SUSP

Main article: System Use Sharing Protocol

Rock Ridge

Main article: Rock Ridge

Joliet

Main article: Joliet

TRANS.TBL

Main article: TRANS.TBL

See also

Specifications

Software

Reading

  • 7-Zip, see here for an example
  • isoinfo can perform basic operations and some validation.
  • libcdio (iso-info, iso-read, ...)
  • Operating systems often include drivers for ISO 9660. On Linux, an ISO 9660 image file can be mounted using a loopback driver (mount -t iso9660 -o loop ...).
  • isolyzer is a tool that verifies if the file size of an ISO image is consistent with the information in its filesystem-level headers. This can be useful for detecting incomplete (e.g. truncated) ISO images. Apart from ISO 9660, isolyzer also supports UDF, HFS and HFS+, as well as hybrids of all of these filesystems.

Writing

  • cdrkit → genisoimage
  • Countless CD burning applications

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox