4

My phone (a refurbished Kyocera Hydro Icon running non-rooted Android 4.3) shows storage info of a sd card in picture 1. What's the path of its mounting point?

The size matching in picture 1 and 2 suggests its directory is /storage/sdcard0.

But ES File Explorer shows the content of /storage/sdcard0 isn't empty after I unmount the sd card. Picture 3 and 4 are before and after I unmount the sd card.

I can't find the sd card in the back of the phone. See picture 5. Where is it? (Update: I found the 2GB sd card, it is a little black thing, a little vague to see in the picture 5)

Thanks.

Storage in Settings Storage in ES file manager
Storage as shown in Settings (left) and ES file manager

both cards mounted external card removed
sdcard0 with both cards mounted (left, note the internalSD folder) and with the external card removed

SD card is inserted
There's an SD card inserted. Click the image for a larger variant if you don't believe

I've checked with mount and df while both cards are mounted, and with the external card umounted:

mount mount
output of mount with the external mounted (left) and unmounted (click images for larger variants)

df df

output of df with the external mounted (left) and unmounted (click images for larger variants)

  • SD card on newer Android phones, when referring to /storage/sdcard0, is meant in the sense of internal storage usable as an SD card. You should not attempt to unmount it, because it automatically gets remounted, because it's needed by many apps as their secondary storage to store large amounts of data (/data/data/ is the primary but smaller one). – GiantTree Sep 15 '15 at 17:23
  • Thanks, Tim. I've cleaned up a bit more, and rearranged your question as well (while including facts collected in the comments). So let's remove our comments now, leaving the one of GiantTree as only remain, shall we? // BTW: I've updated my answer as well. If that satisfies you, consider accepting it :) – Izzy Sep 15 '15 at 21:19
2

Checking your pics again: that device seems to have a weird mounting set up, which I've never seen before on an Android device. /storage/sdcard0 indeed is your internal SD. But as soon as the external card is mounted, some kind of "overlay file system" seems to be initialized, blending it in with the internal card as if it were a single device. You can see that by the fact that, when unmounting, some entries from pic#3 disappear (pic#4; of course the files from the external card) while some remain (those on the internal card).

To find out where the external card is mounted physically, you can use the mount or df command at a terminal prompt: no root required for that, a simple terminal app will do or, alternatively, access via adb shell (see: and its tag-wiki).


Edit: After having collected df output with and without the external card mounted, the situation looks a bit more confusing. Here's what's happening in your case:

  • the internal SD card gets mounted to /storage/sdcard0, as it should be.
  • when the external card is inserted,
    1. the internal one gets unmounted
    2. the external card gets mounted to /storage/sdcard0
    3. the internal card gets mounted to /storage/sdcard0/internalSD
  • when the external card is unmounted, things reverse again

So /storage/sdcard0 never shows "empty", but the content "changes". Relevant parts of df output to confirm this:

# df run with the external card mounted:
/storage/sdcard0              1.9G …
/storage/sdcard0/internalSD   1023.7M …
# df run after unmounting the external card:
/storage/sdcard0              1023.7M …

Check with the sizes to confirm. Another proof is the mount output:

# mount with both cards mounted:
/dev/block/vold/179:65 /storage/sdcard0 vfat
/dev/block/vold/179:30 /storage/sdcard0/internalSD vfat
# after unmounting the external card:
/dev/block/vold/179:30 /storage/sdcard0 vfat

Here you clearly see the device (first column) mounted to /storage/sdcard0 changes (which explains why I wanted the mount output in the first place). So no UnionFS: the output also clearly shows both cards using VFAT. Changing contents in the /storage/sdcard0 directory are easily explained by the SD cards being "interchanged".

  • Thanks. Where Is the internal sd card? How to remove it? – Tim Sep 15 '15 at 21:48
  • Fixed into your device, and not without destroying it (SoC). – Izzy Sep 15 '15 at 21:53
  • (1) Is the internal sd card "internal storage", or "phone" in i.stack.imgur.com/XA8Zq.png, or something else? The first has similar name, but unmatching space. The second has similar space. (2) Do the outputs of mount and df show "internal storage", and "phone" as partitions and file systems? – Tim Sep 15 '15 at 22:18
  • Internal storage: /data. SD cards are using vold (see output of mount). Useful reading: Android Folder Hierarchy, our storage tag-wiki. – Izzy Sep 15 '15 at 22:22
  • Sorry, copy in my phone is bad. The picture in my last commend should be i.stack.imgur.com/02mtp.png. What Is "phone"? Is it the same as the internal sd card? So my last comment should be "(1) Is the internal sd card "internal storage", or "phone" in i.stack.imgur.com/02mtp.png, or something else? The first has similar name, but unmatching space. The second has similar space. (2) Do the outputs of mount and df show "internal storage", and "phone" as partitions and file systems? " – Tim Sep 15 '15 at 22:25
