壊れたハードドライブ上のファイルについて知るために、Windows 検索データベースにアクセスするにはどうすればよいでしょうか?

壊れたハードドライブ上のファイルについて知るために、Windows 検索データベースにアクセスするにはどうすればよいでしょうか?

私は Windows 10 PC を使用していますが、ハード ディスクの 1 つが完全に壊れてしまいました (つまり、BIOS で認識されず、変な音がして使用できません)。それはシステム ディスクではありませんでしたが、主にプライベート データが含まれていました。ディスクに何が入っていたか正確には覚えていないので、それが問題です。損失を評価するために (そして、ハード ディスクでさらにデータ回復手順を実行する価値があるかどうかを評価するため)、ディスクに何が入っていたかについてのあらゆる手がかり (ファイル名、おそらくフォルダー名で十分) を入手したいと思います。

おそらく、ファイルのインデックス作成機能を備えた Windows 検索には、ディスク上の内容に関する情報がどこかに保存されており、たとえ部分的であっても、その情報を何らかの方法で取得できるのではないかと考えました。

Windows 検索データベースにアクセスし、紛失したドライブからパスを含むファイルのリストを取得することは可能ですか? 可能であれば、その方法を教えてください。

この質問は、壊れたハード ディスクのデータ復旧に関するものではなく、ハード ドライブにあった (ただし現在は保存されていない) ファイルに関して Windows がどのような情報を保存するかに関するものであることに注意してください。Windows ファイル検索インデックスは、そのような情報が保存される可能性のある場所のようです。

答え1

コメントのおかげでモイシェ・ピピク博士Windows 検索データベースへのアクセスに成功しました。

検索コンテンツはデフォルトで次の場所に保存されます

C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb

これはかなり大きなファイル (私の場合は 1 GB) であり、Windows 検索で使用されているため、通常は他の場所にコピーできません。タスク マネージャーを開き、「Microsoft Windows Search Indexer」を検索して、「Windows 検索」プロセスを終了してください。次に、Windows.edb ファイルを安全な場所にコピーします。

検索データベースのファイル形式に関する情報は、例えばこの文書に記載されています。ハワード・チヴァース、使用するwdsCarveソフトウェアはダウンロードできないようです。これそしてこの記事ジョアキム・メッツ著。ジョアキム・メッツは、リベセドGithub では、Windows 用のバイナリ リリースはなく、実験的とマークされています。

つまり、Windows 検索データベースは、難読化と圧縮部分が追加された、Windows 独自の文書化されていないファイル形式である Extensible Storage Engine (ESE) データベース ファイル (EDB) 形式に基づいているようです。

最後に、私はキム・ジョンヒョン2018年からWinSearchDBAnalyzer、 とソース(追加の依存関係Winフォーム) を Github で公開しています。ブログによると、無料で使用でき、Windows 用のバイナリが用意されており、さらに Microsoft の Visual Studio Community エディションを使用すれば、自分で簡単にプログラムを構築できるそうです。

使い方は簡単です。Windows.edb ファイルの場所を選択し、検索対象を示すフラグをチェックします。しばらく (約 5 分) 待ってから、約 10 万件のエントリがテーブルに表示されます。ファイルの場所による並べ替えは簡単で、各ファイルのメタデータが表示されます。

しかし、当初の目的に戻ると、Windows 検索データベースにまだ残っている失われたハード ドライブ上のファイルの数は、残念ながら少なかった。そのハード ドライブ上の何十万ものファイルのうち、最大でも 10 分の 1 以下しか含まれていなかった (実際に私がまだ覚えているもの) ため、結局は思ったほど役に立たなかった。それでも、存在せずアクセスできないハード ドライブの内容に関するメタ情報に少なくともアクセスするには、有効な手段である。

答え2

この回答は、Trilarion 自身の質問に対する回答に関連しています。

