NTFS ボリューム上のディスク領域の問題を特定して修正する方法

文書翻訳 文書翻訳
文書番号: 303079 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

NTFS ではボリューム レベルおよびファイル レベルのさまざまな機能がサポートされていますが、これらの機能により、ディスクの空き領域が失われることや、空き領域のサイズが正常に報告されないなどの問題が発生することがあります。たとえば、NTFS ボリュームが理由もなく突然いっぱいになり、管理者が原因を特定できない、または問題のあるフォルダおよびファイルを特定できない場合があります。これは、NTFS ボリュームに対して無効なアクセスや許可されていないアクセスが行われ、サイズの大きなファイル (またはサイズは小さくても膨大な数のファイル) が許可なくコピーされた場合に発生する可能性があります。その後、これらのファイルの NTFS アクセス許可が削除されたり制限されたりします。この現象がコンピュータの故障や停電の後に発生し、ボリュームが破損する原因となることもあります。

この資料では、NTFS ファイル システムのディスク領域の割り当てをチェックすることによって、問題のあるファイルやフォルダを検出し、ボリュームが破損していないかどうかを確認する方法について説明します。この資料は、高度な保存機能およびトラブルシューティング方法をサポートしている Windows 2000 以降のオペレーティング システムを対象としていますが、Windows NT のユーザーにも役立つ場合があります。NTFS ボリュームのディスク領域の割り当てが正常に報告されない理由を以下に示します。
  • 格納されているファイルの平均的なサイズに対して、NTFS ボリュームのクラスタ (アロケーション ユニット) のサイズが大きすぎる。
  • ファイルの属性または NTFS アクセス許可が原因で、エクスプローラまたはコマンド プロンプトでファイルやフォルダの表示またはアクセスができない。
  • フォルダのパスが 255 文字を超えている。
  • フォルダまたはファイルに、無効なファイル名または予約済みのファイル名が含まれている。
  • NTFS メタファイル (マスタ ファイル テーブルなど) のサイズが大きくなり、割り当てを解除できない。
  • ファイルまたはフォルダに代替データ ストリームが含まれている。
  • NTFS ファイル システムの破損によって、空き領域が使用中と報告される。
  • その他の NTFS 機能によって、使用領域を正確に把握できない。

詳細

以下の情報は、NTFS ボリューム上のディスク領域の使用方法を最適化、修復、または理解する際に役立ちます。

クラスタ サイズが大きすぎる

ディスク領域は、マスタ ファイル テーブル (MFT) やフォルダ インデックスなど、内部 NTFS メタファイルを含むファイルおよびフォルダによってのみ消費されます。ファイル領域の割り当ては常にクラスタ単位で行われます。クラスタは連続したセクタの集まりです。クラスタ サイズは、ボリュームのフォーマット時に、パーティション サイズによって決定されます。

クラスタの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
140365 [NT]FAT および NTFS のデフォルトのクラスタサイズ
ファイルが作成されると、最初のファイル サイズに応じて、少なくともクラスタ 1 個分のディスク領域が消費されます。後でファイルにデータが追加されると、NTFS はファイルの割り当てをクラスタ サイズの倍数分増やします。

現在のクラスタ サイズとボリューム統計情報を確認するには、コマンド プロンプトから chkdsk コマンドを読み取り専用モードで実行します。たとえば、以下のコマンドを使用します。
Chkdsk D:
結果の出力を確認します。以下に例を示します。
  19912567 KB : 全ディスク領域 <--- フォーマット済み合計ディスク容量。
  14070420 KB : 62704 個のファイル <--- ユーザーのファイル データの使用領域。
      22508 KB : 3982 個のインデックス <--- NTFS インデックスの使用領域。
          0 KB : 不良セクタ <--- 不良セクタとして失われている領域。
    175427 KB : システムで使用中 <--- MFT およびその他の NTFS メタファイルを含みます。
     65536 KB : ログ ファイルが使用 <--- NTFS ログ ファイル (chkdsk /L:size を使用して調節可能)。
   5644212 KB : 使用可能領域 <--- 使用可能な空きディスク領域。

       4096 バイト : アロケーション ユニット サイズ  <--- クラスタ サイズ (4K)。
   4978141 個     : 全アロケーション ユニット <--- ディスク上のクラスタの総数
   1411053 個     : 利用可能アロケーション ユニット <--- 使用可能な空きクラスタの数
				
