I'm using the FAT32 file system for my pen drive. It frequently has file/data corruptions.
In Windows, I used the scan disk utility to fix the FAT32/NTFS file systems. How can I do this in Ubuntu?
14 Answers
Try typing the following command in the Linux terminal:
sudo dosfsck -w -r -l -a -v -t /dev/sdc1sdc1 is usually your pen drive. You can find your pen drive by typing mount in terminal. It's somewhere inside. If that command takes too much time for you, avoid -t switch.
-wmeans write to disk immediately.-rmeans to do disk check interactively (ask you what to do to when encountering errors). On newer versions of dosfsck this is the default.-lmeans to list the filenames processed.-ameans automatically fix errors. Do not use it, if You want to have more control over fixing possible errors.-vmeans verbose mode. Generates slightly more output.-tmeans mark unreadable clusters as bad.
If you want to be sure not to lose your data, create a backup of the source device first.
7You can try Dosfsck, which is a component of dosfstools.
For this, type in terminal:
sudo apt-get install dosfstoolsTo use Dosfsck, you have to indicate the device address you want (Ex. /dev/sdb1, /dev/sdb2, or other device.).
To know your device address, open the terminal (CTRL+ALT+T), then run this command:
mountIf your partition is /dev/sdb1, for example, then unmount it first by running this command:
sudo umount /dev/sdb1Now you can verify and repair your partition by running this command:
sudo dosfsck -t -a -w /dev/sdb1Hope this helps.
Note:
if you receive the following error, when your USB flash drive is not recognized:
Error: Buffer I/O error on device sdb1Run this command:
dmesg|tailIf the output is:
end_request: I/O error, dev sdb1, sector 0
Buffer I/O error on device sdb1, logical block 0Run this command:
sudo dosfsck -t -a /dev/sdb1Of course, you must change the device address to your needs, like i wrote above.
2These examples will use FAT32 and /dev/sdc1
fsck.vfat -n /dev/sdc1
- a simple non-interactive read-only check
fsck.vfat -a /dev/sdc1
- checks the file system and fixes non-interactively. Least destructive approach is always used.
fsck.vfat -r /dev/sdc1
- interactive repair. User is always prompted when there is more than a single approach to fixing a problem.
fsck.vfat -l -v -a -t /dev/sdc1
- a very verbose way of checking and repairing the filesystem non-interactively. The -t parameter will mark unreadable clusters as bad, thus making them unavailable to newly created files and directories.
Also try:
fsck.vfat -r /dev/sdXn