web-dev-qa-db-ja.com

不良セクタ/ブロック/クラスター/その他のファイルのリストを*すばやく*取得するにはどうすればよいですか?

妻のWindows7(64ビット)ボックスが突然SMART "disk is bad"ステータスになりました。すべてをコピーしようとしています(バックアップレジメンがないことについての警告はありません。もう分かっている :()ネットワークを介して別のマシンにシステムイメージを作成することによって、しかしそれは特定のポイントに到達し、永遠にかかり始めます。 chkdskを実行すると、特定のファイルが多くの不良ブロック(イベントログが何らかの兆候である場合、連続して数万など)を持ち、システムに標準の回復試行を実行させることによってこれを引き起こすことが明らかになります。および-アクセス時に再配置すること。

しかし、これには非常に時間がかかります。気の毒なものをコピーする前に、ディスクが完全に故障するのではないかと心配しています。ただし、これまでのファイルのいくつかは、彼女が他の場所にコピーしているファイルであるため、バックアップを再試行する前にそれらを削除するだけで、処理を大幅に高速化できます。

だから:各ファイルを読み取ろうとするツールや手順はありますか?悪いブロックにぶつかったら、それについて教えて、次のファイルにスキップしますか?だから私はどれを捨てることができ、どれを回復させなければならないかを知ることができますか?

9
Atario

誰もあなたの質問に実際に答えたことがないので、次の正確に超高速ではない方法は、あなたが探しているものを得る最も速い方法かもしれません。

  1. 必要なユーティリティはLinuxで動作するため、最初に、Linuxで起動する(またはディスクをLinuxマシンに接続する)ために使用できるUSBキーまたはCDを作成する必要があります。

  2. 次に、Gnuddrescueパッケージからddrescueを実行する必要があります。これにより、基本的にディスク上の不良セクタのリストである「マップファイル」が作成されます。 ddrescueにはさまざまなオプションがありますが、特に不良セクタからデータを読み取ったり回復したりするのがどれだけ難しいかによって異なります。トラブルを起こすセクターを「悪い」と見なし、ddrescueで実際に何も回復したくない場合は、「-n」オプションを使用して/ dev/nullをターゲットとして指定できます。かなり高速です(ddrescueはディスクのすべてのセクターを順番に1回読み取るだけで、マップファイルの出力には読み取りが失敗したセクターのリストが含まれます)。

  3. 次に、マップファイルとディスクでddru_ntfsfindbadというユーティリティを実行する必要があります。これにより、必要なものが出力されます。つまり、不良セクタの1つにパーツがあるディスク上のファイルのリストです。

ただし、次の点に注意してください。1。ドライブに障害が発生している場合、それを読み取ると、障害が悪化する可能性が非常に高くなります。したがって、手順を介してディスクを2回読み取る前に良好であったセクターの一部、多く、または多くが現在不良である可能性があります(「ほぼ確実」と言う人もいます)。賢明なことは、良いドライブを用意し、実際にデータを回復する上記の両方の手順を実行することです。もちろん、これを行う場合は、ddrescueの機能を使用して、読みにくいセクターからデータを取得するためにさらに努力することをお勧めします。

  1. ddru_ntfsfindbadのマニュアルには、ファイルシステムがNTFSでない限り、元の不良ドライブで実行することはできないと記載されています。したがって、あなたの場合は大丈夫ですが、元のドライブではなく、ddrescueで回復されたドライブで実行すると、ほぼ確実に高速になります。また、不良セクタが特定のファイルシステムメタデータにある場合は、実際にこれを行う必要があります。

元の質問は非常に古いと思いますが、最近この問題が発生し、他の人が元の質問の答えを知りたいと思うかもしれません。

5
Scott Petrack

ディスク上の不良セクタに関しては、バックアップがない場合は、ドライブスナップショットと呼ばれるツールを使用してディスクのバックアップイメージを取得します。

ドライブスナップショット
http://www.drivesnapshot.de/

このツールが不良セクタを検出すると、別のテキストファイル(1行に1つの不良セクタがあるため、ファイル内の行数を数えるだけで不良セクタの総数を判別できます)でそれらを追跡します。これも使用されます。どのファイルがそれらのセクターを使用したかを見つけるための相互参照として。

3

私は同じ質問をし、いくつかの調査を行いました: http://www.disktuna.com/finding-out-which-file-is-affected-by-a-bad-sector/

WindowsOSとNTFSファイルシステムを想定しています。

したがって、不良セクタは次の一部になる可能性があります。

  • 未割り当て領域。これは無視できます。

  • ファイルシステムの構造。通常、chkdskがこれを処理する必要があります。ファイルシステムの損傷がどこにあるかによっては、chkdskがまったく実行されない可能性があります。その場合、ハードディスク自体で表面スキャンを実行します。

  • 影響を受けるシステムファイル:Windowsシステムファイルチェッカー(SFC.exe)を使用できます。コマンドプロンプトで、次のコマンドを入力し、Enterキーを押します:sfc/scannow。

  • ユーザーデータ:MicrosoftサポートツールNFI.exeを使用して、LBAセクターアドレスをファイルパスに変換できます。このようにして、セクターの再割り当て後にバックアップから復元する必要のあるファイルを決定できます。

    例:

    C:\Users\admin\Downloads>nfi \Device\Harddisk0\DR0 28521816
    NTFS File Sector Information Utility.
    Copyright (C) Microsoft Corporation 1999. All rights reserved.
    
    
    ***Physical sector 28521816 (0x1b33558) is in file number 5766 on drive C.
    \IMAGES\win7HDD.vhd
    
  • 最も簡単な方法はおそらく HD Sentinel です。表面スキャンを実行した後、HDSentinelは不良セクタの影響を受けたファイルのリストを表示します。

1
Joep van Steen

不良セクタのリストがすでにある場合、影響を受ける可能性のあるファイルを特定するために私が見つけた最も便利なツールは、PiriformのDefragglerです。ボリュームのマップ上の特定のブロックをクリックすると、その同じブロックに含まれているファイルのリストが表示されます(断片化されていないファイルも含む)。また、[ファイルリスト]タブ(断片化されたファイルのみが表示されます)でファイル名をクリックすると、そのファイルに属する少なくとも1つのセクターを含むすべてのブロックが強調表示されます。残念ながら、オフセット/セクター/クラスター間隔の数値表示はなく、特定のオフセット/セクター/クラスター値を直接入力する方法もありません。 (私は約2年前に会社に手紙を書き、このような状況でこの優れた機能をより実用的に使用できるようにするいくつかの機能強化を要求し、コメントや提案に感謝して親切な返信をしました。Defragglerを更新していません。しばらくの間、おそらく私の提案のいくつかはそれ以来実装されています。)

ここでさらにいくつかのメソッドを提供しました: 特定の不良セクタにファイルがあるかどうかを確認するにはどうすればよいですか?

nfi.exe X:[セクター番号]

– fsutil volume querycluster X:[クラスター番号]

これらのコマンドラインツールの両方を使用すると、セクターのリストの各行を入力としてロードし、ファイルのリストを出力として取得するように、スクリプトを作成するのは比較的簡単です。

– HD Sentinelですが、大きな注意点があります。実際には、要求された各セクターにアクセスしてその内容を表示しようとします。これにより、システムが一時的にフリーズし、ドライブの状態が悪化する可能性があります。

– R-Studio(HD Sentinelと同じ問題)

– WinHex(HD Sentinelと同じ問題)

1
GabrielB

管理者特権のcmdプロンプトでchkdsk/rを実行して、不良クラスターを見つけ、読み取り可能な情報を回復します。これにより、バックアップ試行の信頼性が向上する場合があります。その後、単純なコピーを使用してファイルをバックアップします。これが失敗した場合は、読み取りを再試行するデータ回復方法を試すことができますが、chkdskが不良セクターを読み取ることができなかった場合は、chkdsk/rを繰り返して再試行できます。複数のchkdsk/rとデータのコピーの試行は、不良セクタのデータ回復の試行を繰り返す良い方法です。 chkdskが不良セクタを一度読み取ることができれば、データを良好なブロックに書き込みます。 chkdsk/rを繰り返すと、不良ブロックを1回だけ読み取ることができる限り、ファイルの整合性が向上し続けます。データがなくなったら、あきらめてください!

データを回復するか、あきらめて書き留めたら、ドライブを通常の使用に戻すことができますが、重要なデータは別の場所にバックアップしておくことができます。ドライブからすべてのデータを可能な限りコピーしてから、低レベルフォーマットを実行してから、再パーティション化と低速/フルフォーマットを実行して、製造元システムとNTFS不良セクタリスト内で不良セクタを再割り当てできるようにすることをお勧めします。クイックフォーマットは不良セクタを不良としてマークしません。

chkdsk/bは不良クラスターリストをクリアし、不良クラスターリストを再スキャン/更新します。不良クラスターの増加率は安定したままであり、NTFS不良クラスターリストはそれを制御し続ける必要があります。ドライブは安全に再利用できます。ただし、工場で割り当てられたすべてのハードドライブのスペアクラスターが不良クラスターにマップされている場合、ドライブは将来クラスターをマップできず、重大な障害が発生する可能性があることに注意してください。ただし、NTFSは不良クラスタを個別に監視するため、これがドライブの最終的な目的ではない可能性があることに注意してください。

定期的にchkdsk/bを実行し、セクタースキャンソフトウェアを使用して危険な不良セクターの増分率を監視することにより、将来の不良セクターの増分を制御および監視することができます。ドライブが安定している兆候を示している場合は、長時間正常に動作し続ける可能性があります。

ドライブで引き続き問題が発生する場合は、非常に高い場所からドロップしてください。これにより、鈍いハードドライブで貴重な時間を無駄にすることがなくなります。

0
Donald.

これは、コストをかけずに物事をやりたいというあなたの願望に基づくデータに対するあなたの願望に依存します。

最近、CBLの新しい データ復旧ソフトウェア を確認しました。このドライブは技術的にはまだ実行されていますが、言及に値する機能の1つは、不良セクターの再試行回数を選択する機能でした。

このような場合、デフォルトの20または30ではなく、3回の再試行に設定できます。これを3に調整することにより、ソフトウェアの回復をすでに超えている可能性のあるファイルに重大な時間を無駄にすることなく、ドライブの弱い部分のすべてのデータをキャプチャする必要があります。次に、そのラウンドをキャプチャしたら、戻って最初の試行で失敗したファイルのみを選択し、数回再試行して、すべてが得られるか、ドライブが完全にフラットラインになるまで、再試行回数を10、20、50に増やします。

または、最初のパスの後、happy_soilが提案するようにスピンライトを試して、不良セクタを更新できるかどうかを確認しますが、このレベルの障害はヘッド、プリアンプ、またはキャッシュの障害が原因であることが多いため、最初にデータの大部分をすばやく削除します駆動回路。これが事実であり、障害がメディアにない場合、ru時間の毎秒がカウントされます。

CBLのソフトウェアは、同様の競合他社よりも約100ドルと少し高価ですが、設定をうまく機能させるために何らかの支援が必要な場合に利用できる、コントロールの粒度と適切なサポートを備えた、私が見た唯一の商用ソフトウェアです。

0