web-dev-qa-db-ja.com

特定の不良セクタにファイルがあるかどうかを確認するにはどうすればよいですか?

失敗したHDDを--rescueオプション付きのClonezillaで複製したところ、多くの不良セクタがリストされていました。いくつかの不良セクタは3194529280、3194529792、3194530304、3194530816でした。これらの不良セクタにファイルがあるかどうかを確認するにはどうすればよいですか?

私は次のような答えを期待しています

> whichfileisatsector.exe 3194529280
c:\Users\Chloe\Pictures\cat.jpg

Microsoftへのリンクが記載されたnfi.exeについて言及しているブログを見ましたが、利用できなくなり、リンクが無効になっています。

Windows 8.1

4
Chloe

–ここにnfi.exeがあります:
http://www.jumpjet.info/Application-Software/Windows/win2k.htm
「oem3sr2.Zip」をダウンロードしてください。そこにあります。コマンドは:

nfi X: [sector number]
(Replace "X:" with the relevant drive letter.)

セクター番号を指定しない場合は、特定のパーティション上のすべてのファイルの完全なリストを取得することもできます。

nfi X: >"D:\nfi listing.txt"
(Replace "X:" with the relevant drive letter. Adjust the name/path of the output file.)

(分析されたパーティションに多くのファイルがある場合、結果のテキストファイルは巨大になる可能性があります。現在作業中の3TB HDDの場合、425MBのリストファイルが抽出されました。)

– Windows(少なくともWindows 7)にネイティブに存在するfsutilツールも、この機能を提供できます。コマンドは:

fsutil volume querycluster X: [cluster number]
(Replace "X:" with the relevant drive letter.)

ここでは、入力がクラスター内にある必要があるため、セクター数をクラスターあたりのセクター数で割る必要があります。通常、一般的な4KBクラスターサイズの場合は8です。結果の表示はnfi.exeの表示よりも合理化されており、ファイルに多数のフラグメントがある場合は混乱する可能性があります(MFTでは単一のファイルが複数のファイル番号として表示される可能性があり、nfiはこれらの部分の1つのみを表示します。私はそれがどのように機能するかをまだ完全には理解していません);また、フルネームの代わりにショートネームを付けることができるため、そのファイルを確実に識別するための追加の手順が必要になります(たとえば、フルネームで始まるビデオファイルでいっぱいのフォルダーに「2017_0〜3.MP4」を取得しました)。 「2017_0」)。 fsutilを使用すると、必要な情報だけを確実に1行で取得できます。

Cluster 0x000000001ec1ba42 utilisé par ----D \fichiers corrompus\2017_07_2122_49 - Arte - 101 - Depeche Mode.mp4::$DATA

(クラスター番号は常に16進形式で表示されますが、10進形式で入力できます。ここでは、クラスター516012610を要求しました。フランスにいるのでフランス語です!:^ p)
両方のツールで、正しい結果を得るにはlogicalセクターまたはクラスター番号を指定する必要があるため、Clonezillaがabsoluteまたはphysicalセクター番号(おそらくそうですがクローン作成ソフトウェアはパーティションスキームに関係なくすべてをコピーするように設計されているため、私は試していません)パーティションのオフセットを削除する必要があります。たとえば、私が取り組んでいる3TBハードドライブでは、セクター264192で始まるパーティションは1つしかないため、不良セクターの絶対数がある場合(たとえば、HD Sentinelによって提供されます-以下を参照)、たとえば4128365072としましょう。それがどのファイルに属しているかを知りたい場合は、4128365072-264192 = 4128100880(nfi.exe)、4128100880/8 = 516012610(fsutil)と入力する必要があります。

その種の情報を提供できる私が知っている他のツール:

– Hard Disk Sentinel(無料ではありませんが、ハードドライブの状態評価の目的で私が知っている最高のソフトウェアです)は、絶対または物理セクター番号を提供します(特定のパーティションではなく完全な物理デバイスと比較して)。表面スキャンを実行すると、特定のブロックをクリックすると、そのブロックの最初のセクターの16進表示が表示されます。次に、[移動]をクリックして他のセクターに移動できます(絶対値も指定する必要があります)。セクター番号)、[セクターのファイル情報を検出]ボックスをクリックすると、そのセクターを占めるファイルと、同じファイルが占めるセクターの完全なリストが表示されます。ただし、注意点があります。それは、要求された各セクターを実際にそのように読み取ろうとし(コンテンツを表示するため)、クローン作成ソフトウェアが実行しようとするように何も回復せずに、すでに損傷した領域に不必要にストレスを与えて拡張する可能性があります。 (私は対処するために同様の問題を抱えています ;私の状況では、近くのセクターにアクセスして影響を受けるファイルを特定しようとしたにもかかわらず、この方法を試している間に不良セクターの数が増加しましたすでに不良として識別されているものを直接要求する代わりに)。

