ファイルが NTFS や FAT32 などのファイル システムに割り当てられると、ファイル システムはそのファイルにいくつかのクラスター/セクターを割り当てることを知っています。ファイルが割り当てられた後、ファイルに割り当てられたクラスターをある場所から別の場所に移動し、ファイル システムのメタデータも更新できるツールはありますか? これは、手動でファイルを最適化するようなものです。
1 に答える
MSDN の引用: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363911(v=vs.85).aspx
ファイルを最適化するには FSCTL_GET_VOLUME_BITMAP 制御コードを使用して、ファイル全体を受け入れるのに十分な大きさのボリューム上の場所を見つけます。注 必要に応じて、他のファイルを移動して、十分な大きさの場所を作成してください。理想的には、ファイルの最初のエクステントの後に十分な数の未割り当てクラスターがあり、後続のエクステントを最初のエクステントの後のスペースに移動できます。FSCTL_GET_RETRIEVAL_POINTERS 制御コードを使用して、ディスク上のファイルの現在のレイアウトのマップを取得します。FSCTL_GET_RETRIEVAL_POINTERS によって返された RETRIEVAL_POINTERS_BUFFER 構造体をウォークします。FSCTL_MOVE_FILE 制御コードを使用して、構造をウォークしながら各クラスターを移動します。注: 他のプロセスがディスクに書き込みを行っているときに、ビットマップまたは取得構造のいずれか、あるいはその両方を更新する必要がある場合があります。