電子書籍の厳選無料作品が豊富!

HDD内LBAの値がわかっているときに、そのLBAがどのファイルに該当するのかを知りたいのですが、方法はないでしょうか。
HDDに不良セクタが発生し、そのLBAはわかっているのですが、壊れたファイルはどれなのか、又は使われている領域ではないのか知りたいのです。複数の破損LBAそれぞれに該当するファイル名を知りたいです。
対象OSはWindows、ファイルシステムはFAT32,NTFSです。
別のカテゴリーで質問したのですが回答0でした。改めてこちらで質問させていただいています。
よろしくお願いいたします。

A 回答 (5件)

>複数の破損LBAそれぞれに該当するファイル名を知りたいです。



コマンドプロンプトで
xcopy c:\ d:nul /L /E /I /H /R
を実行しましょう。

このコマンドで、すべてのファイルを読み込みテスト出来ます。

Dドライブが無い場合は
md c:\testdir
subst d: c:\testdir
などで仮想ドライブでDドライブを作成してから実行しましょう。

終ったら
subst d: /D
rd c:\testdir
で後始末しましょう。

もし、不良セクタが何かのファイルに使用されているなら、コマンド実行中にエラーになるので、最後に表示されていたファイルを確認しましょう。

もし、不良セクタがフォルダに使用されているなら、コマンド実行中にエラーになるので、最後に表示されていたフォルダを確認しましょう。

もし、不良セクタが未使用なら、コマンドは正常終了します。その場合は、scandiskで不良セクタを「使用不可」にしましょう。
    • good
    • 0

追記ですが、testdiskの使用は自己責任でお願いします。


ツールの性質上、MBRなどの情報を書き換えることも
可能なのでデータを失いたくない場合などで、
触るのに自身がない場合はやめておくことをお勧めします。
    • good
    • 0

標準搭載以外ならば、「testdisk」などの強力なツールを使えば、


不良セクタの解析、損出パーティション情報の検出などが行えます。
もちろん、きちんとデータが残っているディスクならば、
そのディレクトリ階層、ファイルを単体コピーなどの機能も
ついています。

http://www.cgsecurity.org/wiki/TestDisk

使い方が分からなかったら以下を参照
http://lets-go.hp.infoseek.co.jp/testdisk1.html
# 上記はMBRの復旧手順ですが、応用すれば特定の
# ディスクのLBAから該当する部分を特定することができます。
    • good
    • 0

追記。



Windows実行中は、Windows管理下のシステムファイルをxcopyで開けずにエラーになる可能性があります。

ですので、実行する場合は、PCを起動する時にF8キーを押して起動メニューを出し「Command Prompt Only」や「セーフモードとコマンドプロンプト」などを選び、Windowsを起動しないで実行しましょう。

この回答への補足

どうもありがとうございます。
やってみましたが、メモリが足りませんということで途中で止まってしまいました。
ちなみに、xcopy c:\ d:null は l(エル)が2個必要のようでした。
同じ考え方でコピー先に同じ容量を持つドライブを指定すれば、
xcopy c:\ d: でメモリ不足と言われず出来ました。(時間かかる)
不良ファイルが含むLBAの範囲は、WinHexでわかりました。
が不良セクタがいくつもあるとき、xcopyは一個目で止まってしまうのでその先は、1個目の解析をして修復してから再度xcopyですね。
ファイル全部をスキャンして、不良ファイルとそのファイルのLBA範囲を出力してくれるソフトがほしい・・・。

補足日時:2009/03/05 16:10
    • good
    • 0
この回答へのお礼

とはいえ、地道にやれば出来る方法が見つかりました。
ありがとうございます。

お礼日時:2009/03/05 16:13

LBAとセクタ/クラスタの関連性がわかっており、


MBRやFATを解析し、個々のファイルやフォルダで使用している領域をすべて網羅できれば、「理屈的には」できないことはないと思う。

この回答への補足

はい、理屈的には出来ることは理解できます。
でも自分でやろうとすると大変。
どこかにそういうツールは無いものでしょうか?ネットサーフィンして探したのですが見つかりません。

補足日時:2009/03/04 21:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!