日本語
英語

文書番号: 100108 - 最終更新日: 2005年8月19日 - リビジョン: 5.1

FAT、HPFS、NTFS ファイル システムについて

この記事は、以前は次の ID で公開されていました: JP100108

目次

すべて展開する | すべて折りたたむ

概要

この資料では、Windows NT 環境での FAT、HPFS、および NTFS の違いと、それぞれの長所および短所について説明します。この資料は以下の 3 つの章に分かれています。

  • FAT について
  • HPFS について
  • NTFS について
注 : HPFS は Windows NT 3.1、3.5、および 3.51 環境でのみサポートされています。Windows NT 4.0 では HPFS がサポートされておらず、Windows NT 4.0 から HPFS パーティションにアクセスすることもできません。また、FAT32 ファイル システムは、Windows 98、Windows 95 および Windows 2000 でのみサポートされています。

詳細

FAT について

FAT は Windows NT でサポートされている、最も単純化されたファイル システムです。FAT ファイル システムの特徴は、ファイル アロケーション テーブル (FAT) です。FAT は、ボリュームの "先頭" に実際に存在するテーブルです。ボリュームを保護するため、FAT のコピーが必ず 2 つ保存され、1 つが破損しても問題がないようになっています。また、FAT テーブルおよびルート ディレクトリは、システムのブート ファイルが正しく配置されるように、一定の場所に保存される必要があります。

FAT でフォーマットされたディスクは、クラスタに割り当てられます。このクラスタのサイズは、ボリュームの大きさによって決まります。ファイルが作成されると、ディレクトリにエントリが作成され、データを含む最初のクラスタ番号が発行されます。FAT テーブルのこのエントリは、このクラスタがファイルの最後のクラスタであることを示すか、最後でない場合は次のクラスタを指し示します。

FAT テーブルの更新は、処理に時間がかかりますが非常に重要です。FAT テーブルが定期的に更新されないと、データが失われる可能性があります。FAT テーブルの更新のたびに、ディスク読み込みヘッドをドライバの論理トラック "0" に移動する必要があるため、この処理には時間がかかります。

FAT のディレクトリ構造は体系化されておらず、ファイルにはドライブの最初の空き領域が与えられます。また、FAT では読み取り専用、隠しファイル、システム ファイル、およびアーカイブのファイル属性のみがサポートされています。

FAT の名前付け規則

FAT では従来の 8.3 ファイル名前付け規則が使用されており、ファイル名はすべて ASCII 文字セットで作成する必要があります。ファイルまたはディレクトリの名前は 8 文字まで設定することができ、ピリオド (.) を区切り文字に使用できます。また、3 文字までの拡張子を設定できます。名前の最初の 1 文字は文字または数字である必要があります。また、名前には以下の記号以外は何が含まれていてもかまいません。
   . " / \ [ ] : ; | = ,
				
上記のいずれかの文字を使用すると、予期しない結果になることがあります。名前にスペースを含めることはできません。

以下の名前は予約済みです。
   CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL
				
すべての文字は大文字に変換されます。

FAT の長所

Windows NT でサポートされているどのファイル システムでも、削除したファイルを復元することはできません。ファイル復旧ユーティリティでは、ハードウェアへの直接的なアクセスが試行されますが、Windows NT でこの動作を行うことはできません。ただし、ファイルが FAT パーティションに配置されている場合、システムを MS-DOS モードで再起動すると、削除したファイルを復元できます。FAT ファイル システムは、オーバーヘッドが非常に少ないため、200 MB 以下のドライブやパーティションでは FAT ファイル システムが最も適しています。FAT の長所に関する詳細については、次の資料を参照してください。
  • Microsoft Windows NT Server『コンセプト アンド プランニング ガイド』の「第 5 章 ファイルシステムの選択」
  • 『Microsoft Windows NT Workstation 4.0 リソース キット』の「第 18 章 ファイル システムの選択」
  • 『Microsoft Windows NT Server 4.0 リソース キット リソース ガイド』の「第 3 章 ボリュームに使用するファイル システムの選択」

FAT の短所

200 MB 以上のドライブまたはパーティションを使用する場合、ボリューム サイズが大きいほど FAT のパフォーマンスが低下するため、なるべく FAT ファイル システムを使用しないようにします。また、FAT パーティションのファイルにアクセス許可を設定することはできません。

