我告诉fsck修复USB记忆棒,上面写着“保持文件系统不变”。


25

所以我运行fsck,它报告

FATs differ but appear to be intact. Use which FAT ?
1) Use first FAT
2) Use second FAT

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

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.

然后说

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

如果我选择(1),它将不执行任何操作而退出:

Leaving file system unchanged.
/dev/sdb1: 53 files, 758100/1980012 clusters

那么我该如何解决呢?

Answers:


23

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


我真的很想念-w选项!+1
didnkoa

9

男人fsck.vfat说:

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

因此,要使其实际写入更改,请使用-a或-r。-w选项修改这两个行为。


7

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

另一种可能性是分区完全满了。检查一下。

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


0

我遇到过同样的问题。我最终通过直接使用dosfsck命令而不是使用fsck(它只是所有各种fsck工具的包装器)来使它工作。我想当fsck调用dosfsck时,它会添加一些选项,导致其无法正常工作。


0

我遇到了同样的问题,灵感来自我直接使用的user258400的答案:

fsck.fat -r /dev/sde1

代替:

fsck -r /dev/sde1

绝招


0

除了像user130302所说的那样传递-w -r之外,我还必须在安装了分区的情况下运行fsck.vfat,以便fsck能够将找到的群集写入(到FSCK000n.REC文件中)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.