web-dev-qa-db-ja.com

Windowsでファイルが占有するセクターを特定する方法は?

HDDでファイルが占めるセクターを特定したい。ファイルが異なる非順次セクターに分割されているかどうかを知りたい。
Windows 10でこれを行う方法はありますか?

理想的な解決策は、ハードドライブのすべてのセクターのマップを用意し、ファイルを選択した後、このファイルが占めるすべてのセクターにマークまたは色を付けることです。

9
churchill

ツールは Defrag API 、具体的には FSCTL_GET_RETRIEVAL_POINTERS を使用して、特定のファイルのエクステント(セクター範囲)のリストを取得できます。 Windowsに組み込まれているfsutilを使用してコマンドラインで使用できます。

fsutil file queryextents C:\MyFile.ext

他のさまざまなサードパーティ製の最適化アプリにも、1つのファイルのみを分析する機能が備わっていることがよくあります。たとえば、SysInternals Contig

contig -a C:\MyFile.ext

別の例として、Piriform Defragglerは、最も断片化されたファイルを自動的に一覧表示します。 1つのファイルを選択すると、その場所が グラフィカルビュー で表示され、その逆も同様です。

enter image description hereenter image description here


Linuxでの同等の機能は [〜#〜] fiemap [〜#〜] ioctlで、ファイルの「エクステント」のリストを返します(ブロックのリストを返す古いFIBMAP)。 filefrag または xfs_io などのツールを介して使用できます。

18
user1686

Perfect Disk(Raxco)はこれをハードドライブで行います。ディスクの自動デフラグを実行し、断片化の概要を表示します。

ある時点でSSDを採用すると、問題は無関係になります

0
John