使用 testdisk 和 photorec 从 USB 闪存驱动器恢复数据

使用 testdisk 和 photorec 从 USB 闪存驱动器恢复数据

我有一个 32GB 的闪存驱动器,但不知何故它不再工作了,它被检测为 8Mb 驱动器,如 fdisk -l 显示:

Disk /dev/sdb: 8 MB, 8454144 bytes
1 heads, 17 sectors/track, 971 cylinders, total 16512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

当我使用 testdisk 时,我得到的结果如下:

Disk /dev/sdb - 8454 KB / 8256 KiB - CHS 971 1 17
Current partition structure:
     Partition                  Start        End    Size in sectors


Partition sector doesn't have the endmark 0xAA55

然后我进入快速搜索,没有找到分区

经过更深入的搜索后,我发现没有分区,并且它显示:

Disk /dev/sdb - 8454 KB / 8256 KiB - CHS 971 1 17

     Partition                  Start        End    Size in sectors


No partition found or selected for recovery

有什么办法可以恢复我的数据吗?我的意思是它似乎是一个分区错误,但 testdisk 无法检测到任何分区表。

谢谢

答案1

我曾经遇到过这种情况,我非常困惑,因为fdisk -l看到一个太小的设备没有任何意义。我打开了 USB 棒,发现里面的单元在物理上是断开的,只是部分断开了。我将它们完全断开,然后重新连接,以使 USB 棒再次工作。

如果你这样做并解决了你的问题,请恢复你的数据,然后打开 GParted,卸载分区(在 GParted 中右键单击),创建一个新的分区表,然后创建一个新的分区。这是为了确保您的分区没有损坏。

答案2

您的柱面/磁头/扇区 (CHS) 似乎不正确。我朋友的 16 GB USB 也遇到了类似的问题。但是当我在 TestDisk 中执行“分析”时,输出中出现了关于不匹配的警告。试试这个:

运行 TestDisk sudo testdisk-> 选择正确的驱动器 -> 选择分区表类型 -> 现在选择 Geomety 来更改 CHS 值。然后在下一个菜单中选择“Head”-> 输入 255 和“Sector”-> 输入 63。其余部分保持原样。按 OK 退出并执行“分析”->“快速搜索”。完成后,按“p”列出内容并按照书面说明进行操作。

相关内容