我有一个 1TB 的外置硬盘。我错误地打开了自己的 SD 卡映像(使用 Windows 8 下的软件)并单击“写入”按钮。然后我立即停止它。但令我震惊的是,刷新映像几秒钟后所有分区都丢失了。
有没有办法恢复因写入映像而导致的分区?为什么硬盘大小会变成 SD 卡大小(因为提到的映像)?
我曾经尝试过一款名为“TestDisk”的强大软件但遗憾的是全部尝试都失败了。
答案1
您知道 1TB 磁盘是如何分区的吗?它只是一个只有一个分区的数据转储磁盘吗?它上面有什么文件系统?NTFS?
NTFS 文件系统通常在分区的最后一个扇区中有一个备份引导扇区。如果磁盘只有一个分区,您会在磁盘的末尾找到它。您可能需要使用磁盘十六进制编辑器来执行此操作:打开磁盘(通常有一个用于打开磁盘而不是常规文件的特殊选项),然后查看磁盘的末尾。在某个地方,应该有一个扇区,其前几个字节有字符串“NTFS”。那就是您要查找的备份扇区。
如果磁盘上的最后一个扇区包含字符串“EFI PART”,则您有一个 GPT 分区磁盘,这使得从头开始创建分区表(仅使用十六进制编辑器)有点棘手。
假设您没有找到“EFI PART”字符串,但是在最后的扇区中的某个地方找到了 NTFS 字符串,然后执行以下操作:
a) 创建一个新的空 MBR 分区表(删除扇区 0 的最后 66 个字节并在扇区 0 的最后两个字节中输入 55 AA)b) 创建一个新的分区条目(从结束前 66 个字节开始),其值如下:00 00 FF FF FF 07 FF FF FF 00 08 00 00 XX XX XX XX 最后 4 个字节(XX XX XX XX)实际上取决于磁盘大小,并且应该与您在偏移量 0x28 的 NTFS 备份扇区中找到的值加 1 相匹配 c) 现在将备份 NTFS 引导扇区复制并粘贴到扇区 2048。
NTFS 主文件表 (MFT) 的默认位置位于 C0000 簇,位于磁盘的 3 GB 处。因此,如果您真的停止将 SD 映像写入磁盘,则 MFT 本身很可能仍然完好无损。可能损坏的是卷位图和镜像 MFT,但通常可以通过运行 chkdsk(或 scandisk)来修复它们。
testdisk 程序可能很难找到任何东西,因为你用有效的新文件系统(至少部分)覆盖了磁盘的开头,所以它可能不会真正尝试在某处寻找外部主文件表。