relan / exfat

Free exFAT file system implementation
GNU General Public License v2.0
779 stars 176 forks source link

Reporting as exfat, but mount fails #37

Closed luisfl closed 5 years ago

luisfl commented 8 years ago

I have a Sandisk 64G Ultra microsd card formated in an Android phone. I tried to use Fedora 23 fuse-exfat to mount the device with mount -t exfat /dev/sdi1 /mnt/gn-sd/, and the system reports:

FUSE exfat 1.2.3

Yet, nothing was mounted. I tried this project exfat.git then, and got the same result:

FUSE exfat 1.2.4

and again, nothing was mounted.

lsblk -f gives me:

sdi `-sdi1   exfat             2B5D-7D8C

but sfdisk -l says:

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)

Suspecting of a damaged card, I run fsck /dev/sdi1:

fsck from util-linux 2.28 exfatfsck 1.2.3 Checking file system on /dev/sdi1. File system version 1.0 Sector size 512 bytes Cluster size 128 KB Volume size 59 GB Used space 37 GB Available space 22 GB Totally 8972 directories and 93747 files. File system checking finished. No errors found.

So the thing seems right.

Thanks!

L.

relan commented 8 years ago

How did you check whether FS is mounted? What does mount print after you've tried to mount your exFAT memory card?

BTW partition type is wrong, it should be 0x07, not 0x0C. This does not matter for Linux, but Windows will refuse to mount it.

luisfl commented 8 years ago

mount command shows nothing mounted with that device. I'm using Linux. The card was formatted in an Android device. Not sure what the wrong partition type would mean, nor how to fix it?

relan commented 8 years ago

Please run fuse-exfat in the debug mode:

mount.exfat-fuse -d /dev/sdi1 /mnt/gn-sd/

And post here all the output it produces. You can safely terminate fuse-exfat using Ctrl+C.

Not sure what the wrong partition type would mean, nor how to fix it?

See here. You can change it using fdisk:

fdisk /dev/sdi
t
7
w
luisfl commented 8 years ago

$ /usr/local/sbin/mount.exfat-fuse -d /dev/sdi1 /mnt/gn-sd/ _FUSE exfat 1.2.4 FUSE library version: 2.9.4 nullpath_ok: 0 nopath: 0 utime_omit_ok: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.24 flags=0x0003f7fb max_readahead=0x00020000 INIT: 7.19 flags=0x00000031 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestionthreshold=0 unique: 1, success, outsize: 40 unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 2447 getattr / unique: 2, success, outsize: 120 unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 2447 statfs / unique: 3, success, outsize: 96 unique: 4, opcode: FORGET (2), nodeid: 1, insize: 48, pid: 0 FORGET 1/1 unique: 5, opcode: DESTROY (38), nodeid: 0, insize: 40, pid: 0 unique: 5, success, outsize: 16

I changed the partition type as you suggested, and tried again the mount-exfat command. Same output, no mounting.

relan commented 8 years ago

Hmmm... fuse-exfat gets unmount command from FUSE. Is there anything relevant in the system log? (Use journalctl to print it.)

luisfl commented 8 years ago

This is the output of journalctl -r (reverse order) after trying to mount the device:

Jul 01 23:48:22 Orion systemd[1]: Unmounted /mnt/gn-sd. Jul 01 23:48:22 Orion systemd[1]: Mounted FUSE Control File System. Jul 01 23:48:22 Orion systemd[1]: Unmounting /mnt/gn-sd... Jul 01 23:48:22 Orion systemd[1]: Mounting FUSE Control File System... Jul 01 23:48:22 Orion systemd[1]: mnt-gn\x2dsd.mount: Unit mnt-gn\x2dsd.mount is bound to inactive unit dev-disk-by\x2duuid-4A2D\x Jul 01 23:48:22 Orion kernel: fuse init (API version 7.24) Jul 01 23:48:14 Orion audit[4848]: USER_START pid=4848 uid=0 auid=500 ses=1 msg='op=PAM:session_open grantors=pam_keyinit,pam_keyi Jul 01 23:48:14 Orion audit[4848]: CRED_ACQ pid=4848 uid=0 auid=500 ses=1 msg='op=PAM:setcred grantors=pam_rootok acct="root" exe= Jul 01 23:48:14 Orion audit[4848]: USER_ACCT pid=4848 uid=0 auid=500 ses=1 msg='op=PAM:accounting grantors=pam_succeed_if acct="ro Jul 01 23:48:14 Orion audit[4848]: USER_AUTH pid=4848 uid=0 auid=500 ses=1 msg='op=PAM:authentication grantors=pam_rootok acct="ro Jul 01 23:48:14 Orion audit[4847]: USER_START pid=4847 uid=0 auid=500 ses=1 msg='op=PAM:session_open grantors=pam_keyinit,pam_limi Jul 01 23:48:14 Orion audit[4847]: CRED_REFR pid=4847 uid=0 auid=500 ses=1 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct=" Jul 01 23:48:14 Orion audit[4847]: USER_CMD pid=4847 uid=500 auid=500 ses=1 msg='cwd="/home/gato" cmd=7375202D terminal=pts/2 res= Jul 01 23:48:05 Orion kernel: sd 9:0:0:0: [sdj] Attached SCSI removable disk

Changed the USB adapter and tried again:

-- Logs begin at Sat 2015-11-07 15:08:24 BRST, end at Sat 2016-07-02 00:01:33 BRT. -- Jul 02 00:01:33 Orion systemd[1]: Unmounted /mnt/gn-sd. Jul 02 00:01:33 Orion systemd[1]: Unmounting /mnt/gn-sd... Jul 02 00:01:33 Orion systemd[1]: mnt-gn\x2dsd.mount: Unit mnt-gn\x2dsd.mount is bound to inactive unit dev-disk-by\x2duuid-4A2D\x Jul 02 00:01:31 Orion systemd[1]: Unmounted /mnt/gn-sd. Jul 02 00:01:31 Orion systemd[1]: Unmounting /mnt/gn-sd... Jul 02 00:01:31 Orion systemd[1]: mnt-gn\x2dsd.mount: Unit mnt-gn\x2dsd.mount is bound to inactive unit dev-disk-by\x2duuid-4A2D\x Jul 02 00:01:23 Orion kernel: sdg: sdg1

relan commented 8 years ago

Sounds like a systemd bug or misconfiguration.

luisfl commented 8 years ago

I find unlikely it is that bug. It was fixed in systemd-219-9.fc22, and I'm using systemd-222-14.fc23.

Any suggestion about the possible misconfiguration?

Mount command works fine for vfat cards, but not for exfat. I have the same problem with 3 microsd cards...

relan commented 8 years ago

No ideas, unfortunately. Try contacting systemd developers.

relan commented 5 years ago

No new info for over 2 years, closing.