![使用 testdisk 和 photorec 从 USB 闪存驱动器恢复数据](https://linux22.com/image/982541/%E4%BD%BF%E7%94%A8%20testdisk%20%E5%92%8C%20photorec%20%E4%BB%8E%20USB%20%E9%97%AA%E5%AD%98%E9%A9%B1%E5%8A%A8%E5%99%A8%E6%81%A2%E5%A4%8D%E6%95%B0%E6%8D%AE.png)
我有一个 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”列出内容并按照书面说明进行操作。