NTFSディスクでMFTを最適化するにはどうすればよいですか?


28

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

ソリューションには、基本OS(「ライブCD」)を備えた光ディスクから起動し、そこから最適化ユーティリティを実行することが含まれるのではないかと疑っています。誰がどのプログラムを使用するか、またはMFTを最適化する方法を教えてもらえますか?

ありがとう!


1
無料ではありませんが、これはDisckeeperで処理できることを知っています。
ゾレダチェ

回答:


35

SysinternalsツールContigを使用できます。

contig.exe c:\$mft

2
私のために働かなかった。UltimateDefragは、非システムパーティションからの$ MFTが断片化されていることを示していますが、contigは「すべてのファイルはすでに最適化されているか、最適化できない」と言います。とにかく、そこに$ MFTが存在する理由が本当にわかりません。
ユーリジェンセフ

15

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

Ultradefragは、Windowsプラットフォーム用の無料で強力なFOSSデフラグツールです。レジストリハイブやページングファイルなどのシステムファイルを最適化できます。MFTのみを処理するMFT最適化が含まれています。


3
+1 ウルトラデフラグは頑固な$ MFTで奇跡を起こしたが、それでもContig(ここで非常に多くの賛成票を得た)敗北することはできなかった
BornToCode

@BornToCode UltradefragがMFTを最適化するときにファイルをパーティションの最後に移動しないようにする方法はありますか?
RockPaperLizard

1
@RockPaperLizard-わかりませんが、これらの少数のファイルを最後に移動しない代わりに、ディスク上の他のすべてのファイルをシフトすることです。Ultradefragの後に通常のWindows DefragまたはDiskeeperを実行してみてください。ただし、すべてのファイルを使用回数で並べ替えるのは長時間実行される操作であり、次にWebブラウザを起動したときにばらばらになることに注意してください。
キース

現在のバージョン8はFOSSではなくなっているため、「古いバージョン」へのダウンロードリンクをたどる必要があることに注意してください。
trlkly

6

最も優れたツールは、古いJKdefrag、現在はMydefragでした。MFTを最適化します。また、無料です。

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

編集する

MyDefragが使用するWindows Defrag APIは、MFTのデフラグをサポートしています。

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

$ 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.

Live CDでは実行されませんが、Bart PEまたはUltimate Windows BootCDで実行されます

ただし、MFTの最適化にはどちらも必要ありません。


うん、これ。デフラグAPIはVistaで変更されたため、再起動する必要さえないと思います。
-Hydaral

1
MyDefragはWindowsでのみ実行されます。オープンソースのLiveCDから実行することはできません。予約済みのMFTスペースからファイルを削除するだけで、MFTが既に断片化されている場合はデフラグしないと主張しています。MFTを最適化できる別のプログラム(別の回答として投稿予定)がありますか?
WBT

あなたは間違っている。Defrag APIはMFTのデフラグをサポートしているため、明示的ではありません。さらに、MyDragスクリプトを確認できます。
-surfasb

サイトは現在:mydefrag.net
ランドールフラッグ

jkdefragとmydefragは今死んでいる- mydefragGUIはまだ上記のコメントが示すようmydefrag.netでダウンロードすることができますが、2009年から何の更新がなかった
thomasrutter

5

これらの手順は私のために働いた:

  1. Hiren のBootCDで MiniXPを実行します。
  2. ハイバネーション、仮想メモリ、カーネルメモリダンプを無効にします。
  3. このリンクに記載されている指示に従ってください(fsutilを使用)。
  4. 「空き領域を統合する」オプションを使用して、MiniDefragでMyDefragを実行します。
  5. Windowsを再度起動すると、パーティションを縮小できます。

-1

ultimatedefragには起動時のデフラグを提供するオプションがありますが、それは私には機能しませんでしたが、あなたにはうまくいくと思います

ultimatedefrag>ツール>設定...>起動時間

必要なドライブを選択すると、ドライブの分析に時間がかかります。分析が完了したら、mftファイルの場所を調整できますが、そのままにしておくことをお勧めします(変更した場合は、デフォルトに戻すボタンがあります)。次に、[次回の起動時に実行]オプションを切り替えて、PCを再起動します。

私にとっては、毎回24%でスタックし、ファイルを最適化せずにウィンドウを起動しますが、あなたのために働くことを願っています。あなたの専門知識も共有してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.