0

最近、NTFSフォルダ内の特定のフォルダが複数のコンピュータで破損する原因となる未知の問題が発生しました。フォルダが破損しているかどうかを検出し、フォルダの再配置や通知の送信などのアクションを実行する必要があります。しかし、私はまだそれを行う方法を知りません。OpenFile / CreateFileなどの通常のAPIは、破損したフォルダーで誤動作しているようであり、フォルダーが破損しているかどうかを判断するためにそれらを使用することはできません。そのため、MTF構造を解析して、問題を直接チェックする予定です。

そのため、私はNTFSMFT構造の研究を始めました。$ Volumeには、ドライブにchkdiskが必要かどうかを判断するためのダーティフラグがあることがわかりました。ただし、ファイルの破損とは直接関係がなく、Windowsが予期せずシャットダウンされた場合に設定されます。DIは、MFT構造でINDEXまたはFILEが破損しているかどうかを判断するために、特定のフラグなどを見つけることができませんでした。

破損したNTFSフォルダを特定する方法があるかどうかを知ることができますか?

どんな助けでも大歓迎です!

4

1 に答える 1

0

NTFSディスクの破損の問題に関連するものが3つ見つかりました。不完全です。ただし、更新されたNTFSソースコードがないと、Microsoftがchkdiskで実際に何をしていたかを知ることは非常に困難です。誰かがそれを知る必要がある場合に備えて、私はそれを見つけたものを投稿します。

1「ファイルレコード」セクションの$BadClusのダーティフラグ

$ BadClusのフラグがONに設定されている場合、オペレーティングシステムは起動時にディスクスキャンを実行します。ディスク操作が発生した場合、NTFSモジュールはフラグをオンに設定すると思います。

2ファイルレコードの識別フィールドの「BAAD」

USA / USNが一致しないなど、ファイルレコードに問題がある場合、MFTはファイルレコード構造の識別フィールドで「FILE」を「BAAD」に置き換える場合があります。破損したファイル/ディレクトリをすばやく特定するために使用できます。

3すべてのFILE/INDXレコードでUSA/USNを比較します

両方のFILE/INDX構造には、破損チェック用のUSA/USNが含まれています。システムをスキャンし、USAとUSNを比較すると、破損の問題を発見するのに役立ちます。

于 2012-12-18T18:55:20.790 に答える