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?