如何访问 Windows 搜索数据库来了解损坏的硬盘上的文件?

如何访问 Windows 搜索数据库来了解损坏的硬盘上的文件?

我有一台 Windows 10 PC,其中一个硬盘完全坏了(BIOS 无法识别,发出奇怪的声音并且无法使用)。它不是系统盘,但包含大部分私人数据。我不记得盘上到底有什么,这就是问题所在。为了评估损失(并评估硬盘上的进一步数据恢复程序是否值得付出代价),我想获得有关盘上内容的所有可能的线索(文件名,可能还有文件夹名就足够了)。

我认为 Windows 搜索及其所有文件索引可能包含一些有关磁盘上存储内容的信息,并且可以以某种方式检索这些信息(即使只是部分信息)。

是否可以访问 Windows 搜索数据库并从丢失的驱动器中检索带有路径的文件列表,如果可以,如何操作?

请注意,这个问题不是关于损坏硬盘的数据恢复,而是关于 Windows 保存了哪些有关硬盘上曾经存在(但目前不存在)的文件的信息。Windows 文件搜索索引似乎是存储此类信息的潜在位置。

答案1

在评论的帮助下莫伊舍·皮皮克博士我成功访问了 Windows 搜索数据库。

搜索内容默认存储在

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

这是一个相当大的文件(我的情况是 1GB),通常无法复制到其他地方,因为它正在被 Windows 搜索使用。只需打开任务管理器,搜索“Microsoft Windows Search Indexer”并终止“Windows 搜索”进程。然后将 Windows.edb 文件复制到安全的地方。

有关搜索数据库文件格式的信息,例如,在本文档中霍华德·奇弗斯,谁使用wdsCarve软件,似乎无法下载。还有本文Joachim Metz 著。Joachim Metz 似乎也是自由数据库在 Github 上,但是它没有适用于 Windows 的二进制版本并且标记为实验性的。

简而言之,Windows 搜索数据库似乎基于可扩展存储引擎 (ESE) 数据库文件 (EDB) 格式,这是一种 Windows 专有的未记录文件格式,带有附加的混淆和压缩部分。

最后我找到了一个项目金正铉从 2018 年开始温德姆, 和来源(附加依赖项窗体) 在 Github 上。根据博客所述,它是免费的(使用),有适用于 Windows 的二进制文件,此外,使用 Microsofts Visual Studio Community 版本,我可以轻松地自己构建该程序。

使用方法很简单,可以选择 Windows.edb 文件位置,然后检查一些标志以确定要搜索的内容。然后需要一段时间(约 5 分钟),然后在表中显示大约 100k 个条目。按文件位置排序很简单,并且会显示每个文件的元数据。

然而,回到我最初的意图,Windows 搜索数据库中仍然存在的丢失硬盘上的文件数量少得令人失望。硬盘上有数十万个文件,最多只有十分之一或更少的文件被保存下来(实际上这些文件我还记得),所以最终它并没有我想象的那么有用。但它仍然是一种可行的方法,可以访问至少一些关于不再存在和可访问的硬盘内容的元信息。

答案2

这个答案与 Trilarion 对他自己的问题的回答有关。

Moishe Pippik 博士链接的有趣文档描述了索引的范围。这可以解释文件索引百分比低的原因。

此外,您可以测试如果向索引器提供包含随机内容的文件会发生什么。该文件是否会出现在数据库中?

索引器无法读取未知的文件格式。据我所知,在旧版 Windows 中,可以通过提供编译后的代码来扩展索引器,从而使索引器能够读取所创建的文件格式。

可能发生的情况是,那些从技术上无法编入索引的文件不会出现在索引中。

答案3

首先要非常精确和注重细节。您说的是“完全无法访问”。这是常规英语语法吗?其次是“完全无法访问”并不精确。许多人会说,一旦驱动器号仍然存在并且内容被标记为原始,他们的驱动器就“完全无法访问”。

我的定义是,如果驱动器启动时没有异常,但计算机对驱动器发出的任何读取尝试都失败,则必须将其视为“根本无法访问”。

这是对同一个表达的完全不同的理解。

您首先要做的非常简单。最好使用 Linux 机器,连接驱动器并使用 lsblk 命令验证其存在。然后,使用 smartmontools 生成日志文件并对其进行分析。接下来是 - 如果日志文件内容不反对 - 尝试使用 ddrescue 及其日志文件功能复制驱动器。这将为您提供健康驱动器上最完整的副本以及未复制的缺失区域列表。

由于过于偏执,你会快速复制一份副本并处理第二份副本。根据你的预算,你会对第二份副本运行不同的恢复产品。像 Photorec 这样的免费开源指纹识别专家程序会产生没有目录和文件结构等元数据的结果,但 Photorec 的可用输出会让你的记忆回到你存储在其中的内容。

您也可以使用第二份副本在 Windows 计算机上无损地进行此分析。如果收集的信息不够充分,您的工作将开始。

您应该首先了解最常用的分区方案(如旧的 Intel/MBR 分区方案)的工作原理,并了解 GPT。免费开源软件 Testdisk 是一个很好的支持工具。

从格式化驱动器开始,您就需要了解所使用的文件系统,例如 NTFS。由于 NTFS 入门有点困难,因此您最好使用 FAT 文件系统进行练习。一旦您熟悉了,就可以通过覆盖 FAT 文件系统的一部分或整个 FAT(文件分配表)来尝试。然后需要一点编程来搜索它的剩余部分。然后您应该了解碎片整理如何影响您的成功。

理解了简单的文件系统实现后,你就会(假设)了解 NTFS。与恢复程序相比,你唯一的优势是可以利用驱动器内容的剩余内存。

这可能会导致成功,但没有保证。

2001 年,我检查了一个故障的 XP 系统驱动器,它仍然使用 FAT 文件系统。我恢复的唯一东西(最重要)是他的婚礼邀请列表(xls 文件),其中的邀请已经发出。没有办法自动重建文件 - 我必须查看不同的后续群集。由于它是一个 xls 文件,因此没有压缩。我只是看到了文件的第二个群集,它不是线性方式的后续群集。今天,我永远无法成功完成这项任务,因为 Excel xlsx 类型文件中使用的压缩。

相关内容