: KB (キロバイト) で報告されたそれぞれの値に 1,024 を掛けて、正確なバイト数を確認します。たとえば、報告されたサイズが 2,906,360 KB の場合、2,906,360 x 1,024 = 2,976,112,640 バイトとなります。

この出力から、ディスク領域の使用状況とデフォルトのクラスタ サイズを判定します。これが最適なクラスタ サイズであるかどうかを判定するには、以下の手順を実行して、ディスク上の余分な領域を確認します。
  1. デスクトップの [マイ コンピュータ] をダブルクリックし、次に、該当するボリュームのドライブ文字 (D など) をダブルクリックします。

    ボリュームが開き、ルートに含まれるフォルダおよびファイルが表示されます。
  2. 任意のファイルまたはフォルダをクリックし、[編集] メニューの [すべて選択] をクリックします。
  3. すべてのファイルおよびフォルダを選択した状態で、任意のファイルまたはフォルダを右クリックし、[プロパティ] をクリックします。

    [全般] タブを含む [プロパティ] ダイアログ ボックスが開きます。[全般] タブには、ボリューム全体のファイル数およびフォルダ数が表示され、"サイズ" と "ディスク上のサイズ" の 2 種類のファイル サイズ統計情報が表示されます。
ボリューム上のどのファイルまたはフォルダでも NTFS 圧縮を使用していない場合、クラスタ サイズは実際に必要なサイズより大きくなります。このとき、サイズとディスク上のサイズの違いが余分な領域に相当します。最適なクラスタ サイズを使用して、ディスク上のサイズをサイズにできる限り近づけます。ディスク上のサイズとサイズが大きく異なる場合は、ボリューム上に格納されている平均的なファイル サイズに対してデフォルトのクラスタ サイズが大きすぎるため、これを小さくする必要があります。クラスタ サイズを変更するには、ボリュームを再フォーマットする以外に方法はありません。これを行うには、ボリュームをバックアップし、format コマンドと /a スイッチを使用して適切な割り当てサイズを指定し、ボリュームを再フォーマットします。たとえば、次のコマンドを実行します。
format D: /a:2048
(この例では、2 KB のクラスタ サイズを使用しています。)

: NTFS 圧縮を有効にすることにより、不適切なクラスタ サイズによって失われた領域を取り戻すことができます。ただし、NTFS 圧縮を有効にすると、パフォーマンスが低下する場合があります。

ファイル属性または NTFS アクセス許可

エクスプローラおよびディレクトリ表示コマンド
DIR /A /S
を実行すると、アクセス許可を持つファイルおよびフォルダについてのみファイルおよびフォルダの統計情報が表示されます。デフォルトでは、隠しファイルと保護されたオペレーティング システム ファイルは統計から除外されます。このため、エクスプローラまたは DIR コマンドで表示されるファイルまたはフォルダの総数とサイズの統計情報が実際と異なる場合があります。隠しファイルと保護されたオペレーティング システム ファイルを全体の統計情報に含めるには、以下の手順を実行してフォルダ オプションを変更します。
  1. デスクトップの [マイ コンピュータ] をダブルクリックし、次に、該当するボリュームのドライブ文字 (D) をダブルクリックします。ボリュームが開き、ルートに含まれるフォルダおよびファイルが表示されます。
  2. [ツール] メニューの [フォルダ オプション] をクリックし、[表示] タブをクリックします。
  3. [すべてのファイルとフォルダを表示する] をクリックし、[保護されたオペレーティング システム ファイルを表示しない (推奨)] チェック ボックスをオフにします。
  4. 警告メッセージの内容を確認して [はい] をクリックし、[フォルダ オプション] ダイアログ ボックスの [適用] をクリックします。
この変更により、エクスプローラと DIR /A /S コマンドで、ボリューム上でアクセス許可を持つすべてのファイルおよびフォルダの合計が計算されます。