Windows NT では FAT パーティションのサイズは最大 4 GB、また MS-DOS では 2 GB までに制限されています。制限の詳細については、「サポート技術情報」 (Microsoft Knowledge Base) の次の資料を参照してください。
文書番号 : 118335  (http://support.microsoft.com/kb/118335/ )
タイトル : FAT 16 ファイル システムを使用したパーティションの最大容量
FAT の短所に関する詳細については、次の資料を参照してください。
  • Microsoft Windows NT Server『コンセプト アンド プランニング ガイド』の「第 5 章 ファイルシステムの選択」
  • 『Microsoft Windows NT Workstation 4.0 リソース キット』の「第 18 章 ファイル システムの選択」
  • 『Microsoft Windows NT Server 4.0 リソース キット リソース ガイド』の「第 3 章 ボリュームに使用するファイル システムの選択」

HPFS について

HPFS ファイル システムは、当時市場に出回っていたより大容量のハード ディスクへの快適なアクセスを実現するために、OS/2 1.2 で初めて導入されました。新しいファイル システムには、ネットワーク サーバー市場の需要の拡大に対応する名前付けシステム、組織、およびセキュリティの拡張が必要でした。HPFS では FAT のディレクトリ体系が維持されていますが、ファイル名に基づいてディレクトリを自動的に並べ替えることができます。ファイル名は 254 文字 (2 バイト文字) まで拡張されています。また HPFS では、データおよび特別な属性によるファイルの構成が可能であるため、他の名前付け規則およびセキュリティに柔軟に対応できます。割り当ての単位は、クラスタから物理セクタ (512 バイト) に変更され、これにより、ディスク領域の消費量が減少します。

FAT に比べると、HPFS のディレクトリ エントリにはより多くの情報が保存されます。属性ファイルだけでなく、変更、作成、およびアクセス日時に関する情報が含まれます。HPFS のディレクトリ エントリでは、ファイルの最初のクラスタが指定されるのではなく、FNODE が指定されます。FNODE には、ファイルのデータ、ファイルのデータへのポインタ、または最終的にファイルのデータを指すその他の構造へのポインタが格納されます。

HPFS では、可能な限り、連続するセクタにファイルが配置されます。これは、ファイルを先頭から順に処理する際の処理速度を向上させるためです。

HPFS ではドライブが一連の 8 MB のバンドとして管理され、可能な場合はファイルは 1 つのバンド内に格納されます。これらのバンド間には、2 KB のアロケーション ビットマップがあり、バンド内のセクタの割り当て状況が記録されます。バンドごとに管理することにより、ファイルの格納場所を見つける際に、ドライブ ヘッドをディスクの論理的な先頭地点 (通常はシリンダ 0) に戻す必要がなく、最も近いバンド アロケーション ビットマップに戻すだけで済むため、パフォーマンスが向上します。

また、HPFS には、以下に示す、いくつかの一意かつ特殊なデータ オブジェクトが含まれています。

Super Block

Super Block は論理セクタ 16 に位置し、ルート ディレクトリの FNODE へのポインタが格納されます。HPFS の使用で最も注意すべき点は、不良セクタが原因で Super Block が喪失または破損すると、残りのドライブが無事であってもパーティションの内容も喪失または破損することです。セクタ 16 が正常な他のドライブにすべての内容をコピーし、Super Block を再構築することでドライブのデータを修復することは可能ですが、これは非常に複雑な作業です。

Spare Block

Spare Block は論理セクタ 17 に位置し、"ホット フィックス" の一覧および "Spare Directory Block" が格納されます。HPFS では、不良セクタが検出されると、不良セクタの変わりに既存の正常なセクタが論理的に指定されるように "ホット フィックス" エントリが使用されます。この書き込みエラーを処理する技法は、ホット フィックスと呼ばれます。

不良セクタが原因でエラーが発生した場合に、ファイル システムによって情報が別のセクタに移動され、元のセクタが "不良" とマークされることをホット フィックスと呼びます。これは、ディスク入出力を実行しているアプリケーションに対してすべて透過的に実行されます (つまり、アプリケーション側ではハード ドライブに問題があったことが認識されません)。ホット フィックスがサポートされているファイル システムを使用すると、不良セクタが存在する場合に表示される FAT の "中止、再試行、または失敗" などのエラー メッセージが表示されなくなります。

注 : Windows NT に含まれているバージョンの HPFS では、ホット フィックスはサポートされていません。

HPFS の長所

HPFS は 200 ~ 400 MB の範囲のドライブに最適です。HPFS の長所の詳細については、次の資料を参照してください。
  • Microsoft Windows NT Server『コンセプト アンド プランニング ガイド』の「第 5 章 ファイルシステムの選択」
  • 『Microsoft Windows NT Workstation 4.0 リソース キット』の「第 18 章 ファイル システムの選択」
  • 『Microsoft Windows NT Server 4.0 リソース キット リソース ガイド』の「第 3 章 ボリュームに使用するファイル システムの選択」

HPFS の短所

HPFS で発生するオーバーヘッドのため、200 MB 程度を下回るボリュームではあまり効率が良いとは言えません。また、400 MB を超えるボリュームではパフォーマンスが低下することがあります。Windows NT では、HPFS にセキュリティを設定することはできません。

HPFS は、Windows NT 3.1、3.5、および 3.51 でのみサポートされています。Windows NT 4.0 では、HPFS パーティションにアクセスできません。

HPFS の短所の関連情報については、次の資料を参照してください。

  • Microsoft Windows NT Server『コンセプト アンド プランニング ガイド』の「第 5 章 ファイルシステムの選択」
  • 『Microsoft Windows NT Workstation 4.0 リソース キット』の「第 18 章 ファイル システムの選択」
  • 『Microsoft Windows NT Server 4.0 リソース キット リソース ガイド』の「第 3 章 ボリュームに使用するファイル システムの選択」

NTFS について

ユーザーから見れば、NTFS では、HPFS と同様にファイルがディレクトリごとに管理され、保存されます。しかし、FAT や HPFS とは異なり、ディスクには特殊なオブジェクトはなく、また 512 バイトのセクタなど、使用されているハードウェアに依存することもありません。また、ディスクには FAT テーブルまたは HPFS Super Blocks など、特殊な場所も存在しません。

NTFS の目的を以下に示します。
  • (特にハイエンド システムおよびファイル サーバーで必要とされる) 信頼性の提供
  • 追加機能のためのプラットフォームの提供
  • POSIX の仕様の準拠
  • FAT および HPFS ファイル システムの制限の解除

信頼性

NTFS の信頼性を保証するために、回復性、致命的な単一のセクタ エラーの削除、およびホット フィックスという 3 つの主要な分野について対応が講じられました。

NTFS は、ファイル システムに対するトランザクションが追跡される、回復可能なファイル システムです。FAT または HPFS で CHKDSK が実行されると、ディレクトリ テーブル、アロケーション テーブル、およびファイル テーブル内のポインタの整合性がチェックされます。NTFS では、これらのコンポーネントに対するトランザクションのログが保持されているため、CHKDSK では、最後にコミットされた状態までトランザクションをロールバックするだけで、ファイル システムの整合性を回復することができます。

FAT または HPFS では、ファイル システムの特殊なオブジェクトの 1 つが存在するセクタでエラーが発生すると、単一のセクタ エラーが発生します。NTFS では、2 つの方法によりこのエラーの発生が回避されます。1 つ目は、ディスク上で特殊なオブジェクトが使用されないことと、ディスク上のすべてのオブジェクトが追跡および保護されることです。2 つ目は、マスタ ファイル テーブルのコピーが複数 (数量はボリューム サイズに依存します) 保存されることです。

OS/2 でサポートされているバージョンの HPFS と同様、NTFS でもホット フィックスがサポートされています。

機能追加

あらゆるレベルで、Windows NT の設計上の主要な目的の 1 つとなっているのは、さまざまな追加が可能で、基盤となるプラットフォームを提供することであり、NTFS もその例外ではありません。NTFS は、他のファイル システムでも使用できる、柔軟性のある優れたプラットフォームを提供します。また、NTFS では、Windows NT セキュリティ モデルおよび複数のデータ ストリームが完全にサポートされています。NTFS 以前のファイル システムとは異なり、NTFS ではデータ ファイルを構成するデータ ストリームは 1 つだけではありません。また、NTFS では、ユーザーが独自に定義した属性をファイルに追加することもできます。

POSIX のサポート

NTFS は以下の POSIX.1 の要件を満たしており、サポートされている中でも、POSIX.1 への準拠の度合いの高いファイル システムです。

名前付けにおける大文字と小文字の区別 :

POSIX では、README.TXT、Readme.txt、および readme.txt はすべて別のファイルとして扱われます。

追加のタイム スタンプ :

ファイルが最後にアクセスされた時間を記録するためのタイム スタンプが追加されています。

ハード リンク :

ハード リンクとは、別のディレクトリにある別のファイル名から同じデータにアクセスできるようにするしくみです。

制限の解除

まず、NTFS では、ファイルとボリュームのサイズが大幅に拡大され、現在は 2 の 64 乗バイト (16 エクサバイトまたは 18,446,744,073,709,551,616 バイト) まで使用できます。また NTFS では、HPFS の固定セクタ サイズの問題を避けるために、FAT のクラスタの概念を採用しています。これは、Windows NT は移植性の高いオペレーティング システムであり、将来別のディスク技術が導入される可能性があるためです。1 セクタ = 512 バイトでは、割り当てのオーバーヘッドが大きく、適切でない可能性が高いと考えられていました。この課題は、さまざまなハードウェアで自然な割り当てのサイズをクラスタとして定義できるようにすることで解決されています。また、NTFS ではファイル名はすべて Unicode ベースであり、また長いファイル名だけではなく 8.3 ファイル名も残されています。

NTFS の長所

NTFS は 400 MB 以上のボリュームに最適です。FAT とは異なり、NTFS ではボリューム サイズが大きい場合にパフォーマンスが低下することはありません。

NTFS の仕様に組み込まれた回復機能により、ユーザーはディスク修復ユーティリティなどを NTFS パーティションで実行する必要がありません。その他の NTFS の長所については、次の資料を参照してください。
  • Microsoft Windows NT Server『コンセプト アンド プランニング ガイド』の「第 5 章 ファイルシステムの選択」
  • 『Microsoft Windows NT Workstation 4.0 リソース キット』の「第 18 章 ファイル システムの選択」
  • 『Microsoft Windows NT Server 4.0 リソース キット リソース ガイド』の「第 3 章 ボリュームに使用するファイル システムの選択」

NTFS の短所

領域に占めるオーバーヘッドの割合から、NTFS は、およそ 400 MB 以下のボリュームで使用することはお勧めできません。このオーバーヘッドは、NTFS システム ファイルという形で存在し、通常、100 MB のパーティションに対して少なくとも 4 MB のドライブ領域が使用されます。

現在、NTFS にはファイルの暗号化が組み込まれていないため、第三者が MS-DOS またはその他のオペレーティング システムを起動し、低レベルのディスク編集ユーティリティを使用して NTFS ボリュームに保存されているデータを参照できる可能性があります。

フロッピー ディスクを NTFS ファイル システムでフォーマットすることはできません。NTFS で発生するオーバーヘッドはフロッピー ディスクに適さないため、Windows NT ではフロッピー ディスクはすべて FAT ファイル システムでフォーマットされます。

NTFS の短所に関する詳細については、次の資料を参照してください。
  • Microsoft Windows NT Server『コンセプト アンド プランニング ガイド』の「第 5 章 ファイルシステムの選択」
  • 『Microsoft Windows NT Workstation 4.0 リソース キット』の「第 18 章 ファイル システムの選択」
  • 『Microsoft Windows NT Server 4.0 リソース キット リソース ガイド』の「第 3 章 ボリュームに使用するファイル システムの選択」

NTFS の名前付け規則

ファイルおよびディレクトリ名には、拡張子を含めて 255 文字まで設定することができます。名前には大文字と小文字を使用できますが、区別されません。NTFS では、ファイル名の大文字と小文字は区別されません。名前には、次の記号を除くすべての文字を使用できます。
   ?  "  /  \  <  >  *  |  :
				
現在、コマンド ラインからファイル名を作成する場合は、253 文字までしか使用できません。

: いずれのファイル システムにおいても、使用しているハードウェアの制限により、パーティションのサイズにさらに制限が加わる可能性があります。特に、ブート パーティションのサイズは 7.8 GB までであり、パーティション テーブルは 2 TB (テラバイト) という制限があります。

Windows NT でサポートされているファイル システムの詳細については、Windows NT リソース キットを参照してください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 100108  (http://support.microsoft.com/kb/100108/EN-US/ ) (最終更新日 2005-01-26) を基に作成したものです。

この資料は以下の製品について記述したものです。
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
キーワード: 
kbfaq kbother KB100108
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
 

サポート技術情報の翻訳

 

製品別 サポート ページ