How to mount this (exFAT) sd card that isn't getting recognized?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
How to mount this (exFAT) sd card that isn't getting recognized?
I have a new 64GB Sandisk sd card that I put into my mobile phone (Android) and after a few weeks of use it stopped recognizing the card. How can I manage to mount it on my Linux computer? I put it into the computer and got the following information:
Code:
$ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 63.9 GB, 63864569856 bytes
255 heads, 63 sectors/track, 7764 cylinders, total 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
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 32768 124735487 62351360 7 HPFS/NTFS/exFAT
As well as the following:
Code:
$ sudo fdisk -l /dev/mmcblk0p1
Disk /dev/mmcblk0p1: 63.8 GB, 63847792640 bytes
4 heads, 16 sectors/track, 1948480 cylinders, total 124702720 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
Disk identifier: 0xf4f4f4f4
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/mmcblk0p1p1 ? 4109694196 8219388391 2054847098 f4 SpeedStor
/dev/mmcblk0p1p2 ? 4109694196 8219388391 2054847098 f4 SpeedStor
/dev/mmcblk0p1p3 ? 4109656385 8219350580 2054847098 f4 SpeedStor
/dev/mmcblk0p1p4 ? 4109694196 4109756903 31354 f4 SpeedStor
Partition table entries are not in disk order
In order to try to mount it I do the following but get error messages. Any idea how I could solve this to mount it successfully?
Code:
$ sudo apt-add-repository ppa:relan/exfat
$ sudo apt-get update
$ sudo apt-get install fuse-exfat
$ sudo mount -t exfat /dev/mmcblk0 /mnt/sdcard
FUSE exfat 0.9.8
ERROR: exFAT file system is not found.
$ sudo mount -t exfat /dev/mmcblk0p1 /mnt/sdcard
FUSE exfat 0.9.8
ERROR: exFAT file system is not found.
The partition table only resides in the MBR which is why you get an error with
fdisk -l /dev/mmcblk0p1
P.S. I missed the second mount command where you did specify the partition ID. Lets see if it is really an exfat filesystem
Try:
file -s /dev/mmcblk0p1
The output of the file command will tell us if the SD card is actually formated as exfat. The card could of just failed which means it can not be read anymore.
The data can actually be read in some recovery systems of my Android device so the card is still is working order. I feel like while I was doing some modifications to my (rooted) phone something might have changed partiiton tables or something like that.
I tried to mount it as NTFS but still get an error:
Code:
$ sudo mount -t ntfs /dev/mmcblk0p1 /mnt/sdcard
NTFS signature is missing.
Failed to mount '/dev/mmcblk0p1': Invalid argument
The device '/dev/mmcblk0p1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Distribution: Mint, Debian, Ubuntu, CentOS, Fedora, Red Hat
Posts: 3
Rep:
Back it up and restore
I am assuming you have something of value on the SD card that you are trying to preserve. If I were you I would dump the image to disk then mount the image and make sure your data is there. If you cannot even dump the image then the card is bad. Use something like
Code:
dd if=/dev/mmcblk0p1 of=badcard.img bs=4M #or whatever bs you think works
.
Then mount the image using the Disk Manager or mount (as a loopback file system). You should be able to run
Code:
fdisk -l /path/to/badcard.img
and get the same result as before. I would then try mounting the image with different type options. You can make as many copies of badcard.img as you like and be as destructive as necessary to get the right type.
I am surprised to read that you are using exFAT. Unless you have very new drivers on your rooted Android, I would not have expected exFAT to work.
Dumping the file as you suggested works fine, thanks for the suggestion, and I can even restore all the files (something like 90,000 of them) using recovery software 'photorec'. The reason why I'd like to mount the filesystem is that I can get back the files with the appropriate timestamps, filenames, and just for the files I need. Maybe 1,000 files are the ones that are actually mine, rather than belonging to other Android apps and other things stored on the sd card - I'd have to dig through 90,000 recovered files to find the ones I need if I stop here.
(On my rooted Android I am using the latest versions of some custom ROMs, so maybe that's why exFAT worked on it.)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.