ファイルシステム ファイルシステムと対応するパーティション番号

ファイルシステム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/25 16:24 UTC 版)

ファイルシステムと対応するパーティション番号

IBM PC/ATやPC-9800シリーズ等ではHDDのパーティションごとの利用目的を判別しやすくするため、パーティションごとに番号を与えている。

この番号により、OSの起動時の、利用すべきパーティションの自動判別が速やかに行なわれる。

ただし、正常な設定が行なわれていない場合も考えて、実際のファイルシステム状況を分析して認識する処理が一般的。 具体的には、HPFSと同じパーティション番号を引き継いで開発されたNTFSのような計画上の問題もあった。

また、開発組織がまったく違うために、Linux用のスワップファイルシステムとサン・マイクロシステムズSolarisのファイルシステムが同じ番号を持ってしまったような例もある。

こういった状況では、誤った認識でデータ破壊が起きる可能性がある。

比較

一般情報

ファイルシステム名 開発者 登場年 最初にサポートしたOS
RT-11 DEC 1973年 RT-11
FAT12 マイクロソフト 1977年 Microsoft Disk BASIC
ODS-2 DEC 1979年 VMS
UFS(FFS) カーク・マキュージック 1983年 4.2BSD
HFS Apple 1985年 Macintosh System 2.1
FAT16 マイクロソフト 1987年 MS-DOS 3.31
HPFS IBM & マイクロソフト 1988年 OS/2
JFS IBM 1990年 AIX[2]
VxFS VERITAS 1991年 SVR4.0
NTFS マイクロソフト 1993年 Windows NT
ext2 レミ・カール 1993年 Linux
UFS(FFFS) カーク・マキュージック 1994年 4.4BSD
XFS SGI 1994年 IRIX
UDF ISO/Ecma International/OSTA 1995年 -
FAT32 マイクロソフト 1996年 Windows 95 OSR2[3]
HFS Plus Apple 1998年 Mac OS 8.1
ext3 スティーブン・トウィーディ 1999年 Linux
VMFS VMware 2000年 VMware ESX
ReiserFS Namesys 2001年 Linux
UFS2 カーク・マキュージック 2002年 FreeBSD 5.0
HFSX Apple 2003年 Mac OS X v10.3
ZFS サン・マイクロシステムズ 2004年 Solaris
Reiser4 Namesys 2004年 Linux
NILFS NTT 2005年 Linux
ext4 Mingming Cao, Dave Kleikamp, Alex Tomas, Andrew Morton 2006年 Linux
exFAT マイクロソフト 2006年 Windows Embedded CE 6.0
btrfs オラクル 2007年 Linux
HAMMER-FS Matthew Dillon (en:Matthew Dillon 2008年 DragonFly BSD 2.0
ReFS マイクロソフト 2012年 Microsoft Windows Server 2012
APFS Apple 2017年 macOS High Sierra
ファイルシステム 開発者 登場年 最初にサポートしたOS

諸元

最大ファイル名長 ディレクトリ名に使える文字種[4] 最大パス名長 最大ファイルサイズ 最大ボリュームサイズ[5]
Btrfs 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 16EiB 16EiB
ext2 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 16GiB~2TiB[5] 2TiB~32TiB
ext3 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 16GiB~2TiB[5] 2TiB~32TiB
ext4 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 16GiB~16TiB 1EiB
FAT12 8.3形式(または255文字)[8] NUL 以外の全Unicode[8][6] 制限の定義無し[7] 32MiB 1MiB~128MiB
FAT16 8.3形式(または255文字)[8] NUL 以外の全Unicode[8][6] 制限の定義無し[7] 2GiB 16MiB~4GiB
FAT32 8.3形式(または255文字)[8] NUL 以外の全Unicode[8][6] 制限の定義無し[7] 4GiB 512MiB~2TiB[9]
HFS+ 255文字 (UTF-16)[10] 任意の正しいUnicode[11][6] 無制限 8EiB 8EiB[12]
HFS 31バイト : 以外の任意のバイト 無制限 2GiB 2TiB
JFS 255バイト NUL以外の任意のバイト[6] 制限の定義無し[7] 8EiB 512TiB~4PiB
NILFS 255文字 NUL 以外の任意のバイト[6] 制限の定義無し[7] 8EiB 8EiB
NTFS 255文字 NUL 以外の全Unicode Unicodeで32,767文字(ファイル名やディレクトリ名はそれぞれ255文字まで)[7] 16EiB[13] 16EiB[13]
ReFS 255文字 (UTF-16) NUL 以外の全Unicode Unicodeで32,767文字(ファイル名やディレクトリ名はそれぞれ255文字まで)[7] 16EiB 3.76ZiB
Reiser4 不明 不明 制限の定義無し[7] x86では 8TiB 不明
ReiserFS 4032バイト/255バイト(VFSによる制限) NUL 以外の任意のバイト[6] 制限の定義無し[7] 8TiB[14] 16TiB
RT-11 12バイト A-Z, 0-9, $ 16バイト 33,554,432バイト (65536 * 512) 33,554,432バイト
UDF 255バイト NUL 以外の全Unicode 1023バイト[15] 16EiB 不明
UFS(FFS) 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 4GiB 256TiB
UFS(FFFS) 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 4GiB~256TiB 256TiB
UFS2 255バイト NUL 以外の任意のバイト[6] 制限の定義無し[7] 512GiB~32PiB 1YiB
VxFS 255バイト NUL以外の任意のバイト[6] 制限の定義無し[7] 16EiB 不明
XFS 255バイト NUL以外の任意のバイト[6] 制限の定義無し[7] 8EiB[16] 8EiB[16]
最大ファイル名長 ディレクトリ名に使える文字種[4] 最大パス名長 最大ファイルサイズ 最大ボリュームサイズ[5]

メタデータ

ファイル所有者名を保持 POSIX式ファイルパーミッション 作成時タイムスタンプ(TS) 最新アクセス時TS 最新メタデータ更新TS 最新アーカイブTS ACL セキュリティ/MACラベル 拡張ファイル属性/フォーク チェックサム/ECC
RT-11 × × × × × × × ×
FAT12 × × × × × × ×[17] ×
FAT16 × × × × × × ×[17] ×
FAT32 × × × × × × × ×
HPFS [18] × × × × 不明 ×
NTFS ×[19] × 不明 ×
ReFS × × 不明
HFS × × × × × × ×
HFS+ 不明 ×
UFS(FFS) × × × × × ×
UFS(FFFS) × × [20] [20] ×[21] ×
UFS2 × [20] [20] ×
ext2 × × [22] [22] ×
ext3 × × [22] [22] ×
ext4 ×
NILFS × × × × ×
ReiserFS × × [22] [22] ×
Reiser4 × × × × × ×
XFS × × [22] ×
JFS × ×
VxFS × 不明 [22] ×
UDF × ×
ファイル所有者名を保持 POSIX式ファイルパーミッション 作成時タイムスタンプ (TS) 最新アクセス時TS 最新メタデータ更新TS 最新アーカイブTS ACL セキュリティ/MACラベル 拡張ファイル属性/フォーク チェックサム/ECC

機能

ハードリンク ソフトリンク ブロック・ジャーナリング または メタデータのみのジャーナリング 大文字/小文字区別 大文字/小文字保護 ファイル更新ログ インクリメンタル・スナップショット XIP
RT-11 × × × × × × × × ×
FAT12 × × × × × × × × ×
FAT16 × × × × × × × ×
FAT32 × × × × × × × ×
HPFS × × × × × × 不明 ×
NTFS [23] × [24] 不明
ReFS × 不明 不明 不明 不明 不明
HFS+ × [25] [26] [27] × ×
UFS(FFS) × × × × ×
UFS(FFFS) × × × × ×
UFS2 × ×[28] × 不明
ext2 × × × × [29]
ext3 [30] × × 不明
ext4 [31] × × 不明
NILFS [32] × × 不明
ReiserFS [33] × × 不明
Reiser4 × × 不明 不明
XFS × 不明
JFS × [34] × 不明 不明
ODS-2 [35] × × × ×
UDF [36] [36] × ×
VxFS × [37] 不明
ZFS [38] ×[38] × ×
ハードリンク ソフトリンク ブロック・ジャーナリング または メタデータのみのジャーナリング 大文字/小文字区別 大文字/小文字保護 ファイル更新ログ インクリメンタル・スナップショット XIP

アロケーションとレイアウト

Tail Packing 透過的圧縮 ブロックの分割割り当て 遅延アロケーション エクステント 可変ファイルブロックサイズ[39]
FAT12 × ×[40] × × × ×
FAT16 × ×[40] × × × ×
FAT32 × ×[40] × × × ×
HPFS × × × × ×
NTFS × × ×
ReFS 不明 × 不明 不明 不明 ×
HFS+ × × 不明 × ×
UFS (FFS) × × ● 8:1[41] × × ×
UFS (FFFS) × × ● 8:1[41] × × ×
UFS2 × × ● 8:1[41] × ×
ext2 × ×[42] ×[43] × × ×
ext3 × × ×[43] × × ×
ext4 × × ×
NILFS × × × × ×
ReiserFS × × × × ×
Reiser4 ×[44] × [45] ×
XFS × × × ×
JFS × × × ×
VxFS × × 不明 × ×
UDF × × × 不明[46] ×
ZFS ×[47] 不明 [48] ×
Tail Packing 透過的圧縮 ブロックの分割割り当て 遅延アロケーション エクステント 可変ファイルブロックサイズ[39]



  1. ^ "file operations can be performed on a logical file-system which may be local, structured data store or some remote service" fsspec
  2. ^ IBMは1990年AIX 3.1 リリース時に JFS を導入。これは現在 JFS1 と呼ばれている。新たなJFS(JFS2などと呼ばれる)は Linux移植版がベースで、1999年OS/2 Warp Server for e-Business で最初に出荷された。
  3. ^ マイクロソフトWindows 95 OSR2で最初に FAT32 を導入し、Windows 98で本格的に採用した。
  4. ^ a b ディスク上のディレクトリ構造自体に制限がある。特にInstallable File Systemのドライバはファイル名とディレクトリ名に制限がある。また、OSがファイルシステムの種類に寄らず全体に制限を加えていることもある。MS-DOS, Microsoft Windows, OS/2は全ファイルシステムについて \ / : ? * " > < | NUL といった文字をファイル名やディレクトリ名に使えない。UNIXおよびLinuxは全ファイルシステムについて / NUL という文字をファイル名やディレクトリ名に使えない。
  5. ^ a b c d ブロックサイズやクラスタサイズが可変なファイルシステムについては、ブロックサイズの最大と最小のときのボリュームサイズの範囲を示す。例えば、FATではディスク上のクラスタサイズが512B~128KBである。しかし、Installable File Systemの一部のドライバやOSによっては 32KBより大きいクラスタサイズをサポートしていない。
  6. ^ a b c d e f g h i j k l m n o p これらのファイルシステムでは、"." と ".." というディレクトリエントリ名は特別な意味を持つ。そのような名前のディレクトリエントリは禁じられておらず、むしろ普通のディレクトリエントリ名として存在している。しかし、これらはある意味で固定のエントリで固定の値を持ち、ディレクトリ生成時に自動的に生成される。これらのエントリがないディレクトリは壊れていると見なされる。
  7. ^ a b c d e f g h i j k l m n o p q r ディスク上の構造としては制限はないが、一部のInstallable File SystemのドライバやOSによっては制限している場合がある。MS-DOSはFAT12やFAT16に関して260バイト以上のパス名をサポートしていない。Windows NTはNTFSに関して32767文字 (UTF-16) 以上のパス名をサポートしていない。POSIXの規定では「NULL終端で1024バイトを保証すること」とされているが、上限についての記述はない。
  8. ^ a b c d e f FAT12、FAT16、FAT32の実装が、長いファイル名 (LFN)をサポートしているかどうかに依存する。OS/2, MS-DOS, Windows 95, Windows 98 のDOSモードやLinuxの msdosドライバではLFNをサポートしていないので、ファイル名は8.3形式に制限される(制限を越えるとベース名も拡張子も空白で埋められる)。また、NUL(ディレクトリ終端マーカー)を含むこともできず、文字5(削除済みファイルマーカーとして使われる文字229の代用)も含むことができない。短い名前では小文字も含まれない。
  9. ^ FAT32のパーティションをこのサイズで作成して使用することは可能だが、ソフトウェアによっては 32GiB以上のFAT32用パーティションを作成できない。有名なのは、Windows XPのインストールプログラムである(これはNTFSの利用を促すための意図的な制限であると思われる)。これを回避するには Windows Meの緊急用ブートディスクのFDISKを使う必要がある。
  10. ^ Mac OSはHFS+のボリューム上のファイル名を扱う関数群を2種類用意している。ひとつは完全なUnicodeの名前を返し、もうひとつは従来互換を保つために31バイトまでの名前を返すものである。
  11. ^ HFS+は任意のUnicode文字を許すためにエスケープシーケンスをサポートしている。古いソフトウェアからはそのエスケープシーケンスがそのまま見える。
  12. ^ HFS+のボリュームサイズはほぼ無制限であるが、Mac OSには以下のような制限がある。Mac OS 8, 9:2TiB。Mac OS X 10、10.1:2TiB。Mac OS X 10.2:8TiB。Mac OS X 10.3、10.4:16TiB。ファイルサイズの最大はこれより若干小さい(Mac OS 8では2GB)。フォルダ内の最大ファイル数(フォルダ数)は以下の通り。 Mac OS 8, 9:2^15 (32767)。macOS:2^31。しかし、通常最大ボリュームサイズをブロックサイズで割った値で制限される。
  13. ^ a b これはディスク上の構造による制限である。Windows NT用NTFSドライバはボリュームサイズを256TiB、ファイルサイズを16TiB に制限している。
  14. ^ ReiserFSの理論上の最大ファイルサイズは1EiBだが、[1]によれば、「ページキャッシュの制限により、32ビット int のアーキテクチャでは 8TiB に制限される」
  15. ^ この制限は新しい版では大きくなるかもしれない。
  16. ^ a b Linux 2.4 では XFS の最大ファイルサイズは 64TiB だが、Linux 2.4 自体が最大 2TiB までしかサポートしていない。IRIXにはこの制限はない。
  17. ^ a b 一部のInstallable File SystemドライバやOSによってはFAT12やFAT16で拡張ファイル属性をサポートしていない。OS/2とWindows NTはFAT12/FAT16向けに拡張ファイル属性をサポートしている("EA DATA. SF"擬似ファイルを使ってそのためにアロケートされたクラスタを予約している)。他のOSのファイルシステムドライバではサポートしていない。
  18. ^ f-nodeにはユーザー識別子用フィールドがあるが、OS/2 Warp Server 以外では使われていない。
  19. ^ NTFSのアクセス制御リストは単純なPOSIX式ファイルパーミッションで表せることは表現できるが、Services for UNIXCygwin を使わないとPOSIXのインターフェイスがサポートされない。
  20. ^ a b c d アクセス制御リストとMACラベルは拡張属性として実装される。
  21. ^ FreeBSD 4.XなどのOSでは拡張属性をparallel backing fileを使って実装している。
  22. ^ a b c d e f g h 一部のInstallable File SystemドライバやOSによっては、これらのファイルシステムについて拡張属性、ACL、セキュリティラベルをサポートしていない。2.6.x以前のLinuxはこれらをサポートしていないか、パッチが必要である。
  23. ^ NTFS 5.0 以降では、junctions を生成でき、(個々のファイルではなく)ディレクトリ全体をローカルに管理するドライブのいずれかのディレクトリツリーにマップすることができる。これは reparse points と呼ばれる機能で実現されており、ファイル名解析部分を柔軟に拡張可能となっている。
  24. ^ NTFS自体は大文字/小文字を区別するが、Windowsサブシステムは互換性を維持するため大文字/小文字の差異しかないファイル名を生成できないようになっている。新しいファイルを書き込みのためにオープンしたとき、大文字/小文字の差異を無視したときに同じ名前となるファイルが既に存在すると、その既存のファイルの内容が消されて書き込みに使われてしまう。Services for UNIXを使うと、完全な大文字/小文字の区別が行われる。
  25. ^ メタデータのみのジャーナリングは、Max OS X v10.2.2 の HFS+ドライバから導入された。デフォルト値でジャーナリングが有効となったのはMac OS X v10.3以降である。
  26. ^ 一般に大文字/小文字を区別していると思われがちであるが、HFS+は基本的には区別していない。単に大文字/小文字の違いを保護しているだけである。Mac OS X v10.3のコマンド newfs_hfs -s で大文字/小文字を区別するファイルシステムを作成できる。HFSXという別のファイルシステムは、HFS+を改良したもので、こちらは大文字/小文字を区別する。Technical Note TN1150: HFS Plus Volume FormatではHFS+とHFSXについて技術的詳細を論じている。
  27. ^ Mac OS X v10.4とMac OS X v10.3はファイル変更ログを提供している(ファイルシステムソフトウェアの機能であり、ボリューム形式自体がサポートしているわけではない)。fsloggerを参照されたい。
  28. ^ NetBSDの"Soft dependencies" (softdep)およびFreeBSDの"soft updates"はジャーナリングせずにメタデータの一貫性を常に保つ機能がある。
  29. ^ Linux 2.6.12 以降。
  30. ^ デフォルトでは無効になっている。
  31. ^ デフォルトでは無効になっている。
  32. ^ ログ構造化ファイルシステムであり,メタデータだけでなく全てのファイルデータの更新がインクリメンタルに記録される。
  33. ^ ReiserFSの完全なブロック・ジャーナリングは Linux 2.6.8 で追加された。
  34. ^ 一部のInstall File SystemドライバやOSによってはJFSでの大文字/小文字区別をサポートしていない。OS/2はサポートしておらず、Linux はマウント時のオプションで指定できる。
  35. ^ "aliases"と呼ばれている。
  36. ^ a b UDFはログ構造ファイルシステムであり、ファイルシステム全体がジャーナルであるかのように振舞う。
  37. ^ VxFSはオプションとして「ストレージ・チェックポイント」と呼ばれる機能を提供している。これは高機能のファイルシステム・スナップショット機能である。
  38. ^ a b ZFSはトランザクション・ファイルシステムであり、コピー・オン・ライト方式であるため、ジャーナルを使わなくてもディスク上の状態は常に正常である。しかし、同期書き込みを指定されたときなどの性能向上のため、ログを実装している。
  39. ^ a b ここで言う可変ブロックサイズとは、ファイル毎にブロックサイズを変更できるシステムである。エクステントと似ているが実装方針が微妙に異なる。UFS2の現状の実装はリードオンリーのみである。
  40. ^ a b c DOS 6 の DoubleSpace や Windows 95およびWindows 98の DriveSpace は FAT におけるデータ圧縮機能だが、マイクロソフトが既にサポートしていない。
  41. ^ a b c 8:1以外の「ブロック:フラグメント」のサイズ比もサポートしているが、8:1が最も一般的で多くの実装で推奨されている。
  42. ^ 1997年から利用可能なe2comprというパッチのセットでext2でのブロック単位のデータ圧縮が可能となる。しかし、これがLinuxカーネルのメインラインにマージされたことはない。
  43. ^ a b フラグメントは計画されていたが、ext2とext3に実装されたことはない。
  44. ^ Reiser4はデータ圧縮を実装しているが、そのためのVFS APIが提供されていない。
  45. ^ "extents"モードで実現。
  46. ^ UDFの実装に依存する。
  47. ^ ZFSの論理ブロックベースの圧縮を有効にすると、ファイルの最後尾ブロックに対してTail-Packingのように働く。
  48. ^ コピーオンライトであるため、ZFSは全ての書き込みについて遅延アロケーションを行う。


「ファイルシステム」の続きの解説一覧




固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ファイルシステム」の関連用語

ファイルシステムのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ファイルシステムのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのファイルシステム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2021 GRAS Group, Inc.RSS