我告诉 fsck 修复 U 盘,它说“保持文件系统不变”。

Sco*_*son 25 linux fedora usb-flash-drive

所以我运行 fsck,它报告

FATs differ but appear to be intact. Use which FAT ?
1) Use first FAT
2) Use second FAT
Run Code Online (Sandbox Code Playgroud)

选择任何一个都会给出一长串错误,例如

Cluster 1471730 out of range (164977891 > 1980013). Setting to EOF.
Cluster 1471732 out of range (252397720 > 1980013). Setting to EOF.
Cluster 1471734 out of range (18601458 > 1980013). Setting to EOF.
Run Code Online (Sandbox Code Playgroud)

然后它说,

Reclaimed 93886 unused clusters (769114112 bytes).
Free cluster summary wrong (1034047 vs. really 1221912)
1) Correct
2) Don't correct
Run Code Online (Sandbox Code Playgroud)

如果我选择 (1),它只会退出而不采取任何行动:

Leaving file system unchanged.
/dev/sdb1: 53 files, 758100/1980012 clusters
Run Code Online (Sandbox Code Playgroud)

那么我该如何解决这个问题?

小智 23

卸载 USB 卷后,您需要将 fsck 与“-w”开关一起使用,这会强制 fsck 立即写入更改。请注意,“-w”需要“-a”(自动模式)或“-r”(交互模式)。


Gil*_*ead 9

man fsck.vfat 说:

注意:如果 -a 和 -r 不存在,则只检查文件系统,而不修复。

因此,要让它实际写入您的更改,请使用 -a 或 -r。-w 选项修改这两者的行为。


小智 7

查看 fsck 手册页。也许尝试 -r 选项或保留 -n 如果您使用它。

另一种可能是分区已满。检查这个。

顺便说一句,发布您使用的确切命令会非常有帮助。