NTFS ディスク上の MFT をデフラグするにはどうすればよいですか?

NTFS ディスク上の MFT をデフラグするにはどうすればよいですか?

しばらく前に、ハード ドライブがほぼいっぱいになりました。推奨される最大容量の 85% をはるかに超えています。NTFS はマスター ファイル テーブル (MFT) 用に予約されたスペースにファイルを保存するようになり、MFT はサイズが大きくなるにつれて他の場所で断片化する必要があったのだと思います。
ハード ドライブのスペースを空けましたが、MFT は断片化されたままのようで、フォルダーや小さなファイルを開くなどの非常に単純な操作でもディスク アクセスが遅くなります。これがパフォーマンスを低下させています。Windows の標準ディスク デフラグ ツールは、オペレーティング システムの実行中に MFT が使用されているため、MFT をデフラグしないことを覚えています。私は Vista Ultimate を実行していますが、そのデフラグ ユーティリティには、以前のバージョンよりもレポートがほとんどありません。

解決策としては、基本的な OS が収録された光ディスク (「Live CD」) から起動し、そこからデフラグ ユーティリティを実行することが考えられます。どのプログラムを使用すればよいか、または MFT をデフラグする方法を教えていただけますか?

ありがとう!

答え1

Sysinternalsツールを使うことができますコンティグ:

contig.exe c:\$mft

答え2

Auslogics ディスクデフラグプロがこれを実現します。無料のプログラムではありませんが、無料試用版をダウンロードできます。ライセンスを購入すると、最大 3 台の PC で使用できます。

ウルトラデフラグ無料で強力なフォスWindows プラットフォーム用のデフラグ ツールです。レジストリ ハイブやページング ファイルを含むあらゆるシステム ファイルをデフラグできます。MFT のみを処理する MFT 最適化機能も備えています。

答え3

これまでで最高のツールは、古い JKdefrag ですが、現在は Mydefrag です。MFT をデフラグします。しかも無料です。

元のサイトはダウンしていますが、最新バージョンを入手できるソースはここにあります:https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

編集

Windows デフラグ APIMyDefrag で使用される は、MFT のデフラグをサポートします。

以下は、FSCTL_MOVE_FILE によって「filename:streamname:$typename」形式でサポートされるシステム ファイル、ストリーム、およびストリーム タイプです。

$MFT::$DATA $MFT::$ATTRIBUTE_LIST $MFT::$BITMAP

そしてMyDefragのスクリプトドキュメント:

Inode   Filename    Description
0   $MFT    Master File Table - An index of every file.
1   $MFTMirr    A backup copy of the first 4 records of the MFT.
2   $LogFile    Transactional logging file.
3   $Volume Serial number, creation time, dirty flag.
4   $AttrDef    Attribute definitions.
6   $Bitmap Contains volume's cluster map (in-use vs. free).
7   $Boot   Boot record of the volume.
8   $BadClus    Lists bad clusters on the volume.
9   $Quota  [Windows NT only] Quota information.
9   $Secure Security descriptors used by the volume.
10  $UpCase Table of uppercase characters used for collating.
11  $Extend A directory for: $ObjId, $Quota, $Reparse, $UsnJrnl.
$Extend\$ObjId  Unique Ids given to every file.
$Extend\$Quota  Quota information.
$Extend\$Reparse    Reparse point information.
$Extend\$UsnJrnl    USN Journal.
$Extend\$RmMetadata Transactional data.

ライブCDでは動作しませんが、バートPEまたは究極の Windows ブート CD

しかし、MFT をデフラグするにはどちらも必要ありません。

答え4

これは古いスレッドだとはわかっていますが、古いシステムを扱うのが私の仕事です。私はオープンソースプロジェクトをリリースしています。https://github.com/DHorse2/TaylorDo誰でもこの MyDefrag ライブラリを使用したり、貢献したりすることができます。

MFT の移動とデフラグは、正常に実行されているシステムで実行されます。ただし、いくつかの $xxx とシステム ファイルがあり、それらを移動すると機能が失敗します。復元ポイントがその最たる例です。

TaylorDo 製品のポイントは、他の製品が起動のみを最適化する傾向があるのに対し、システム起動後に最高のパフォーマンスを提供することです。

編集 20240315: このプロジェクトは、最終リリースの前にマイナーなクリーンアップが必要です (スケジューラの有効化/無効化)。オープンのままにしておきます。

関連情報