问题描述
我正在为我的笔式驱动器使用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
现在您可以通过运行以下命令来验证和修复您的分区:
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