特定のセクターを占有しているファイルを特定するにはどうすればよいですか?


34

不良セクタが3つあるハードドライブがあります。セクター番号を知っていて、コンピューターをWindowsで起動できます。製造元のHDD診断ツールからセクター修復を実行したいのですが、その前に、どのファイルが影響を受けているのかを知りたいのです。どのファイルがそれらのセクターを占有しているかを把握する方法はありますか?


1
roadkilのセクターエディターは、プログラムの一覧を表示するだけでなく、途中まで進むかもしれません。
-barlop

特定のセクターにあるファイルを調べる方法 -同じ質問ですが、LinuxからアクセスするNTFSファイルシステムも参照してください。
-sleske

回答:


22

ドライブを直接調べて編集できる便利な16進エディタであるWinHexを使用したプロセスを次に示します。 十分気をつける; 不適切に使用すると、このツールがシステムに損傷を与える可能性があります。可能な限り、読み取り専用のディスクを開きます。

  1. 不良セクタの場所がすでにあるため、WinHexでドライブを直接開き「ディスクを開く」ツールバーボタン)、次にセクタに移動してデータを表示できます(「セクタに移動」ツールバーボタン)。セクタの場所が物理セクタアドレスであると仮定すると、このステップで物理ドライブを開く必要があります。

    これファイルを直接識別しませんが、左側のペインはこのセクターとそれに対応する相対セクターアドレスを含むパーティションを識別する必要があります。

  2. 確認したパーティションがNTFSまたはFATパーティションである場合、パーティションを直接開くことができます(「ディスクを開く」)。これにより、新しいタブでパーティションが開かれるため、必要に応じて切り替えることができます。[パーティション]タブで、[ セクターに移動 ] 機能を再度使用しますが、今回は変換済みセクター(ドライブビューで識別される「相対セクター」)を入力します。

    これで、左側のペインに、「表示可能なドライブ領域の割り当て」セクションが表示されます。この下には、クラスター#、物理セクター#、論理(相対)セクター#、およびこのセクターが実際にファイルに属している場合のファイル名があります。

これらの手順ですぐに答えが得られない場合は、不良セクタが使用されていない可能性があります。結果が不明確な場合は、答えを見つけるためにさらに掘り下げる必要があります。


1
ダウンロード可能なバージョンは評価版であると主張していますが、非常に機能しているようです。試用期間がわからない。ライセンスオプションについては、こちらを参照してください:x-ways.net/winhex/order.html
quack quixote

WinHexは爆弾でした....不良セクタ(サーフェススキャンからの絶対セクタ)の影響を受けるファイルを数分で見つけました。素晴らしいチュートリアル。おかげで私は「クワッド・キホーテ」に賛成票を投じるだろうが、私は必要な15の評判を持っていない

ユーザーインターフェイスは、セクターを読み取らずにこの情報を強制的に公開できますか?特定のセクターを読み取ったときにシャットダウン(切り離し、電源オフ)するディスクでリカバリーを実行しています。
シェルドン14

winhex Webサイトがダウン/使用不可になっている(i.imgur.com/1FAX5cN.png)以下のnfiソリューションを試してください。ストレートでシンプル。無料です。「即答」;)
Costin Gușă

21

nfi.exeをお試しください-Windows NTファイルシステム(NTFS)ファイルセクター情報ユーティリティ。Microsoft OEMサポートツールフェーズ3 SR2からダウンロードします

> nfi.exe
Dumps information about an NTFS volume, and optionally determines
which volume and file contains a particular sector.

Usage: nfi drive-letter [logical-sector-number]

        Drive-letter can be a single character or a character followed
        by a colon (i.e., C or C: are acceptable).

        Logical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the volume
        whose drive letter is given by drive-letter. If not
        specified, then information about every file on the volume
        is dumped.

   nfi NT-device-path physical-sector-number

        Determines which volume a given physical sector on a drive is
        within, and then which file on the volume it is in.

        NT-device-path is the NT-style path to a physical device.
        It must not include a partition specification.

        Physical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the physical
        drive whose device path is given by NT-device-path.

    nfi full-win32-path

        Dumps information about a particular file. full-win32-path
        must start with a drive letter and a colon.

「\\?」を省略する必要があることに注意してください。ブロックデバイスパスのプレフィックス。例:

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
    $DATA (nonresident)
        physical sectors 32863720-34098663 (0x1f575e8-0x2084de7)
        physical sectors 28519912-32863719 (0x1b32de8-0x1f575e7)
        physical sectors 25727944-26291143 (0x18893c8-0x1912bc7)
        physical sectors 95163976-115106143 (0x5ac1648-0x6dc615f)

これに賛成するためだけにログインしました。これは答えとしてマークされるべきです!
Costin Gușă

わからない場合はNT-device-path、で検索してみてくださいdd --list。(Unixツールを使用しているユーザーへの注意PATH:これddC:\WINDOWS\system32\dd.exe、フルパスを使用する必要がある場合があります)
ユーザー

Windows 10にはsystem32にこのユーティリティがありません。c:\Windows\System32>dd.exe 'dd.exe' is not recognized as an internal or external command, operable program or batch file.
AEN妖精

1
Microsoftサイトのダウンロードリンクが機能しなくなった
流域

1
また、ウェイバックマシン上で見つけることができweb.archive.org/web/20150329185738/http://...
MKEY

8

ほとんどのデフラグプログラムは、ディスク上のすべてのクラスターを表示するディスクマップを表示し、それをクリックして(不良としてマークされたクラスターを探して)そのクラスターにあるファイルを表示できます。

