web-dev-qa-db-ja.com

不良ブロックと影響を受けるファイルを一覧表示します

4〜5年前のラップトップHDDからフルディスクイメージを作成しました。

そのHDDは、頻繁に持ち運ばれるラップトップに搭載されていたため、長年にわたって、ある程度の物理的ストレスを経験している可能性があります。

HDDはそのまま動作しますが、私が使用したプログラムであるGuymagerは、その画像のキャプチャ中に不良セクタがいくつ発生したかを示しました。具体的には、19の不良セクタ。

どのLBA番号とどのファイルがこれらの19個の不良セクタの影響を受けますか?

最初に不良LBAのリストを作成し、次にそれらの各LBAのすべてのファイルを個別のステップでリストしたいと思います。

2
neverMind9

ファイルシステムから独立したすべてのディスク上のブロックを一覧表示する機能は何ですか? (低レベル)。そして、FATとNTFSで何が機能しますか?

LBA番号と不良ブロックの検出は、ファイルシステムとはまったく関係ありません。 ファイルの検索はファイルシステムに完全に依存しています。単一のツールがすべてのファイルシステムで機能することを期待しないでください。

badblocksを使用して不良ブロックをスキャンし、smartctlを使用して再割り当てされたブロックまたはハードディスクファームウェアによって検出された不良ブロックのLBAを取得し、fdiskなど。パーティション相対数の間で計算する場合(たとえば、badblocks /dev/sda1およびLBA。

他の回答で述べたように、ext2/ext3/ext3の影響を受けるファイルはdebugfsで見つけることができます。

fibmap ioctl を使用して、すべてのファイルシステムの特定のファイルのn番目のブロックのLBAを見つけることができますが、特定のLBAのファイルを見つけたい場合、これはおそらく実用的ではありません。おそらくこのioctlを使用するfilefragもあります。

特定のブロック番号のファイルを見つけるFAT用(場合によってはNTFS用)のフォレンジックツールがあると確信していますが、名前を付けることはできませんでした。

編集

グーグルは、FATファイルシステムのフォレンジック分析のために fatcat を見つけます。 -L特定のクラスターのファイルを取得できます(LBAから計算できます)。私はこのプログラムの経験がありません。もっとグーグルすると、おそらくもっとそのようなプログラムが見つかるでしょう。

4
dirkt

Ext2/3/4でdebugfsを使用します。まず、ブロックに基づいてiノードを見つけます。

debugfs -D -R "icheck $sda3block4096" /dev/sda3

次に、このiノード番号をファイルのクエリに使用します。

debugfs -D -R "ncheck $inode" /dev/sda3
7
Ipor Sircer

NTFS、ext3、ext4

Fail {ing、ed}ドライブからddrescueを使用してデータをコピーした場合は、この目的のために作成された ddrutility を使用します。

20秒以内にddrescueマップファイルを指定して影響を受けるNTFSファイルを一覧表示することに成功しました。

ログファイルを現在のディレクトリに書き込みます。

リンク先のページでは、NTFS、ext3、およびext4のサポートについて説明しています。

btrfs

btrfsには、独自の組み込みのscrub関数があります。

1
Tom Hale