アクセスできないフォルダおよびファイルを確認するには、以下の手順を実行します。
  1. コマンド プロンプトから、DIR /A /S の出力をテキスト ファイルに書き込みます。

    コマンド例 : DIR D: /A /S >C:\D-DIR.TXT
  2. Windows バックアップ (ntbackup.exe) を起動します。
  3. [ツール] メニューの [オプション] をクリックします。
  4. [バックアップのログ] タブの [詳細] をクリックし、[OK] をクリックします。

    詳細なログ記録が有効になります。
  5. [バックアップ] タブをクリックし、対象となるボリューム全体 (D) のチェック ボックスをオンにして、バックアップを開始します。
  6. バックアップが完了したら、バックアップ レポートを開き、バックアップ レポートに出力されたフォルダと、手順 1. で保存した D-DIR.TXT に出力されたフォルダを比較します。
バックアップではすべてのファイルにアクセスできるため、エクスプローラおよび DIR コマンドで表示またはカウントされないフォルダおよびファイルがバックアップ レポートに含まれる場合があります。エクスプローラでアクセスできない大容量のファイルまたはフォルダを検索する場合は、Windows バックアップの GUI を使用して、ボリュームのバックアップを行わずにボリュームを検索する方が簡単な場合があります。

アクセスできないファイルを確認したら、エクスプローラでファイルまたはフォルダのプロパティを表示し、[セキュリティ] タブを使用してアクセス許可を追加または変更できます。デフォルトでは、System Volume Information フォルダにはアクセスできません。適切なアクセス許可を追加して、DIR /A /S コマンドにフォルダを含める必要があります。

: フォルダまたはファイルによっては、[セキュリティ] タブが表示されないことがあります。また、影響を受けるフォルダおよびファイルのアクセス許可の割り当てを変更できないことがあります。そのようなフォルダやファイルにアクセスしようとすると、以下のエラー メッセージが表示される場合があります。
D:\directory_name\ にアクセスできません。

アクセスが拒否されました。
そのようなフォルダがある場合は、追加のサポートについて Microsoft Product Support Services までお問い合わせください。下記のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/

無効なファイル名

無効なファイル名または予約済みのファイル名を含むフォルダまたはファイルは、ファイルおよびフォルダの統計情報から除外される場合があります。NTFS ファイル システムでは、空白文字が先頭にあるファイル名またはフォルダ名、および空白文字が末尾にあるフォルダ名またはファイル名は有効ですが、Win32 サブシステムから見ると、それらは有効ではありません。そのため、エクスプローラとコマンド プロンプトでは、そのようなファイルを確実に処理できません。

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
120716 Windows NT で予約された名前のファイルを削除する方法
多くの場合、これらのファイルまたはフォルダの名前の変更または削除はできません。変更または削除を行うとき、以下のいずれかのエラー メッセージが表示される場合があります。
ファイルまたはフォルダ名の変更エラー

file の名前を変更できません。送り側のファイルまたはディスクから読み取れません。
または
ファイルまたはフォルダの削除エラー

file を削除できません。送り側のファイルまたはディスクから読み取れません。
削除または名前を変更できないフォルダまたはファイルがある場合は、Microsoft Product Support Services までお問い合わせください。下記のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/

NTFS マスタ ファイル テーブル (MFT) の拡張

NTFS ボリュームを作成してフォーマットすると、NTFS メタファイルが作成されます。これらのメタファイルの 1 つは、マスタ ファイル テーブル (MFT) と呼ばれます。MFT は作成時には容量が非常に小さく (約 16 KB)、ボリューム上にファイルおよびフォルダが作成されるにつれて大きくなります。ファイルが作成されると、ファイル レコード セグメント (FRS) として MFT に入力されます。FRS は常に 1,024 バイト (1 KB) です。ボリュームにファイルが追加されるにつれて、MFT のサイズは大きくなります。ただし、ファイルが削除されると、関連付けられた FRS は再使用のために空きとしてマークされますが、FRS の総数および関連する MFT の割り当てはそのまま残ります。大量のファイルを削除した後に MFT によって使用される領域が元に戻らないのはこのためです。

MFT のサイズを正確に確認するには、ビルトインのディスク デフラグ ユーティリティを使用して、ボリュームを分析します。結果のレポートには、MFT のサイズと断片の数に関する詳細な情報が表示されます。

:

マスタ ファイル テーブル (MFT) の断片化
	全体の MFT サイズ =        26,203 KB
	MFT レコード数 =      21,444
	MFT 使用率 =    81 %
	MFT 断片の総数 =   4
				
