FAT 文件系统 - 坏超级块

Iva*_*hev 11 linux restore repair fat32 superblock

昨晚我的安卓手机说它无法读取 SD 卡,它想格式化它。我把它拉出来,放在读卡器里,然后试着把它安装在我的台式电脑上:

$ sudo mount /dev/sdb1 tmp
[sudo] password for ivan: 
mount: /dev/sdb1: can't read superblock
Run Code Online (Sandbox Code Playgroud)

试图 fsck 它:

$ sudo fsck.msdos /dev/sdb1
dosfsck 3.0.12, 29 Oct 2011, FAT32, LFN
  Contains a free cluster (2). Assuming EOF.
FAT32 root dir starts with a bad cluster!
Run Code Online (Sandbox Code Playgroud)

并查看是否有任何东西要安装:

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 3951 MB, 3951034368 bytes
122 heads, 57 sectors/track, 1109 cylinders, total 7716864 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

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            8192     7716863     3854336    b  W95 FAT32
Run Code Online (Sandbox Code Playgroud)

现在我正在做一个 dd 图像,然后再破坏其他东西。

我知道 EXT 文件系统具有跨设备的超级块备份,可以在这样的时刻使用。FAT 有备份吗?

你知道有什么恢复方法吗?

我试过 photorec 并且它确实设法检索了数据,但没有任何文件名或目录结构。除了恢复我的照片外,它没有任何好处,而它们是我最不关心的。

Iva*_*hev 18

testdisk 做的工作!

>Create a new log file
[Choose Disk]
>Intel/PC partition
>Advanced
[Choose Partition]
>Boot
>Repair FAT
[Accept Defaults and Write]
>(Q)uit until exited
Run Code Online (Sandbox Code Playgroud)

从这里:http : //ubuntuforums.org/showthread.php?t=2103994

  • 这是一条救命稻草,谢谢!两件事:1) 就我而言,在“修复 FAT”操作对我开放之前,我必须选择“重建 BS”。正如您链接的论坛帖子中的评论指出的那样,更多信息(以及通常的 TestDisk)在这里:http://www.cgsecurity.org/wiki/Advanced_FAT_Repair#Rebuild_a_valid_FAT_boot_sector 2)我相信您应该接受自己的答案这就是协议。希望它可以帮助人们提出这个解决方案,因为这是一个常见的问题! (3认同)