ISO 9660
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
- ISO image
- Universal Disk Format (UDF) - The successor to ISO 9660
Specifications
- ECMA-119
- ISO 9660:1988 (not free to download)
- OSDev Wiki: ISO 9660
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