从损坏的介质中读取数据

时间:2008-10-13 16:59:34

标签: file disk recovery

即使Windows资源管理器炸弹,是否有可能读取损坏的媒体(cd,hdd,dvd,...)?

我的意思是,是否有一组API或某些东西能够以非常低的级别访问磁盘(在资源管理器下面?)并读取任何可以检索的内容,即使它只是部分内容,特别是如果你仍然可以看到该文件来自资源管理器,但无法对它做任何事情,因为它以某种方式损坏(在CD上刮擦等)?

9 个答案:

答案 0 :(得分:3)

Windows资源管理器的主要问题是它不支持在读取错误后恢复复制。例如,每次弹出并重新插入时,大多数表面划痕的CD都会在磁盘的不同区域出现故障。

因此,使用支持恢复复制操作的实用程序,可以通过执行“弹出/重新加载/恢复”几次来读取损坏的CD的全部内容。

事实上,这就是utility I wrote所做的事情,而且我从来没有需要更高级的东西来阅读划痕的磁盘。 (它只使用ReadFile和WriteFile。)

较低的一步是打开原始分区(即磁盘映像),方法是将一个字符串(例如“\。\ F:”)(注意:斜杠在这里是文字)传递给CreateFile。它允许您从驱动器中读取原始扇区,但从该数据重建文件将很困难。

实际上,“\。\”语法允许你在“\ GLOBAL ??”中打开设备Windows对象管理器命名空间的分支,就像它们是文件一样。与使用/ dev / x作为参数调用dd不同。还有一个“\ Device”分支,但只能通过DeviceIoControl()(即ioctl())访问,这意味着没有简单的ReadFile()/ WriteFile()接口。

我想,任何比设备更低的级别都是特定于设备的;比如读取一些CD刻录程序的原始CD-ROM数据(包括ECC位)。您必须对特定介质(CD,闪存,DVD)以及硬件允许您对其进行的研究进行一些研究。

注意:反向滑动似乎在去网页的路上迷路了;你需要将“反斜杠反斜杠点反斜杠DeviceName”传递给CreateFile。当然,你也需要逃避它们。

答案 1 :(得分:1)

如果您想这样做,请从Linux端进行 - 请参阅:http://sourceforge.net/projects/monkeycity/ opensource

或现成的应用和免费软件:http://www.theabsolute.net/sware/dskinv.html

答案 2 :(得分:1)

第一步是dd_rescue。之后,您可以自由尝试重建数据。

答案 3 :(得分:1)

还有GNU ddrescue

  

GNU ddrescue是一种数据恢复工具。它将数据从一个文件或块设备(硬盘,光盘等)复制到另一个,尝试在读取错误的情况下先抢救好的部件。

确保使用3-arg版本(manual):

ddrescue [options] infile outfile [mapfile]

即使它是可选的,也可以使用 mapfile ,因为:

  

如果使用ddrescue的mapfile功能,则可以非常有效地挽救数据(仅读取所需的块)。您也可以随时中断救援,并在以后同一时间恢复。 mapfile是ddrescue有效性的重要组成部分。除非你知道自己在做什么,否则请使用它。

它也包含在Cygwin和Homebrew中。

答案 4 :(得分:0)

我不知道Windows资源管理器和Win32 API之间存在哪个层。您可以尝试使用Win32文件I / O编写程序。如果这不起作用,那么你必须编写自己的设备驱动程序以获得更低的。

答案 5 :(得分:0)

我从linux方面获得了一些运气,或者使用BartPE(http://www.nu2.nu/pebuilder/),但只是看到该文件并不总是意味着该文件将是可恢复的,无论您是从Windows尝试或Linux。你最好的选择可能是试用恢复计划。

答案 6 :(得分:0)

我有两个磁盘开始在我身上瓦解。从不可读的部门模式来看,我认为他们的乳液内部剥落。 WinXP资源管理器刚刚举起手来说驱动器甚至都不存在。

在这两种情况下,我都使用了Runtime Software(http://www.runtime.org/)的“GetDataBack for NTFS”。您可以下载免费试用版,该试用版将向您显示您可以取回的费用。当我买它时它是49美元,但我现在看到它是79美元。

这个节目很棒。它不一定快,因为它会一遍又一遍地重读一些部门,试图从多次尝试中获得共识值,但是当它完成时你可以找回你认为永远消失的东西。我有一个驱动器需要花费超过10个小时来分析,但是当它完成时我得到了超过97%的500GB驱动器。绝对物有所值。

另一个很棒的工具是Beyond Compare。我有转2.5.3,但目前是3。费用30美元。他们拥有全功能,30天的路径。它可以很好地复制大量文件(只有那些需要复制的文件),而且与资源管理器不同,如果出现故障,它不会爆炸。如果你熟悉Samba人的程序,它有点像Windows的视觉rsync。

除了作为一个非常满意的客户之外,我与提到的任何一个公司没有关系。

答案 7 :(得分:0)

从磁存储设备恢复数据的黄金标准必须是SpinRite。这是一个商业应用程序,所以你可能不会从中学到很多东西。

答案 8 :(得分:0)

如果你有一台Linux机器,我可以推荐dvdisaster。它最初用于创建纠错文件,但它也将DVD读入图像并忽略读取错误;并且您可以一个接一个地使用不同的驱动器来填充图像中缺少的扇区。