1

/storage/sdcard0 is usually an "emulated SD card", in other words, your internal storage. Newer phones always have that "internal storage" which can't be physically removed from the phone, and serves as its "SD card", in a way that it stores apps and user data.

  • 1
    While I agree, the second screenshot clearly shows separate entries for sdcard0 and internalSD – which are neither duplicate (different sizes reported). What device has 2 internal/emulated cards? – Izzy Sep 15 '15 at 17:32
  • thanks. (1) I found there is indeed a 2GB external SD card, probably too vague to see in the last picture. (2) The matching in size in picture 1 and 2 implies /storage/sdcard0 is the mounting point of the external SD card or its symbolic link . (3) My question is when I unmount the external SD card, /storage/sdcard0 isn't empty. See picture 3 and 4 for before and after I unmount the external sd card. – Tim Sep 15 '15 at 17:34
  • 1
    I'm really confused right now. Can you get ADB or terminal access of your phone? It would be really helpful if you could show the result of df command (it doesn't require root, so it's easy and safe to use). The easiest way would be to download a terminal emulator from the Play store... anyway, if you can access, show us the results of df before and after you unmount the card... – Aleksandar Stefanović Sep 15 '15 at 17:37
  • I cannot tell for sure (see my comment on your question), but I could think of someone tinkering with the device and, using root, having "partitioned" the internal card, mounting the second partition to where the "external card" is mounted usually. What would help here is the output of the mount command (either via a terminal app or via adb shell). Please add that to your question post. – Izzy Sep 15 '15 at 17:39
  • 1
    You can pick one from my list of Terminal Apps. A pretty trusted one is Jackpal's Terminal emulator – free and open-source, well rated. – Izzy Sep 15 '15 at 17:56
1

When running console under TWRP, external microSD card is: /system/sdcard1 works fine, but I just couldn't get to it through ADB. I'm using MIUI 8.5.3.0. Finally found it:

I suspect the name will vary, so do ls in /storage

it should show up something like

2ABC-1XYZ   <<< this is it
emulated
self
  • You probably have been mistaken - it should never be under /system. It's a user-accessible directory after all. That "2ABC-1XYZ" stuff is the volume serial number of that storage and will be completely different across different storage, or the same storage after formatting. – Andy Yan Jul 17 '17 at 8:36
  • @AndyYan not exactly sure what you mean, I'm logged in in TWRP console right now, and I can create folders (for example) on microSD card via cd /system/sdcard1 – Emil Jul 17 '17 at 8:49
  • SD card is user accessible; /system is not (unless you're rooted). Therefore, SD card shouldn't be mounted inside /system, else it would be inaccessible through that route for the majority of unrooted users. This got me curious though... Can you still see and manipulate /system/sdcard1 after you boot into the OS? It might be a mount point unique to TWRP. – Andy Yan Jul 17 '17 at 8:52
  • I'm rooted. I have full access to microSD via /system/sdcard1 but only through TWRP console. Once booted into OS that path is gone. So through OS I access it using that volume serial. I couldn't find any other (more normal) way. – Emil Jul 17 '17 at 9:01
  • I assumed so. Starting Android 6.x the volume serial is the only reliable entry left in the OS. /system/sdcard1 is likely created by your device's TWRP to make things easier. I emphasized that part because I've never seen that entry point there on any device I've owned, despite I load them all with TWRP and custom ROMs. Probably the maintainer of your device's TWRP likes this way... Can you tell me what your device is, so I could take a look at it later (for curiosity only)? – Andy Yan Jul 17 '17 at 9:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.