I'm having a very strange problem. I have a flash drive which is formatted as FAT32. I copied a file to the flash drive and lend it to a friend, who plugged it to his windows PC. The PC did not recognize the drive, so I unplugged it and plugged it to my computer again. To my surprise, it had gotten somehow corrupted. It doesn't get automatically mounted when it is plugged in. Here is all the info and things I have tried so far:

dmesg output doesn't seem unsual:

[  478.362253] usb 1-1: new high-speed USB device number 5 using xhci_hcd
[  478.510783] usb 1-1: New USB device found, idVendor=0781, idProduct=5567
[  478.510789] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  478.510793] usb 1-1: Product: Cruzer Blade
[  478.510796] usb 1-1: Manufacturer: SanDisk
[  478.510799] usb 1-1: SerialNumber: 200445288302C3307B37
[  478.511329] usb-storage 1-1:1.0: USB Mass Storage device detected
[  478.511718] scsi host3: usb-storage 1-1:1.0
[  479.535236] scsi 3:0:0:0: Direct-Access     SanDisk  Cruzer Blade     1.27 PQ: 0 ANSI: 6
[  479.535836] sd 3:0:0:0: Attached scsi generic sg3 type 0
[  479.536971] sd 3:0:0:0: [sdc] 30751744 512-byte logical blocks: (15.7 GB/14.7 GiB)
[  479.537894] sd 3:0:0:0: [sdc] Write Protect is off
[  479.537901] sd 3:0:0:0: [sdc] Mode Sense: 43 00 00 00
[  479.538240] sd 3:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  479.544351]  sdc: sdc1
[  479.545889] sd 3:0:0:0: [sdc] Attached SCSI removable disk

lsblk output (related to sdc) is:

sdc      8:32   1  14,7G  0 disk 
└─sdc1   8:33   1  14,7G  0 part 

sudo fdisk -l output (related to sdc) is:

Disk /dev/sdc: 14,7 GiB, 15744892928 bytes, 30751744 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x52febbce

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdc1        2048 30750719 30748672 14,7G  b W95 FAT32

sudo mount /dev/sdc1 flashdrive/ gives the error:

mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

sudo mount -t vfat /dev/sdc1 flashdrive/ gives the same result.

I also tried sudo fsck.vfat /dev/sdc1, but I get the error

fsck.fat 3.0.28 (2015-05-16)
Logical sector size (138 bytes) is not a multiple of the physical sector size.

Finally, I tried with the program gparted. Information about /dev/sdc1 is

Unable to detect file system! Possible reasons are:
- The file system is damaged
- The file system is unknown to GParted
- There is no file system available (unformatted)
- The device entry /dev/sdc1 is missing

I also tried gparted functionality attempt data rescue, but it couldn't recover anything.

So, this is it. I haven't re-formatted the flash drive, hoping that there may be a way to avoid losing all its data. Any suggestions?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.