昨晚我的安卓手机说无法读取 SD 卡,需要格式化。我把它拔出来,放进读卡器,然后尝试将它安装在我的台式电脑上:
$ sudo mount /dev/sdb1 tmp
[sudo] password for ivan:
mount: /dev/sdb1: can't read superblock
尝试对它进行 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!
看看是否真的有什么东西可以挂载:
$ 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
现在,在我破坏其他东西之前,我正在做一个 dd 图像。
我知道 EXT 文件系统在整个设备上都有超级块备份,可以在这种时候使用。FAT 有备份吗?
您知道什么恢复方法吗?
我试过 photorec,它确实能恢复数据,但没有任何文件名或目录结构。它除了恢复我的照片外,没有任何用处,而这些照片是我最不关心的。
答案1
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
答案2
我今天遇到的问题是,Windows XP 和 OpenSuse 12.3 中的 usb-HDD-FAT32-Partition G: 出现“无法读取超级块”的问题。解决方案是:Windows XP 命令 cmd chkdsk G: /F /R
沃尔夫冈