問題タブ [ntfs-mft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
file - NTFS $MFT ファイルに子レコードを含めることはできますか?
NTFSボリュームのディスク上のMFTを解析するコードを書いています。これは簡単ですが、ある特定のコーナー ケースが私の目に留まり、インターネット上のどこにも明確な答えが見つかりません。
NTFS の通常のファイルでは、単一のファイルに複数の MFT レコードを含めることができます。これは、ファイルが単一のレコードに収まりきらないほど多くの属性を持っている場合です (たとえば、ファイルに多くのハード リンクがある場合、または多くの多数の代替データ ストリームがある場合は $DATA 属性)。
参照番号 0 の $MFT ファイルには、MFT 自体のデータ実行が保持されます。通常、これは子を持たない単一のレコードです。$MFT ファイルに子レコードを含めることはできますか? 可能であれば、どこでそれらを見つけることができますか? これらの子レコードは、ディスク上のどこにあるかを知るために $MFT を解析しなくても確実にアクセスできるように、非常に低い参照番号で保存する必要がありますか?
windows - 不完全な chkdsk ログファイル
長い話を短くすると、壊れた ntfs ハードディスク (破損した $MFT ルート エントリ) のクローンを作成し、ネイティブ ウィンドウを起動して chkdsk を実行しました。
起動ウィンドウで、不要な chkdsk が実行されました。chkdsk の実行はかなり成功しました。残念ながら、chkdsk ログは不完全なようです。
イベント ビューアーからイベント ID 1001 のログを読み取り、次のコマンドを使用して Power Shell で直接読み取りました。
したがって、chkdsk の実行によって復元できた (復元できなかった) クラスターとその数を特定することはできません。ログは 274 行で構成されており、途中で壊れているようです。
質問: ログを管理できる追加のリソースはありますか? ログが 274 行で壊れる理由はありますか?
ntfs - 実行時に MFT からファイル コンテンツを読み取る
実行中の Windows (XP 以降) の MFT ファイルを読み取って、マシン上に存在する特定のファイルの内容 ($DATA) を保持する HD セクターに到達する必要があります。
問題は、MFT を読み取ってから関連するセクターを取得して読み取るまでの間に、ファイル システム構造が変化し、場所が関連しなくなる可能性があることです。
システムを一定時間「フリーズ」する方法はありますか? おそらく、このファイルが変更されないことを保証しますか? 特定のファイルをロックして、セクター間を移動しないようにしますか? (最適化や間接変更によるものも含む)
もちろん、ハードディスク全体をコピーせずに静的に作業することを好みます。これは、現時点ではシステムの通常の使用を妨げる遅い操作であるためです。言うまでもなく、OS の API 関数を使用したり、ドライバーを作成したりしたくありません。
c# - マスター ファイル テーブル データを使用してファイル属性を読み取る方法
私のプロジェクトでは、特定のファイル パスの下にあるすべてのファイルを一覧表示したいと考えています。すべてのファイルにアクセスするためにマスター ファイル テーブルを使用しているユーザー権限の問題を解決してください。
このスレッドを使用すると、特定のファイルの場所にあるすべてのファイルを読み取ることができます
これはファイル名と親FRNをリストしますが、ファイル属性もリストする方法はありますか????
これらの詳細も表示したいと思います。
- 作成日
- 変更されたデータ
- ファイルサイズ
file - 特定の量のファイルの MFT のサイズを計算するにはどうすればよいですか?
私はこの演習を行う必要があります:
セクターサイズが 512KB の空のハードドライブが与えられました。ここで、各クラスターには 2 つのセクターがあるため、
NTFS の場合、MFT テーブルのサイズを計算する必要があると確信しています。
悲しいことに、それを行う方法、または少なくとも MFT エントリのサイズを計算する方法に関するリソースが見つかりません。FAT32 での方法は知っていますが、NTFS についてはわかりません。
ここでアドバイスを見つける方法はありますか?
windows - NTFS MFT ゾーンのサイズの変更
MSDN Web サイトで NTFS に関する記事を読んでいます。これはその一部です。強調表示された部分に注意してください。
" MFT ゾーンとして使用されるボリュームのパーセンテージに対応するように、新しく作成されたボリュームの MFT ゾーンのサイズを変更できます。MFT ゾーンのサイズは次のとおりです。
デフォルトの設定 1 では、ボリュームの約 12.5% が予約されます。
2 を設定すると、約 25% の予約が確保されます。
3 を設定すると、約 37.5% の予約が確保されます。
4 を設定すると、約 50% の予約が確保されます。
ほとんどのコンピュータでは、デフォルト設定の 1 で十分です。デフォルト設定では、平均ファイル サイズが 8 KB のボリュームに対応しています。小さなファイルを多数格納すると、新しいボリュームの MFT ゾーンのサイズを大きくすることが必要になる場合があります。 MFT ゾーンのサイズを増やした後、NTFS は、新しい MFT ゾーンのサイズに対応するための領域をすぐには割り当てません。代わりに、NTFSは MFT ゾーンのサイズを増やす前に、元の予約済みスペースを使い果たします。」
これは、今後、新しいボリュームの MFT ゾーンのみを変更できるということですか? それで、ここの「元の予約スペース」は12.5%?つまり、たとえば 50% の MFT ゾーンを持つ新しいボリュームでさえ、残りを割り当てるには 12.5% を使い果たす必要がありますか? どうもありがとうございました!
※記事:https ://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx
windows - c ++でファイルのMFTレコード番号を見つける方法は?
Linux には、の番号fstat
を与えるシステム コールがあります。inode
filedescriptor
そのまたはファイルパスから、特定のファイルwinapi
を与えるシステムコールまたは関数はありますか?MFT Record Number
HANDLE
関数やシステム コールがない場合、どのようにMFT Record
のファイルにアクセスすればよいMFT Table
ですか?