Failing to mount exFat on Linux

0

I have an exFAT filesystem in a microSD card (devide /dev/sdi appears in dmesg when I plug it using a microSD to USB adapter). The card works on Android, and I want to mount it in Fedora 23. I tried these:

 mount /dev/sdi1 /mnt/gn-sd
 mount -t exfat /dev/sdi1 /mnt/gn-sd
 mount.exfat /dev/sdi1 /mnt/gn-sd
 mount -a -t exfat /dev/sdi1 /mnt/gn-sd

All of them give the very same output:

 FUSE exfat 1.2.3

Yet, the device is not mounted anywhere. Nothing happened, mount command shows nothing. The command fsck /dev/sdi1 simply gives

 fsck from util-linux 2.28

and exits immediately with exit code 0. The command sfdisk -l /dev/sdi gives the following:

Disk /dev/sdi: 59.5 GiB, 63864569856 bytes, 124735488 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: 0x00000000

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdi1  *     2048 124735487 124733440 59.5G  c W95 FAT32 (LBA)

and this is dmesg output:

usb 3-11: new high-speed USB device number 13 using xhci_hcd
usb 3-11: New USB device found, idVendor=05e3, idProduct=0736
usb 3-11: New USB device strings: Mfr=3, Product=4, SerialNumber=2
usb 3-11: Product: USB Storage
usb 3-11: Manufacturer: Generic
usb 3-11: SerialNumber: 000000000272
usb-storage 3-11:1.0: USB Mass Storage device detected
scsi host12: usb-storage 3-11:1.0
scsi 12:0:0:0: Direct-Access     Generic  STORAGE DEVICE   0272 PQ: 0 ANSI: 0
sd 12:0:0:0: Attached scsi generic sg9 type 0
sd 12:0:0:0: [sdi] 124735488 512-byte logical blocks: (63.9 GB/59.5 GiB)
sd 12:0:0:0: [sdi] Write Protect is off
sd 12:0:0:0: [sdi] Mode Sense: 0b 00 00 08
sd 12:0:0:0: [sdi] No Caching mode page found
sd 12:0:0:0: [sdi] Assuming drive cache: write through
 sdi: sdi1
sd 12:0:0:0: [sdi] Attached SCSI removable disk
 sdi: sdi1

Any idea what is happening?

Luis A. Florit

Posted 2016-06-01T00:47:12.230

Reputation: 151

1Id c in fdisk output indicates FAT32, exFAT would be 7; yet it may or may not correspond with actual filesystem. You can invoke sudo file -s /dev/sdi1 to check the filesystem out. – Kamil Maciorowski – 2016-06-01T08:24:30.793

@KamilMaciorowski, file command just says "DOS/MBR boot sector". No indication of filesystem. Yet, Android shows files inside the card that I can change, etc. – Luis A. Florit – 2016-06-01T13:29:23.913

Answers

0

Why did you use exfat? The manual does not recognize any such filesystem type; instead, it states:

-t, --types vfstype

The argument following the -t is used to indicate the filesystem type. The filesystem types which are currently supported include: adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Note that coherent, sysv and xenix are equivalent and that xenix and coherent will be removed at some point in the future - use sysv instead. Since kernel version 2.1.21 the types ext and xiafs do not exist anymore. Earlier, usbfs was known as usbdevfs. Note, the real list of all supported filesystems depends on your kernel.

Hence your command should have been:

mount -t vfat /dev/sdi1 /mnt/gn-sd

and similarly

fsck.vfat -v -V /dev/sdi

It is quite possible that this alone does not solve your problem (the filesystem might be corrupt), but at least you will be using the correct command, and hopefully will get a meaningful error message.

MariusMatutiae

Posted 2016-06-01T00:47:12.230

Reputation: 41 321

I tried that also. Trying to mount it as vfat gives "wrong fs type..." I tried exfat because of the FUSE output. This is a card formated in an Android phone. – Luis A. Florit – 2016-06-01T13:22:48.177