ISO 9660
Line 8: | Line 8: | ||
'''ISO 9660''' is a read-only [[filesystem]] often used on [[CD-ROM|CD-ROMs]]. It is also common to encounter files containing an [[ISO image|image]] of an ISO 9660 filesystem. | '''ISO 9660''' is a read-only [[filesystem]] often used on [[CD-ROM|CD-ROMs]]. It is also common to encounter files containing an [[ISO image|image]] of an ISO 9660 filesystem. | ||
− | == | + | == Format details == |
− | The standard | + | 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 filenames also have a VMS-style version number, so sometimes they are shown with a ";1" suffix. | ||
Line 19: | Line 19: | ||
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. | 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 == | == See also == | ||
Line 33: | Line 47: | ||
* [[7-Zip]], [http://unix.stackexchange.com/questions/70738/what-is-the-fastest-way-to-extract-an-iso see here for an example] | * [[7-Zip]], [http://unix.stackexchange.com/questions/70738/what-is-the-fastest-way-to-extract-an-iso see here for an example] | ||
* [http://linux.die.net/man/1/isoinfo isoinfo] can perform basic operations and some validation. | * [http://linux.die.net/man/1/isoinfo isoinfo] can perform basic operations and some validation. | ||
+ | * [https://www.gnu.org/software/libcdio/ libcdio] (<code>iso-info</code>, <code>iso-read</code>, ...) | ||
* Operating systems often include drivers for ISO 9660. On Linux, an ISO 9660 image file can be mounted using a loopback driver (<code>mount -t iso9660 -o loop ...</code>). | * Operating systems often include drivers for ISO 9660. On Linux, an ISO 9660 image file can be mounted using a loopback driver (<code>mount -t iso9660 -o loop ...</code>). | ||
* [https://github.com/KBNLresearch/isolyzer 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. | * [https://github.com/KBNLresearch/isolyzer 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. | ||
Line 41: | Line 56: | ||
== Links == | == Links == | ||
− | * [[ | + | * [[Wikipedia: ISO 9660]] |
− | + | ||
− | + | ||
− | + |
Revision as of 19:38, 29 January 2019
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