ISO 9660

ISO 9660:1988は、1988年にISOで標準化されたCD-ROMのファイルシステムである。Ecma InternationalのECMA-119に対応する。JISではJIS X 0606に対応する。ISO 9660に準拠することで、様々なオペレーティングシステム (OS) で同じCD-ROMを読み込むことができる。

ファイル名に制限が多かったため、後に様々な拡張フォーマットが登場した。

もともとはCD-ROM用であるが、DVDやBDでも用いられることがある。

 歴史 

1985年にAppleやマイクロソフト、ディジタル・イクイップメント・コーポレーション、3M、日立製作所などによって提案された「ハイシエラフォーマット」(High Sierra Format, HSF) が元になっている。

 水準 
ファイル名やディレクトリ名に使える文字は数字、英大文字、“_”（アンダースコア）の37種類（規格ではこの文字群を d文字 または d1文字 と呼ぶ）

ファイル名は以下の規則を持つ。
「0文字以上 + “.” + 0文字以上 + “;” + 1から32767までのバージョン番号」で表される
「0文字以上 + “.” + 0文字以上」は合わせて31文字まで
“.”の前後どちらかは1文字以上なければならない
ディレクトリ名は31文字まで
ディレクトリは8階層まで
「ファイル名の文字数 + そのファイルに関連するルートディレクトリまでの各親ディレクトリ名の文字数の総和 + 同親ディレクトリの数（ディレクトリ区切り）」は255まで

制限の厳しいシステムとのやり取りの為3つのレベルが規定され、上記に加えて制限がかかる。
ISO 9660 Level 1:
ファイル名は「8文字以下 + “.” + 3文字以下 + “;” + 1から32767までのバージョン番号」まで
ディレクトリ名は8文字まで
ファイルデータは単一のしか持てない
ISO 9660 Level 2:
ファイルデータは単一のエクステントしか持てない
ISO 9660 Level 3:
追加の制約は課さない

 ISO 9660:1988/Amd.1:2013 
ISO 9660:1988/Amd.1:2013は、ISO 9660規格の最新の追補である。JISでは、ISOより先にJIS X 0606:1998として取り入れられている。

次のような特徴がある。
ファイル名、ディレクトリ名は207文字まで
拡張子の必要性が無い（ファイル名に “.” を含める必要が無い）
バージョン番号の必要性が無い
8階層までというディレクトリの階層の制限を取り払って無制限になった

また、Joliet拡張（後述）と本規格の差異に関する情報がAnnex B.2に追加されている。

 拡張規格 
 El Torito 
El Toritoは、1995年にIBMとが提唱した規格である。CD-ROM上からのブートがサポートされている。

El Toritoの名は、日本でもつくば市・東京都などで展開しているココス系列のメキシカンレストランエルトリートから取られている。

 Rock Ridge 
Rock Ridge（ロックリッジ）は、IEEEによってIEEE P1282として制定されたISO 9660の拡張規格である。おもにUnix系OSで利用される。

次の機能をサポートしている。
UNIX式のアクセス権の設定（ISO 9660でも拡張属性レコードにPOSIXパーミッションがあるが、レコードは列挙に対し非効率的に配置される）
シンボリックリンク
デバイスファイル
大文字・小文字の区別
最大255文字のファイル名
8階層（ISO 9660の仕様）を超えるディレクトリの作成（ISO 9660上ではルート直下にRR_MOVEDまたは.rr_movedディレクトリとして配置される）
ISO 9660と上位互換であり、Rock Ridgeを利用できないシステムでもISO 9660 Level 1として読み込めるようになっている。

 Joliet 
Joliet（ジョリエット）は、マイクロソフトが設計したISO 9660の拡張規格である。

次の機能をサポートしている。
UCS-2の利用
最大64文字までのファイル名
8階層（ISO 9660の仕様）を超えるディレクトリの作成
ISO 9660と上位互換であり、Jolietを利用できないシステムでもISO 9660 Level 1として読み込めるようになっている。Windows 95から現在に至るまでのWindowsやその他のOSでもサポートされている。UCS-2の利用により、仮名や漢字、アラビア文字なども使用することができる。

 Apple ISO 9660 Extensions 
Apple ISO 9660 Extensionsは、AppleがISO 9660を拡張するために設計されたいくつかの規格である。CD-ROM上でのHFS (HFS+) を利用出来るように設計されてあるものもあり、HFSのメリットを利用することができる。

ほぼClassic Mac OSおよびmacOS専用の拡張規格であり、利用できないシステムではISO 9660 Level 2として読み込めるようになっている。

 Romeo 
Romeoは、アダプテックが設計したISO 9660の拡張規格である。

次の機能をサポートしている。
最大128文字までのファイル名
ISO 9660のディスクフォーマットを拡張しており、ISO 9660との互換性は無い。

 規格の逸脱 
他の拡張規格のように規格化されたものではないが、多くのOSの実装において多少の規格違反は許容されており、それを逆手に取った意図的な規格違反をすることでISO 9660の厳しい制限を回避することができる。しかし互換性は下がることになる。

以下のようなものが存在する。
ファイル名にd1文字以外の使用
ファイル名に複数の“.”の使用
ファイル名に“.”の非使用
9660:1999では規格合致。
8階層を超えるディレクトリ
9660:1999では規格合致。
“;”およびバージョン番号の省略
9660:1999では規格合致。多くのOSでは“;”とバージョン番号はユーザーから見えないようになっているが、それらを隠してくれない環境では有用となる。
ファイル名に37文字までの使用
“;”とバージョン番号用の領域をファイル名に使用する。必然的にバージョン番号は省略される。
（Joliet拡張）110文字までのファイル名の使用。
ディスクフォーマット上はファイル名に使用できる領域は64文字分より大きく確保可能である。

 OSのISO 9660サポート 
   ISO 9660 Level 1 ISO 9660 Level 2  ISO 9660 Level 3  ISO/IEC 9660:1999  Joliet  Rock Ridge  Apple ISO 9660 Extensions  Romeo  備考 MS-DOS                 MSCDEX.EXE (Microsoft CD-ROM Extension) というプログラムを組み込むことで、ISO 9660フォーマットのCD-ROMを認識することができる。 Windows 95, 98, Me                 Windows NT 3.51                 Windows NT 4.0, 2000                 Windows XPおよびそれ以降                 LinuxおよびBSD系OS                 Mac OS 7〜9                 macOS                

 関連項目 
ユニバーサルディスクフォーマット
ディスクドライブ仮想化ソフト
ISOイメージ

 脚注 



 外部リンク 
Joliet Specification（Jolietの仕様）

Information technology - Volume and file structure of CD-ROM for information interchange（ISO/IEC 9660:1999の仕様）

09660
Category:OSのファイルシステム