Walterが言ったように、過去10年程度のディスクとOSのコンボは、不良セクタからファイルを自動的に再配置します(ドライブファームウェアは通常これを処理しますが、ディスクツールchkdskやデフラグツールも通常これを行います)。


デフラグラー:

ここに画像の説明を入力してください

ファイルの最適化:

ここに画像の説明を入力してください

Vopt:

ここに画像の説明を入力してください


有望そうに見えるので、やってみよう。
ChrisWue

6

DiskViewSysinternalsのは、まさにこの機能を実行します。ドライブのディスクマップを表示し、どのファイルがどのクラスターを占有しているかを確認できます。

残念ながら、システムファイルの名前を表示する方法はないようです。

DiskViewメインウィンドウ DiskViewシステムファイル



これが別の回答として投稿した理由です。これはこの目的のために特別に作成されたツールであるため、質問に回答しますが、制限されています(私はまだFAT32を広く使用しています)。すべてのソリューション。(まだ?)
Synetech

5

fsutil管理者コマンドプロンプトから使用できます。サブコマンドにvolumequeryclusterサブサブコマンドがあります。WindowsコマンドラインリファレンスFsutilを参照してください。

Fsutilは、セクター番号の代わりに、論理ドライブのクラスター番号を入力引数として受け取ります。ただし、この数は簡単に計算でき
ます:cluster#=(absolute_sector-start_of_partition_sector)/ sector_per_cluster。

出力例:

c:\tmp> fsutil volume querycluster C: 5235
Cluster 0x0000000000001473, verwendet von
 ----D \Program Filesx86)\LibreOffice 4\program\fwilo.dll::$DATA

3

私が知る限り、ドライブがセクターで一定数の読み取りエラーに達すると、ドライブは不良としてマークされ、その内容はドライブ上の別の場所にコピーされます。これは通常、そのセクターのデータが完全に読めなくなる前に発生します。

私はそのための情報源を掘り下げようとします。昨日それを読んでみましたが、どこを思い出せません。

男hdparmから(8)

また、--repair-sectorフラグを使用して、本当に不良だったセクターを含め、不要になった不良セクターを復元できることに注意してください(ドライブはメディアの新しい領域に再マッピングする可能性が高い)。

結論:不良セクタを気にする必要はありません。ハードドライブファームウェアがそれを行います。あなたがしなければならないことは、それらが多すぎてあなたのドライブが死ぬ前に新しいドライブを取得することです。


再割り当ては読み取りではなく書き込みで行われると確信しています。ドライブのSMARTデータはそれを確認しているようです。セクターの再割り当てカウントが0の場合、保留中のセクターの数は多くなります(0より大きい)。つまり、再割り当て用にマークされた不良セクターがありますが、まだ再割り当てされていません。
-ChrisWue

CHKDSKを試しましたか?en.wikipedia.org/wiki/CHKDSK
Baarn

/ rオプションを見てください
-Baarn

ただし、そのセクターに保存されているファイルに関する情報を取得することはできません。
バールン

2

RunTimeのDiskExplorerを使用すると、ドライブをセクターごとに調べることができます。有料のソフトウェア(NTFSバージョンでは70ドル)ですが、無料で試用できます。NTFS、FAT、Linux(ext2 / 3)のバージョンがあります。

代替テキスト


これは有望に見えましたが、残念ながら機能しません。DiskExplorerは、ドライブのすべてのセクターに対して「無効なMFTエントリ」を表示します。

すべてのセクターでそれが示されている場合、欠落している構成ステップがあると予想していますが、私は長い間このツールを使用していないため、直接指示することはできません。別のツールで別の答えを追加します。おそらく他の誰かがこの1つの適切な使用法でチャイムします。
いんちきのキホーテ

これは構成の問題ではなく、Disk Explorerが非常に複雑で使いにくいということです。それは十分に自動ではありません。(古いDOSプログラムNorton Disk Doctorも同様でしたが、ファイルシステム構造を自動的に読み取って調整するため、使いやすくなりました。残念ながら、NTFSをサポートしておらず、廃止されました。)
Synetech

0

私はスレッドが古いことを知っていますが、そのような問題を抱えているすべての人のための記録のために、Linuxからチェックする方法があります。実行が非常に簡単なslaxなど、cd / usbスティックでライブLinuxをいつでも使用できます。とにかく、仕事に戻りましょう。

今日、読み取り不能なセクター警告を含むいくつかのスマートデーモンログを見つけ、それを調査することにしました。調査後、私は最終的に実行します(#はルート権限を示すプロンプトです。通常のユーザーとして実行している場合は、代わりにsudoを使用できます)。

# smartctl -H /dev/sda2

SMART overall-health self-assessment test result: PASSED

これは、そのドライブがある程度正常であることを示しています。しかし、私はそれを追跡し、さらに調査して実行しましたbadblocks

# badblocks -v /dev/sda2 > ~/log/sda2.badsectors
# cat ~/log/sda2.badsectors

271521948

だから、私はそれが属するファイルを知りたいと思ったいくつかの不正ブロックがあってことが判明し、それは行うことができるとのdebugfs問題は、私が使用して私のパーティションをNTFSということだった、ntfstoolsキーです。

# ntfscluster -s 271521948 /dev/sda2 > 271521948.secinfo 2>&1
# cat 271521948.secinfo | grep -v "extent"

Searching for sector 271521948
Inode 142427 /tmp/dl/setup_torch_2.exe/$DATA
* one inode found

/ grep -v "extent"で表示役に立たない情報を取り除くオフの多くを得ることですntfscluster/

ntfsの場合、必要なものはすべて1つですntfscluster -s $SECTOR

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.