Can't mount FAT32 drive under Ubuntu Linux
I have a 320GB USB drive with a single large FAT32 partition. The volume mounts perfectly fine on my Mac OS X 10.5.8 machine and Disk Utility on the mac reports no issues with the volume. I can read/write all data on the drive.
However when I connect the drive to my Ubuntu 9.10 Karmic system, the partition does not mount. dmesg|tail
says:
[ 2752.334822] scsi3 : SCSI emulation for USB Mass Storage devices
[ 2752.335040] usb-storage: device found at 3
[ 2752.335044] usb-storage: waiting for device to settle before scanning
[ 2757.330301] usb-storage: device scan complete
[ 2757.331005] scsi 3:0:0:0: Direct-Access WD 3200AAK External 1.65 PQ: 0 ANSI: 0
[ 2757.331772] sd 3:0:0:0: Attached scsi generic sg2 type 0
[ 2757.355647] sd 3:0:0:0: [sdb] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[ 2757.360737] sd 3:0:0:0: [sdb] Write Protect is off
[ 2757.360749] sd 3:0:0:0: [sdb] Mode Sense: 00 00 00 00
[ 2757.360755] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[ 2757.367618] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[ 2757.367631] sdb: sdb1
[ 2762.797622] sd 3:0:0:0: [sdb] Assuming drive cache: write through
[ 2762.797636] sd 3:0:0:0: [sdb] Attached SCSI disk
[ 2822.866228] FAT: bogus number of reserved sectors
[ 2822.866237] VFS: Can't find a valid FAT filesystem on dev sdb1.
When I run fsck.vfat -a /dev/sdb1
I get:
root@cartman:~# fsck.vfat -a /dev/sdb1
dosfsck 3.0.3, 18 May 2009, FAT32, LFN
Logical sector size is zero.
Googling "vfat Logical sector size is zero" produced no consensus as to the solution. I would prefer not to have to completely reformat the disk if possible because it contains about 280GB of data I would rather not have to find a temporary home for. Any suggestions?
For me, fsck.vfat /dev/sdd1
returning "Logical sector size is zero.
" was because it was not vfat, but rather newer exfat. So I had to install tools appropriate tools (apt-get install exfat-utils exfat-fuse
) to be able to mount and fsck it (by using fsck.exfat /dev/sdd1
instead, or even better just fsck /dev/sdd1
and have fsck autodetect the filesystem)
First, I would try to get access to chkdsk.exe if possible and run that on the drive just incase there is a problem with the filesystem and linux is just being much more picky about it.
It seems that fat32 has a backup boot sector at sector 6. You could always try to replace sector 0 with that sector and see if it helps you out, but I would probably try the chkdsk route and see if that helps you out at all.