使用 Win32DiskImager 后恢复 HDD 分区

使用 Win32DiskImager 后恢复 HDD 分区

我想使用 Win32DiskImager 将图像复制到我的一张 SD 卡上。但我点击得太快,图像被写入我的一个外部硬盘而不是我的 SD 驱动器,所以我尽可能快地断开连接。

但为时已晚,ext HDD 已用映像中的分区(4gb +/-,实际上是 wheezy raspbian 映像)覆盖了我的 NTFS 分区。驱动器本身有两个分区,一个是 0-1.3TB 的 NTFS 分区,另一个是驱动器末尾的 FAT32 分区。

有办法恢复我的分区吗?我已经根据当前状态创建了 DD 备份,以确保可以恢复。

谢谢,

德恩斯捷

答案1

实际上涉及两种类型的恢复:

  • 分区表-- 此数据结构定义分区在磁盘上的位置(它们的起点和终点,或起点和长度,以及其他相关元数据,如类型代码)。您的操作覆盖了磁盘开头的分区表。如果您的磁盘使用较旧的主引导记录 (MBR)分区系统,那么分区表就消失了。另一方面,如果你的磁盘使用新的GUID 分区表 (GPT)系统,那么您的备份 GPT 数据几乎肯定是完整的,并且可以用来恢复磁盘的分区表。请参阅这一页有关修复 GPT 磁盘的信息。最多(但不是全部)Windows 7 安装使用 MBR,而绝大多数工厂交付的 Windows 8 机器使用 GPT(至少最初如此;重新安装可以改变这一点)。
  • 文件系统-- 无论您的磁盘最初使用的是 MBR 还是 GPT,磁盘上的第一个文件系统至少有一部分可能被破坏。但是,如果您可以恢复分区表,那么可以想象,使用相当传统的工具(例如或其CHKDSKGUI 等效工具)可以恢复剩余文件。不过,我不是 NTFS 数据恢复方面的专家,所以其他人可能更能帮助您。至少有一些文件可能会丢失,如果您从磁盘启动,则可能需要完全重新安装 Windows。在最坏的情况下,您可能需要使用文件级恢复工具一次一个地从磁盘中提取文件。相簿是一款可以解决此问题的工具,尽管它是跨平台的,而且我听说有些特定于 Windows 的工具可能与 NTFS 配合得更好。不过,恐怕我没有找到它们的指针。

在某些情况下,测试磁盘即使分区表已完全丢失,也可以定位文件系统,从而恢复分区表。如果您的磁盘有多个分区,并且您的意外事件没有侵入某些分区的起始点,则此方法最有可能奏效。例如,如果您覆盖了第一个分区,但保留了第二个分区,TestDisk 可能会帮助您恢复第二个分区,即使您的磁盘使用 MBR,并且您丢失了原始 MBR 数据。

在这种情况下,我通常会建议进行低级备份dd,但这次我会简短一点,因为你说你已经这样做了。(不过,我想提一下这一点,以造福其他读者。)

在解决这个问题时,要有耐心。仔细阅读文档,只有在理解了某些内容后才开始写入磁盘。你不会想读到“键入d”,然后d在响应中键入,然后继续阅读“只有当你想丢失所有数据时才这样做。”;-)

祝您早日康复!

答案2

我知道这是一个较老的话题,但我做的和 Dnstje 完全一样,也许这个答案可以帮助其他人。

首先,感谢 Rod Smith 对这个问题的出色解释。我确实使用了您的参考资料来解决我的问题。

经过长时间的研究,我找到了一款名为 Active@ Partition Recovery 的软件,它不是免费的,但物有所值。我以 39.90 美元的价格购买了个人许可证。

第一次,它使用快速扫描找到了丢失的分区,但无法恢复,因为 Win32DiskImager 创建了 2 个 Linux 分区:/boot 和 /。所以它向我显示了一个警告,告诉我它无法覆盖当前分区。

我关闭了 APR 并打开 Windows 磁盘管理器(控制面板 -> 管理工具 -> 计算机管理 -> 磁盘管理)来删除 booth 分区。

然后,再次打开 APR,对整个磁盘进行 SuperScan,它确实再次找到了我“丢失”的分区。我用鼠标右键单击该分区,然后单击“恢复”。现在 APR 显示由于磁盘没有分区,因此可以恢复(我保留所有默认选项并单击第一个选项卡上的“恢复”按钮)。但任务尚未完成。

驱动器号出现在 Windows 上,但由于文件损坏,Windows 无法读取信息,因此我以管理员身份打开命令提示符并运行 chkdsk [drive_leter] /f 来修复磁盘。

chkdsk 终止任务后,我可以访问我的文件,但磁盘开头的所有文件都丢失了(正如预期的那样,因为 Win32DiskImager 在其上写入了数据)。丢失了大约 250MB,与整个磁盘相比,这算不了什么。

所以,我希望这篇文章能帮助其他面临类似问题的人。如有英文错误,敬请原谅。

最好的,法布里西奥。

相关内容