sudo fsck -a /dev/sdb1
The /dev/sdb1 part may be different. To find out, just type dmesg and see the sdb:sdb1 in the output:
[12330.974901] sd 11:0:0:0: [sdb] Assuming drive cache: write through
[12330.974911] sdb: sdb1
[12330.995285] sd 11:0:0:0: [sdb] Assuming drive cache: write through
[12330.995289] sd 11:0:0:0: [sdb] Attached SCSI removable disk
Thanks David Ron. I thought it was funny that I could see everything just fine in Ubuntu, and figured there must be some command to fix it.
ReplyDeleteApparently Android is really picky about any files with illegal file names. I had this problem after copying some mp3's over to my SD card and couldn't get rid of the problem until I deleted the files and cleared the trash bin.
ReplyDeleteWill the files in SD card be erased?
ReplyDeleteThe files on the card are left mostly intact, although since the card is damaged in some way, files in the damaged area will be irrecoverable. The irrecoverable files will only be partially recovered and may become useless. In my experience, there will be some lost data, but most of the data will be fine.
ReplyDeleteAlways backup your crucial data.
David --
ReplyDeleteLately, I've found that fsck needs both -w and -r, or it will leave the filesystem unchanged. So I did:
sudo fsck.vfat -w -r /dev/sdc1
Replace sdc1 with your block device. For a FAT32 file system, fsck, dosfsck, and fsck.vfat are equivalent.
midbie: This operation shouldn't remove files in the normal case -- except ones that are probably already too corrupt to be used anyway. copy what you can before you fsck. I mount the filesystem and do:
rsync -av /media/sdcard ~/backups
Replace "/media/sdcard" with wherever it's mounted. If the directory ~/backups doesn't exist, it will be created, and the contents of your sdcard copied to a subdirectory called "sdcard".
Write me if you have any questions.
-- Patrick
Thanks David, your single command worked flawlessly!
ReplyDeleteIt is much more easier than using adb shell, unmounting the data partition and running e2fschk.
I find this post about the SD card corruption. This command is very helpful to see the file system on that drive in Ubuntu. If any bad sector arises then fix it with this command-
ReplyDeletesudo dosfsck -t -a -w /dev/sdb1
fsck.vfat -r /dev/sdXn
Try these commands, these are very helpful.