日本語
英語

文書番号: 174619 - 最終更新日: 2007年11月2日 - リビジョン: 5.0

NTFS でマスタ ファイル テーブル (MFT) 用の領域を予約する方法

この記事は、以前は次の ID で公開されていました: JP174619
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986  (http://support.microsoft.com/kb/256986/ ) Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

概要

NTFS ファイル システムには、その中核にマスタ ファイル テーブル (MFT) と呼ばれるファイルがあります。MFT には、MFT ファイルを含めた、NTFS ボリューム上の各ファイルに対応するエントリが少なくとも 1 つずつ含まれています。

NTFS ボリュームを最適化するユーティリティでは MFT エントリを移動することはできません。また、MFT の断片化が過度に進むと、パフォーマンスに影響を及ぼします。このため、NTFS では、MFT のサイズが大きくなっても可能な限り連続した領域を使用するように、MFT 用の領域が予約されています。

詳細

NTFS では、MFT エントリを使用して、対応するファイルが定義されます。サイズ、日付と時刻、アクセス許可、およびデータの内容など、ファイルに関するすべての情報は、MFT エントリに格納されるか、MFT エントリに記録されたうえで MFT 外部の領域に格納されます。

(MFT 外部のディレクトリ エントリには、ファイルに関する冗長な情報も含まれていますが、NTFS の構造に関する詳しい説明については、この資料では扱っていません。)

NTFS ボリュームにファイルが追加されると、MFT にエントリが追加されるため MFT のサイズが大きくなります。NTFS ボリュームからファイルが削除されると、そのファイルに対応する MFT エントリは空き領域として記録され再利用されます。しかし、MFT のサイズは小さくなりません。このため、エントリに使用された領域はディスクから解放されません。

NTFS にとって MFT は重要なファイルであり、また、MFT ファイルで過度の断片化が発生するとパフォーマンスに影響を及ぼすため、NTFS では MFT ファイルの断片化を防止するために特別な処理をしています。NTFS では、残りのボリュームがすべて使い果たされない限り、ボリュームの 12.5% が MFT 専用の領域として予約されます。このため、他の領域がすべて割り当てられるまで、ファイルおよびディレクトリの領域として、この MFT ゾーンは割り当てられません。

: Windows NT 4.0 Service Pack 4 では、NtfsMFTZoneReservation レジストリ キーを変更して、ボリュームを増やすことができます。

MFT の詳細については、以下の Microsoft Technet Web サイトの「ディスク最適化プロセスの重要な要素」を参照してください。
http://www.microsoft.com/japan/technet/prodtechnol/windows2000serv/maintain/optimize/w2kexec.mspx (http://www.microsoft.com/japan/technet/prodtechnol/windows2000serv/maintain/optimize/w2kexec.mspx)
平均的なファイル サイズやその他の変数に応じて、ディスク上の予約された MFT ゾーンまたは予約されていない領域のどちらか一方が最大容量に達するまで、その領域が使用されます。

比較的サイズの大きなファイルが少数含まれるボリュームでは、予約されていない領域が先に使い果たされます。一方、比較的サイズの小さなファイルが多数含まれるボリュームでは、MFT ゾーンが先に使い果たされます。いずれの場合も、どちらか一方の領域が最大容量に達すると MFT の断片化が始まります。予約されていない領域がいっぱいになると、ユーザー ファイルおよびディレクトリ用の領域は MFT ゾーンから割り当てられるようになり、割り当てで MFT と競合します。MFT ゾーンがいっぱいになると、新しい MFT エントリ用の領域はディスク上の残りの領域から割り当てられるようになり、ここでも他のファイルとの競合が発生します。

Windows NT 4.0 Service Pack 4 では、新しいレジストリ パラメータが導入されました。このパラメータを使用すると、NTFS でマスタ ファイル テーブル用に予約されるボリュームの割合を増やすことができます。NtfsMftZoneReservation は 1 から 4 までの値を持つ REG_DWORD 値です。1 は MFT ゾーンの最小サイズに相当し、4 は最大サイズに相当します。パラメータが指定されていない場合、または無効な値が設定されている場合は、NTFS ではこのパラメータに対してデフォルトの値 1 が使用されます。各設定に対応する正確な割合は標準化されておらず、将来のリリースで変更される可能性があるため、文書化されていません。使用している環境に最適な設定を確認するには、別の値を設定して試してみることが必要な場合があります。

Windows NT ベースのコンピュータで、現在の MFT サイズを確認するには、NTFS ボリュームで dir /a $mft コマンドを入力します。

Microsoft Windows 2000 ベースのコンピュータで、現在の MFT サイズを確認するには、ディスク デフラグ ツールを使用して NTFS ドライブを分析し、[レポートの表示] をクリックします。現在の MFT サイズや断片の数など、ドライブの統計情報が表示されます。

Windows 2000 ディスク デフラグ ツールを使用すると、"システム ファイル" と呼ばれる領域が "緑" で表示されます。これは単純に、NTFS でフォーマットされたボリューム上の MFT、pagefile.sys (このボリュームに存在する場合)、および "MFT ゾーン" と呼ばれる領域または "MFT 拡張" 用に予約された領域を合わせたものです。最適化のレポートには、ページファイルと MFT の情報のみが表示されます。ディスクの使用率や容量にはツールによる影響がないため、このレポートには MFT ゾーンに関する情報は示されません。

MFT ゾーンは、ユーザー データ ファイル用に使用される利用可能 (空き) 領域に含まれており、単に最後に使用される領域として指定されています。たとえば、新しいファイルおよびディレクトリを作成したときなど、MFT のサイズを増やす必要がある場合は、MFT ゾーンから先に割り当てられるため、MFT の断片化が減少し、MFT のパフォーマンスが最適化されます。

デフォルトの MFT ゾーンは、ボリュームがマウントされるときに、ボリュームのサイズを基に Ntfs.sys ファイルによって計算され予約されます。この資料の後半に記載されている手順に従って、レジストリ エントリを変更すると、MFT ゾーンを増やすことができます。ただし、Ntfs.sys によって計算された値よりも小さい値を MFT ゾーンのデフォルト値にすることはできません。MFT ゾーンを増やしても、データ ファイル用にユーザーが使用できるディスク領域は減少されません。

: dir コマンドで返される結果は、最新の値ではない場合があります。正常にシャットダウンされた後にシステムを起動したときの MFT のサイズが反映されているキャッシュ データが、dir コマンドで報告されるサイズに反映されることがあります。

警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

この値を追加するには、次の手順を実行します。
  1. レジストリ エディタ (Regedt32.exe) を実行し、次のサブキーに移動します。
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
  2. [編集] メニューの [値の追加] をクリックします。
  3. ダイアログ ボックスに、次の情報を入力します。
    値の名前 : NtfsMftZoneReservation
    データ型 : REG_DWORD
    データ : (有効範囲は 1 ~ 4)
  4. レジストリ エディタを終了し、コンピュータを再起動します。
: このパラメータは実行時パラメータであり、実際のボリュームのフォーマットには影響しません。このパラメータは、NTFS で、システム上のすべてのボリュームに領域を割り当てる方法に影響を与えます。このため、効果を完全に維持するには、ボリュームのフォーマット時からボリュームの使用期間中ずっと、パラメータを有効にしておく必要があります。レジストリ パラメータが小さい数値に調整されたり削除されたりすると、それに応じて MFT ゾーンが減少されます。ただし、既に割り当てられ、使用されている MFT 領域には影響はありません。

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

サポート技術情報の翻訳

 

製品別 サポート ページ