如何修复损坏的FAT32文件系统
我正在为我的笔式驱动器使用FAT32文件系统。 它经常有文件/数据损坏。
在Windows中,我使用扫描磁盘实用程序来修复FAT32 / NTFS文件系统。 我怎么能在Ubuntu中这样做?
尝试在Linux终端中键入以下命令:
sudo dosfsck -w -r -l -a -v -t /dev/sdc1
sdc1通常是你的笔式驱动器。 您可以通过在终端中键入mount来找到您的笔式驱动器。 它在里面的某个地方。 如果该命令花费了太多时间,请避免使用-t开关。
-
-w
表示立即写入磁盘。 -
-r
表示以交互方式进行磁盘检查(询问您在遇到错误时该怎么做)。 在较新版本的dosfsck上,这是默认值。 -
-l
表示列出已处理的文件名。 -
-a
表示自动修复错误。 如果您想要更好地控制修复可能的错误,请不要使用它。 -
-v
表示详细模式。 产生稍多的输出。 -
-t
表示将不可读的簇标记为坏。
如果您想确保不丢失数据,请首先创建源设备的备份。
您可以尝试Dosfsck,它是dosfstools的一个组件。
为此,输入终端:
sudo apt-get install dosfstools
要使用Dosfsck ,您必须指明所需的设备地址(例如/ dev / sdb1,/ dev / sdb2或其他设备)。
要知道您的设备地址,请打开终端(CTRL + ALT + T),然后运行以下命令:
mount
例如,如果您的分区是/ dev / sdb1,则首先通过运行此命令将其卸载:
sudo umount /dev/sdb1
现在,您可以通过运行以下命令来validation和修复分区:
sudo dosfsck -t -a -w /dev/sdb1
希望这可以帮助。
注意:
如果您收到以下错误,则无法识别您的USB闪存驱动器:
Error: Buffer I/O error on device sdb1
运行此命令:
dmesg|tail
如果输出是:
end_request: I/O error, dev sdb1, sector 0 Buffer I/O error on device sdb1, logical block 0
运行此命令:
sudo dosfsck -t -a /dev/sdb1
当然,您必须根据需要更改设备地址,就像我上面写的那样。
还试试:
fsck.vfat -r /dev/sdXn
dosfsck cheatsheet
这些示例将使用FAT32和/ dev / sdc1
fsck.vfat -n /dev/sdc1
– 一个简单的非交互式只读检查
fsck.vfat -a /dev/sdc1
– 检查文件系统并以非交互方式修复。 总是使用最少破坏性的方法。
fsck.vfat -r /dev/sdc1
– 交互式修复。 如果有多种方法可以解决问题,则始终会提示用户。
fsck.vfat -l -v -a -t /dev/sdc1
– 以非交互方式检查和修复文件系统的非常详细的方法。 -t参数将不可读的簇标记为坏,从而使它们对新创建的文件和目录不可用。