ただし、NTFS ファイル システム全体で使用されている領域 (オーバーヘッド) を詳細に確認するには、chkdsk を実行し、結果の出力で次の行を探します。
システムで使用中
現時点では、MFT の未使用の FRS レコードを統合して MFT に割り当てられている未使用の領域を再利用可能にするには、サードパーティのデフラグ ユーティリティを使用する必要があります。

代替データ ストリーム

NTFS では、ファイルおよびフォルダに代替データ ストリームを含めることができます。この機能を使用すると、複数のデータ割り当てを 1 つのファイルまたはフォルダに関連付けることができます。ファイルおよびフォルダで代替データ ストリームを使用する場合には、以下の制限があります。

ファイルまたはフォルダに代替データ ストリームが含まれる場合

  • エクスプローラおよび DIR コマンドでは、報告されるファイル サイズまたはボリューム統計に代替データ ストリームのデータは含まれません。プライマリ データ ストリームの合計バイト数のみが表示されます。
  • chkdsk からの出力では、代替データ ストリームを含め、ユーザーのデータ ファイルによって使用されている領域が正確に報告されます。
  • ディスク クォータでは、ユーザーのデータ ファイルの一部であるすべてのデータ ストリーム割り当てが追跡され、報告されます。
  • Windows バックアップ (ntbackup.exe) では、バックアップされたバイト数がバックアップ ログ レポートに出力されます。ただし、代替データ ストリームがどのファイルに含まれるかは示されません。また、代替ストリームのデータを含むファイルの正確なファイル サイズも示されません。


NTFS ファイル システムの破損

環境によっては、まれに NTFS メタファイルの $MFT または $BITMAP が破損し、ディスク領域が失われる場合があります。ボリュームに対して chkdsk /F コマンドを実行することにより、この問題を特定し、修正できます。$BITMAP を調整しなければならない場合は、chkdsk の処理が終了するまでに以下のメッセージが表示されます。
マスタ ファイル テーブル (MFT) の BITMAP 属性エラーを修復します。
CHKDSK はボリューム ビットマップに割り当て済みとしてマークされている空き領域を検出しました。
ファイル システムを修正しました。

使用領域の正確な把握を妨げる NTFS 機能

NTFS では、ボリューム マウント ポイントとディレクトリ ジャンクションを作成するためのハード リンクおよび再解析ポイントをサポートしています。これらの NTFS 追加機能が原因で、物理ボリュームで消費されている領域のサイズを正確に取得できないことがあります。

ハード リンクは、実際のファイル データがそのボリューム上のどこに割り当てられていても、ファイルのディレクトリ エントリとなります。どのファイルも、少なくとも 1 つのハード リンクを持っています。NTFS ボリュームでは、各ファイルが複数のハード リンクを持つことがあるため、1 つのファイルが多くのフォルダ (または、異なる名前で同じフォルダ内) に表示される場合があります。すべてのリンクが同じファイルを参照するため、プログラムはいずれかのリンクを開いて、ファイルを変更できます。すべてのリンクが削除された後で初めて、ファイルがファイル システムから削除されます。作成したハード リンクは、他のファイル名と同様にプログラムで使用できます。リンクしたすべてのファイルが同じデータを共有していて、実際にその容量のディスク領域を使用していなくても、エクスプローラおよびコマンド プロンプトではすべてのファイルが同じサイズとして表示されます。

ボリューム マウント ポイントとディレクトリ ジャンクションを使用することにより、NTFS ボリューム上の空のフォルダから他のボリューム上のルートまたはサブフォルダを参照できます。エクスプローラおよび DIR /s コマンドでは、再解析ポイントが追跡され、対象のボリューム上のファイルおよびフォルダがカウントされ、それらのデータがホスト ボリュームの統計情報に含まれます。このため、ホスト ボリューム上で実際に使用されている領域が統計情報に示されている領域より少ない場合があります。 接合点の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
205524 NTFS 接合点の作成と操作の方法
要約すると、ボリュームのディスク領域の使用状況を確認するには、chkdsk の出力、Windows バックアップ (ntbackup.exe) の GUI とバックアップ ログ、およびディスク クォータを利用できます。ただし、エクスプローラおよび DIR コマンドをこの目的で使用する場合は、いくつかの制限と問題点があります。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 303079 (最終更新日 2004-03-01) を基に作成したものです。

プロパティ

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

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com