Moishe Pippik 博士がリンクした興味深いドキュメントでは、インデックス作成の範囲について説明しています。これにより、インデックスが作成されたファイルの割合が低いことが説明できます。

さらに、ランダムなコンテンツを含むファイルをインデクサーに提示した場合に何が起こるかをテストすることもできます。このファイルはデータベースに表示されるでしょうか、それとも表示されないでしょうか?

不明なファイル形式は、インデクサーでは読み取れません。私の知る限り、古い Windows バージョンでは、コンパイルされたコードを提供することでインデクサーを拡張し、作成したファイル形式をインデクサーが読み取れるようにすることができました。

技術的にインデックスを作成できないファイルは、インデックスに表示されない場合があります。

答え3

まず第一に、非常に正確かつ詳細にする必要があります。「まったくアクセスできない」とおっしゃいましたが、これは通常の英語の文法ですか? 次に、「まったくアクセスできない」というのは正確ではありません。ドライブ文字がまだ残っていて、コンテンツが raw としてマークされると、ドライブは「まったくアクセスできない」と多くの人が言うでしょう。

私の定義では、ドライブの電源は異常なく入るが、コンピュータからドライブへの読み取り試行が失敗する場合は、「まったくアクセスできない」とみなす必要があります。

これは同じ表現に対する全く異なる理解です。

最初にできることは非常に簡単です。Linux マシンを使用してドライブを接続し、lsblk コマンドでその存在を確認します。次に、smartmontools を使用してログ ファイルを生成し、それを分析します。次に、ログ ファイルの内容に問題がなければ、ddrescue とそのログ ファイル機能を使用してドライブを複製します。これにより、正常なドライブ上にほぼ完全な複製が作成され、コピーされなかった欠落領域のリストが提供されます。

心配な人は、すぐに複製を作成し、2 番目のコピーで作業します。予算に応じて、2 番目のコピーに対してさまざまな回復製品を実行します。Photorec のような無料のオープン ソース フィンガープリンティング専門プログラムは、ディレクトリやファイル構造などのメタデータなしで結果を生成しますが、Photorec の使用可能な出力により、メモリをそこに保存していた内容に戻すことができます。

この分析は、2 番目のコピーを使用して Windows マシンでも問題なく実行できます。収集された情報が不十分な場合は、作業が開始されます。

まず、古い Intel/MBR のような最もよく使用されるパーティション スキームがどのように機能するかを学び、GPT についても学ぶ必要があります。無料のオープン ソース ソフトウェア Testdisk は、サポートする優れたツールです。

ドライブのフォーマットに使用したファイル システムがわかったら、次に、たとえば NTFS などの該当するファイル システム フォーマットについて学習する必要があります。NTFS は最初は少し難しいので、FAT ファイル システムで練習することをお勧めします。慣れてきたら、FAT ファイル システムの一部または全体の FAT (ファイル アロケーション テーブル) を上書きして試すことができます。その後、残った部分を検索するには、少しプログラミングが必要になります。次に、デフラグが成功にどう影響するかを学習する必要があります。

単純なファイル システムの実装を理解したら、(おそらく) NTFS にたどり着くでしょう。回復プログラムに対する唯一の利点は、ドライブ コンテンツの残りのメモリを有効活用できることです。

それは成功をもたらす可能性はあるが、保証はない。

2001 年に、私はまだ FAT ファイル システムを使用している、故障した XP システム ドライブを調べました。私が回復できた唯一のもの (とにかく重要なもの) は、すでに送られた招待状を含む彼の結婚式の招待状リスト (xls ファイル) でした。ファイルを自動的に再構築する方法はなく、後続のさまざまなクラスターを確認する必要がありました。xls ファイルであるため、圧縮されていませんでした。ファイルの 2 番目のクラスターを確認しただけで、線形に続くものではありませんでした。今日、Excel xlsx タイプのファイルで使用される圧縮に関して、そのタスクを成功させることはできなかったでしょう。

関連情報