我刚刚因为内存问题丢了一台笔记本电脑。我不需要从中恢复任何东西,而且我已经把它处理掉了,所以对我来说这只是一个假设性问题。
在具有良好 RAM 的设备上恢复数据时,您可以使用实时 Linux 发行版并将文件传输到外部存储介质。在具有不良 RAM 的设备上,您可以移除内部存储介质并将其连接到另一台设备。
如果你的设备使用 eMMC,则这两个选项均不可用和内存不好。但是是仍然可以运行 memtest,它不使用 RAM,但仍可访问 RAM。据我所知,这意味着应该存在一个类似的程序,它可以从连接到主板的任何存储设备中恢复数据,而无需使用 RAM(如果我可以访问 RAM,为什么不能访问存储?)。
那么问题是:是否存在这样的数据恢复程序?如果不存在,为什么?
快速编辑:我刚想起来badram
启动参数,所以为了回答这个问题,我们假设不是 RAM 有问题,而是主板上的 RAM 连接器有问题。所以 RAM 根本无法使用。
快速编辑 2:我刚刚发现这个问题,因此看来 memtest做使用 RAM,所以我不确定我的问题是否有价值。
答案1
Memtest 确实使用 RAM。badram 也使用 RAM;它仅将要避免使用的 RAM 列入黑名单。
有些软件无需 RAM 即可运行。一个例子就是 BIOS 的早期阶段。处理器处于缓存作为 RAM 模式或 CRAM 模式,因为 BIOS 本身负责配置内存参数。处理器上的缓存非常少,通常只有几 MB。没有空间容纳任何复杂的软件。在启动的这个阶段,BIOS 只有足够的空间来设置 RAM,因此这是它唯一要做的事情。一旦设置了 RAM,BIOS 就可以开始运行更大的程序来设置系统的其他部分,例如存储控制器和 USB。
我不知道有任何可启动工具可以在没有 RAM 的系统上恢复数据。我认为不可能将启用存储控制器和任何其他 I/O 设备的代码放入 CRAM 的占用空间中。即使可以将该代码压缩到 CRAM 占用空间,这样的工具也会特定于您的存储控制器,并且仅适用于您的特定笔记本电脑型号。我认为永远不会创建这样的工具。
我不是数据恢复专家,但我认为最简单的解决方法是从系统中删除 emmc 并使用其他东西(另一个相同的系统或诊断工具)来复制数据。