抽象的
我有一张 FAT32 存储卡,插入计算机后 Windows 会提示格式化。这张卡绝对不应该是空白的,上面有很多文件。
症状
使用十六进制编辑器/磁盘查看器,我检查了该卡,发现几个扇区/簇已被覆盖,USBC
扇区开头的签名为 。具体来说,主引导记录(和分区表)已消失(因此 Windows 认为该卡是空白的,需要格式化),引导扇区也是如此(它们具有 的签名USBC
和卷标NO NAME
以及 的分区类型FAT32
)。
幸运的是,看起来 FAT 的两个副本几乎都完好无损(这里和那里簇开头的几个 FAT 条目似乎被 覆盖了)。根目录也几乎完好无损——我可以看到卷标条目和子目录列表,但一个扇区被覆盖了。( FAT2 中最后一个之后USBC
没有更多的 实例。)USBC
假设
这些观察结果似乎表明某种病毒会删除一些关键的文件系统结构,然后覆盖一些额外的扇区。谷歌搜索似乎证实了病毒的想法,但其他人报告说文件此处不适用USBC
,事实上,不能这是可能的,因为没有文件系统甚至看文件。我找不到任何有关具有这些症状的病毒的信息,也没有删除工具。(我不禁想知道这是否实际上是由于自动运行病毒引起的预防工具。)
问题
我很可能修复 FAT 损坏,因为它们大多是连续的链,甚至可能是根目录的丢失扇区,但有谁知道一种方便的方法来恢复或(重新)创建 MBR/分区表和引导扇区(无需格式化或覆盖数据)?
答案1
答案2
我也遇到过同样的问题。这不是病毒。这是存储卡读卡器的电子故障(至少在我的情况下)。
格式化后,我尝试使用另一个存储卡读卡器在这台计算机上使用另一张卡,没有任何问题。然而,当我用可疑的存储卡读卡器插入另一张存储卡时,它立即损坏了。
答案3
我曾经遇到过并且再次遇到同样的问题。
我有 ADATA 的 NH92 型外置 USB 硬盘。它被格式化为 NTFS。有一次我发现一些文件丢失了,后来越来越多的文件丢失了。最后磁盘损坏了,Windows 要求对其进行格式化。我重新格式化了硬盘 2 到 3 次,由于问题重复出现,所以我要求恢复磁盘。
新硬盘用了半年都没出过任何问题。然后问题又来了。我用 WinHex 磁盘编辑器发现主引导记录已损坏。我研究了 NTFS。我通过从其他具有相同容量、分区和 NTFS 的硬盘复制来恢复引导记录。我验证了 MFT 位置。我看到表的第一个扇区以 USBC 签名开头。其他 MFT 文件记录具有相同的第一个扇区签名,其余扇区有几个其他字节,然后继续为零。我发现每个带有签名的扇区都将数据移到了扇区的后半部分。所以我将这些数据移回原始位置并检查磁盘。硬盘恢复了。两周后又发生了同样的情况。我用防病毒软件检查了 PC,但没有任何结果。我使用了 3 个不同的程序,包括 McAfee。没有结果。未发现病毒。
我猜想病毒主要针对 NTFS,因此我将硬盘重新格式化为 FAT32。一段时间后,一些扇区再次被 USBC 签名覆盖,硬盘文件系统被破坏。我将 PC 送至制造商,对其进行了完全格式化,并重新安装了 Windows。我还重新格式化了硬盘,并创建了两个具有相同数据的逻辑分区以进行备份。
今天我又遇到问题了。我发现第二个逻辑磁盘被毁了。我用 winHex 检查了硬盘,发现看起来正常的逻辑磁盘有超过 100 个扇区带有 USBC 签名,但 MFT 中的所有文件记录仍然正常。我想这个逻辑磁盘也很快就会被毁了。
有趣的是,ADATA NH92 HDD 仅在这台 PC 上出现问题。我在其他 PC 上使用 ADATA NH92 没有问题;我在这台 PC 上使用其他 HDD 也没有问题。我将进行长期观察,以便在这台 PC 上永久使用其他 HDD,并仅在不同的 PC 上使用 ADATA NH92。
我会不时地搜索两个硬盘的扇区签名。所以我会看看。
问候,Michal
答案4
这不是病毒。带有 USBC 字符串的扇区实际上包含 USB 命令块,因此可以解码。出于某种原因,控制器将命令块写入驱动器。对我来说,这听起来像是某些控制器中的一个错误。
我们在 LBA 63 处看到“USBC”扇区,这是引导块的原始位置。在下一个扇区中,我们看到实际的引导块,它“认为”如果我们解码它,它位于 LBA 63 (0x3F)。
换句话说,在插入 USBC 扇区时,引导块会“向下”移动一个扇区。引导块后面的所有扇区也会移动一个扇区,并且 16 个扇区块中的最后一个扇区会被“删除”。
我们可以“解码”USB 命令块:
在我上面的扇区转储中,它会读取类似这样的内容:“从 LBA 63(3Fh)开始写入 16(10h)个扇区”(2Ah 是写入命令)。”
我们可以通过修补 16 个扇区块来部分修复,但我们需要意识到,由于第 16 扇区被丢弃,原本要写入驱动器的内容已经丢失。
为了修补,我们删除了 16 个扇区中的第一个,用零填充最后一个扇区并写回磁盘。在此视频中,我修补了 SD 卡(磁盘映像文件)上的几个 USBC 扇区实例,以便恢复文件,包括文件名 + 文件夹结构:https://youtu.be/xfhu96N5JR4。请注意,这些扇区写在 SD 卡上,换句话说,这不是我的读卡器的问题。
因此,对于 OP 来说:
幸运的是,看起来 FAT 的两个副本几乎都完好无损(这里和那里集群开头的几个 FAT 条目似乎被 USBC 覆盖了)。
这些扇区没有被覆盖,但 USBC 扇区后面的扇区向下移动了。要确定有多少个扇区,我们需要像解码 USBC 扇区一样解码 USB 命令块。然后,您就可以修补大部分文件分配表。
检查 FAT 2 也是一个好主意。如果它没有损坏,您可以使用该副本(或指示您的文件恢复工具使用该副本,例如 DMDE 允许这样做),或者如果两个 FAT 都损坏了但在不同的部分,您可以合并它们。