– Recuvaは、「情報」タブに各ファイルの論理クラスター番号のリストを提供します。ここで必要なことを直接実行するわけではありません。特定のファイルが占めるクラスターのリストを提供しますが、どのファイルがどのセクターにあるかを見つけることはできません。それでも、Recuvaのこのあまり知られていない機能は、上記のツールと組み合わせて使用​​できます。特定の不良セクターを占めるファイルがわかれば、そのファイルがどのセクターも占めているかを知り、記録されているかどうかを確認すると便利です。たとえば、順次または大幅に断片化されています(私の場合、影響を受けるいくつかのファイルが大幅に断片化されているため、最初に意図したように、ファイルシステム情報がないと、関連するセクター範囲の部分的なddrescueリカバリからそれらを実際に抽出できませんでした)。
必ずクイックスキャン(デフォルトのメソッド)を実行してください。これは、MFTを解析し、現在割り当てられているファイルのインデックスを取得するのに十分です。 、そして損傷した領域がさらに位置している場合、ハードドライブを完全に解析することでハードドライブにストレスを与えることはありません(私の場合のように:すべての不良セクタは2TBマーク付近にあります)。不良セクタを含むファイルが十分に大きく、不良セクタが最初に正しくない場合、それは無害であるはずですが、小さなファイルの場合、または不良セクタが最初にある場合は、それらをクリックするだけで、 Recuvaはプレビューまたは少なくともヘッダーを表示しようとするため、それらが占有するクラスターはダメージを増加させる可能性があります。

– PiriformのDefraggler(Recuvaを開発している同じ会社):ボリュームのマップ上の特定のブロックをクリックすると、その同じブロックに含まれているファイルのリストが表示されます(フラグメント化されていないファイルも含む)。また、[ファイルリスト]タブ(断片化されたファイルのみが表示されます)でファイル名をクリックすると、そのファイルに属する少なくとも1つのセクターを含むすべてのブロックが強調表示されます。残念ながら、オフセット/セクター/クラスター間隔の数値表示はありません。 (私は、この優れた機能をより実用的に使用できるようにするいくつかの機能強化を要求するためにそれらを作成しました。)

– R-Studio(無料ではありませんが、私が試した中で最高の回復ソフトウェアの1つです)は、回復ツリー内の任意のファイル(現在割り当てられていないが刻まれている「追加のファイル」内のファイルも含む)が占めるセクターを表示できます。ヘッダー/フッターの構造に応じて)16進ビューアーを開き、[セクター]タブをクリックしますが、現在、そのリストをエクスポートする方法はありません(CTRL + Cで値を1つずつコピーできますが、すべてを選択することはできません) ; RecuvaまたはHDSentinelを使用すると、リスト全体をコピーしてさらに調査することができます)。
次の方法で、特定のセクターにあるファイルを特定することもできます。
1)リカバリツリーから、[ファイル] => [HexEditorでファイルを表示する]をクリックします。
2)次に、デバイスの[表示]タブに戻り、調べているボリュームを右クリックして、[表示/編集]をクリックします。これにより、HexEditor(より16進数のビューアー、デフォルトでは表示されます)が開きます。読み取り専用モード。データ回復の目的である必要があります)。ここでは、セクター番号を入力して表示したり、それが属するファイルの名前を取得したりできます。ただし、矛盾があります。セクターのコンテンツを表示するには、そのlogical番号を入力する必要がありますが、所属するファイルの名前を取得するには、そのabsolute番号を入力し、パーティションオフセットを追加または削除します。
繰り返しになりますが、HDDに障害が発生した場合(ハードウェア障害)、ソフトウェアが欠陥のあるセクターにアクセスしようとするため、この方法は危険です。

– ddr_utilityツールセットのツールであるddru_ntfsfindbadを使用すると、ddrescue(障害のあるストレージユニットからデータを回復するために特別に設計されたコマンドラインクローンプログラム)が読み取れなかったセクターを占めるファイルのリストを取得できます。 ddrescueによって生成されたログファイルで動作します。この場合、障害が発生したHDDのクローンをClonezillaで既に作成していますが、不良セクターが少ない場合でも、クローン作成プロセスを最初からやり直すことなく、テンプレートからカスタムログファイルを作成できます。これには、詳細情報、特に影響を受ける各ファイルの破損したデータのサイズを提供するという利点があります。 Linux上で動作しますが、これは別の注意点であるため、あなたの場合は最も簡単な解決策ではありませんが、ddrescueを使用して実際に回復した他の人に役立つ可能性があります。

9
GabrielB