我正在尝试使用 fsck 修复损坏的 sdcard vfat 文件系统(用于 Android 设备)。
有一天,SD 卡突然停止工作(文件浏览器不显示它,在 Android 设置中也不可见),我尝试重新插入它。当这不起作用时,我在 Linux 机器上使用 SD 卡读卡器。在那里,我能够挂载和浏览文件系统,但将其插入 Android 后,它仍然没有显示。我将其重新插入 Linux 机器,文件系统不见了(但设备被识别)。所以我放弃了,使用 cfdisk 创建了一个新的(ext4)分区。完成此操作并退出 cfdisk 后,以前的文件系统(vfat)被恢复,文件可以浏览和查看。我不知道发生了什么。
当前 lsblk 和 fsck 输出:
> lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
mmcblk0
├─mmcblk0p1 vfat 6AEE-8592
├─mmcblk0p2 swap bf2ed99b-104e-4a91-8970-b392a19dccc8 [SWAP]
└─mmcblk0p3 ext4 0cdff248-07ef-48aa-8c67-b9c86c6f8aa9 11G 55% /
mmcblk0boot0
mmcblk0boot1
mmcblk1
└─mmcblk1p1 vfat 35B9-1806
> sudo fsck -av /dev/mmcblk1p1
fsck from util-linux 2.34
fsck.fat 4.1 (2017-01-24)
Checking we can access the last sector of the filesystem
Boot sector contents:
System ID "android "
Media byte 0xf0 (5.25" or 3.5" HD floppy)
512 bytes per logical sector
32768 bytes per cluster
74 reserved sectors
First FAT starts at byte 37888 (sector 74)
2 FATs, 32 bit entries
1930752 bytes per FAT (= 3771 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 3899392 (sector 7616)
482633 data clusters (15814918144 bytes)
16 sectors/track, 4 heads
0 hidden sectors
30896128 sectors total
Reclaiming unconnected clusters.
Checking free cluster summary.
Free cluster summary wrong (189038 vs. really 118813)
Auto-correcting.
Performing changes.
/dev/mmcblk1p1: 1050 files, 363820/482633 clusters
由于某种原因,fsck 返回退出代码 1
> echo $?
1
重复 fsck 命令会产生完全相同的输出。
我能做些什么来解决此问题吗?或者 SD 卡已经坏了?