• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Are phones now required to mount their internal memory as emulated primary SD?

By the way, I do not own nor have ever used a HTC EVO 4G LTE so I don't know how true this is, but I was wondering if anybody could comment on this:

I was told that the EVO 4G LTE originally had an emulated sdcard folder, but that a later firmware update removed that, is there any truth to that?

Wait, why not? Is there some limitations or something on apps just using the internal memory instead of an emulated or physical sdcard?

I know that sdcard0 is also internal space, but I don't understand what you mean by "that I can use". So, why can't just the internal space be used without the sdcard0 symlink?

Before MTP, users couldn't manage internal space. You couldn't connect your device to the computer and transfer files to internal space. You could install apps to internal memory and those apps could place what they wanted there.

Manufacturers were giving users many gigs of internal space, but shipping devices with like a 2GB sd card. Users may potentialy fill that card up, but have tons of free space internally. People didn't like that and neither did Google. So Google removed UMS in favor of MTP so users could better use internal space. Not the greatest solution, but it works I guess.

It's given the sdcard0 name convention because that's exactly how it behaves--like an sdcard. Have you compared the contents of sdcard0 to sdcard1? They're probably near identical.

I'm saying the reason the app is writing to internal is because it thinks the /sdcard or /sdcard0 folder is the mount point for the external sdcard, because that was the external sdcard mountpoint before, and I have seen countless apps exhibit this behavior.

I thought that's what we said? Alright, I'm lost. Do you have any apps in mind? It might help us understand the point your trying to make.

I feel like everyone is arguing different parts of the same answer.
 
Upvote 0
Before MTP, users couldn't manage internal space. You couldn't connect your device to the computer and transfer files to internal space. You could install apps to internal memory and those apps could place what they wanted there.

Do you mean though a USB connection to PC? Because I had no problems accessing it through file managers. Although if MTP allows you to access all the memory, why is the emulated sdcard folder needed for that then?

Manufacturers were giving users many gigs of internal space, but shipping devices with like a 2GB sd card. Users may potentialy fill that card up, but have tons of free space internally. People didn't like that and neither did Google. So Google removed UMS in favor of MTP so users could better use internal space. Not the greatest solution, but it works I guess.

Wait, fill the card up with what? Especially since apps by default tend to install to internal. Also, most of the phones I saw when they started having a decent amount of internal space came with 8 or 16gb cards. (Besides, that's like faulting the person who made your DSLR if it came with a 1gb sdcard and you fill it up, you can always buy a bigger card, how is it their fault that you filled up the included card?)

It's given the sdcard0 name convention because that's exactly how it behaves--like an sdcard. Have you compared the contents of sdcard0 to sdcard1? They're probably near identical.

I have no sdcard1, just sdcard0 and extsdcard, the extsdcard is the 64gb card I plugged into the phone. Not only are they not identical, but with KitKat I can't even move files in-between them.

I thought that's what we said? Alright, I'm lost. Do you have any apps in mind? It might help us understand the point your trying to make.

I haven't re-installed all of my apps yet on my new phone, but Glance has the option to export a backup file. The purpose is to put it on external memory, but it sends it to internal memory on sdcard0, also two of the larger games I have, Dead Space and Bard's Tale, download gigs of data, Bard's Tale even asks if I want to put it on internal or external, but they all write to internal anyway because they think the /sdcard folder is the physical sdcard.
 
Upvote 0
Wait, fill the card up with what? Especially since apps by default tend to install to internal. Also, most of the phones I saw when they started having a decent amount of internal space came with 8 or 16gb cards. (Besides, that's like faulting the person who made your DSLR if it came with a 1gb sdcard and you fill it up, you can always buy a bigger card, how is it their fault that you filled up the included card?)

It doesn't really matter what is stored on the file. You didn't see the problem. Let me ask you this. How much internal memory do you have? How much have you used? So let's say you have a 8Gb free in internal memory and a completely full sd card. Should you have to spend more money to upgrade your sdcard when you have free storage right there?

Once upon a time that was exactly what you had to do because only apps were able to use internal space. But in this fairy tale, along came a magic known as MTP. Users were free to use that space now. They could use some of that internal space to store their thousands of cat videos or music to share with friends and family.

I wish I could write you an actual story. But I don't have time for that. Would you read it if I did? Nah, I'm not doing that. Maybe, I don't know.

I have no sdcard1, just sdcard0 and extsdcard, the extsdcard is the 64gb card I plugged into the phone. Not only are they not identical, but with KitKat I can't even move files in-between them.

Extsdcard is a symlink to sdcard0. Which why you can't transfer things to it. But that's been repeated over and over in this thread.

Are you sure your sd card is being read? Not all phones support 64GB cards.

You should make friends with this guy-- What is this “emulated” folder?. You two have something in common I think.


I haven't re-installed all of my apps yet on my new phone, but Glance has the option to export a backup file. The purpose is to put it on external memory, but it sends it to internal memory on sdcard0, also two of the larger games I have, Dead Space and Bard's Tale, download gigs of data, Bard's Tale even asks if I want to put it on internal or external, but they all write to internal anyway because they think the /sdcard folder is the physical sdcard.

I assume that the app grabs the first "sdcard" available to it. Sdcard0 is mounted before others.
 
Upvote 0
Look, there is no need to be insulting or patronizing. Especially considering the fact that you got some things wrong.

Once upon a time that was exactly what you had to do because only apps were able to use internal space. But in this fairy tale, along came a magic known as MTP. Users were free to use that space now. They could use some of that internal space to store their thousands of cat videos or music to share with friends and family.

I am still free to do this on devices which do not use MTP or an emulated sdcard, I don't know where you are getting that you need MTP and an emulated sdcard to access the internal memory, because I sure haven't on any of the Android devices I have used.

Extsdcard is a symlink to sdcard0. Which why you can't transfer things to it. But that's been repeated over and over in this thread.
1. No, no it is not a symlink to sdcard0.

2. Nobody has claimed extsdcard is a symlink to sdcard0.

sdcard and sdcard0 are the same thing, they are a link to a spot on the internal flashrom which mimics an sdcard.

extscard, as the EXT part implies, is your actual sdcard, your external memory.

Thousands of files which I put on the sdcard myself using a USB reader, before the phone was even turned on for the first time, are present in the extsdcard folder.

Likewise, the sdcard0 folder is full of folders and files I never created, and which contain various ringtones, cache data, etc for apps and built-in features of the phone.

There is also the fact that apps see sdcard0 as having 27gigs free while extsdcard is listed as having somewhere in the 50s gigs free. Considering the phone's internal memory is 32 gigs...

I can promise you, with 100% certainty, that sdcard0 is using the internal 32GB flashrom of my phone, and extsdcard is using the physical 64GB sdcard I plugged into it.

Are you sure your sd card is being read? Not all phones support 64GB cards.
The phone is stated as supporting SDcards up to 128GB, and I would certainly hope a high-end flagship device released just last month supports SDXC even if it wasn't explicitly stated.

I assume that the app grabs the first "sdcard" available to it. Sdcard0 is mounted before others.
That is exactly what is happening.
 
Upvote 0
Look, there is no need to be insulting or patronizing. Especially considering the fact that you got some things wrong.

I'm sorry you feel that way.

I am still free to do this on devices which do not use MTP or an emulated sdcard, I don't know where you are getting that you need MTP and an emulated sdcard to access the internal memory, because I sure haven't on any of the Android devices I have used.

I never said you couldn't access internal memory. Just that you can not mount it to your pc and use it. Before sdcard0 was placed inside internal memory, It was not fun place to put your files.

You had the file system and apps there. You did not put things like your pictures, videos, or music there. If you did not have an sd card you were SOL. It didn't matter if you had 1,000GB free within internal memory. Too bad, buy another sd card. But as a result of sdcard0 being placed inside internal memory, all that has changed now. You can now use it to store your stuff too.

sdcard and sdcard0 are the same thing, they are a link to a spot on the internal flashrom which mimics an sdcard.

extscard, as the EXT part implies, is your actual sdcard, your external memory.

You're right, sorry I confused myself.

Thousands of files which I put on the sdcard myself using a USB reader, before the phone was even turned on for the first time, are present in the extsdcard folder.

Likewise, the sdcard0 folder is full of folders and files I never created, and which contain various ringtones, cache data, etc for apps and built-in features of the phone.

There is also the fact that apps see sdcard0 as having 27gigs free while extsdcard is listed as having somewhere in the 50s gigs free. Considering the phone's internal memory is 32 gigs...

I can promise you, with 100% certainty, that sdcard0 is using the internal 32GB flashrom of my phone, and extsdcard is using the physical 64GB sdcard I plugged into it.

That sounds completely correct.

Are phones now required to mount their internal memory as emulated primary SD?
Absolutely not.
 
Upvote 0
Sorry for taking a while to respond.

I never said you couldn't access internal memory. Just that you can not mount it to your pc and use it. Before sdcard0 was placed inside internal memory, It was not fun place to put your files.

I see. But about the sdcard0 folder to do this. Does the MTP protocol that uses the sdcard0 folder so it can be read on your PC only work with sd cards, thus the sdcard0 folder basically being an emulated SD card? Or could any folder be designated as the storage for the MTP to access?

Basically, would they have just been able to create say, a "Media" folder instead of "sdcard0", not making it emulate a SD card, and have the MTP mount that when you plug the phone into your PC buy USB for storage? Or does it also have the emulate a sdcard in order to work?

Hmmm.... I notice there are several symlinks to sdcard0. Is /mnt/sdcard the original mountpoint before the sdcard was emulated? Is that where older apps are trying to write to when they assume they are writing to external storage? Does that mean newer apps are writing to /storage/sdcard0 then if they purposely want to write to the internal sdcard?

Are phones now required to mount their internal memory as emulated primary SD?
Absolutely not.

Wait, so then why did everyone start doing this whether the phone had a SDslot or not in KitKat? As well as follow the SD access restrictions in KitKat when they were in place since Honeycomb but largely ignored? Especially since they weren't doing it before?
 
Upvote 0
Really love these high brow debates.
They get a bit heated but you can tell there's usually a lot of mutual respect going on and it's very educational for me and any lurkers or people stumbling upon this in a Google search :cool::beer:

I am glad this thread is here - my Google search terms were "android 4.4.2 device storage full emulated extSdcard sdcard0" - For one thing, it confirms that I am not the only one confused by KitKat's file structure. My issue is, I believe, related to this confusing structure...

My Samsung GS5A (G870A) reports a 16G device storage, and I have an extsdcard of 8G inserted. I just tried to do a TiBU, and got the insufficient memory interruption. Both System Storage and TiBU report that I only have 21.7M free of "Internal+Media" storage. TiBU also reports (looking at Batch Actions) user apps at 87, and system data of 319 - I assume that's the number of items... Also, I have fewer than 600 pics and videos, and my camera is set to 3MP.

I thought a listing of my file structure as it appears might help clarify this discussion, and hopefully generate some insight for those having similar storage issues.

Using AstroFileMgr (and Root Browser) I have:

/sdcard - which opens to 31 folders and 8 files

/storage/emulated - which opens to 2 folders (0 and legacy)

  • /storage/emulated/0 - opens to 31 folders and 8 files

  • /storage/emulated/legacy - opens to 31 folders and 8 files

/storage/extSdCard - opens to 6 folders and 1 file

/storage/sdcard0 - opens to 31 folders and 8 files

/storage/(UsbDriveA-F) - all empty
knox-emulated (a file Astro cannot open)

Those 31 folders and 8 files are the same across all three locations, and upon cursory inspection these folders appear to have the same content drilling down three more levels (not sure how to state this... ) For example, all three DCIM folders open the same thumbnails.

Other than noticing the last couple of screenshots I have taken saved to ~/emulated/0, I do not know which of these is the "active" location when I am using my phone...

The last "insufficient memory" notification is now persistent, and I cannot open Gallery (have not tried anything else), and I've had about 5 soft reboots since digging through the file structures.

Thank you for any insights any of you can offer.
 
Upvote 0
Those 31 folders and 8 files are the same across all three locations, and upon cursory inspection these folders appear to have the same content drilling down three more levels

They are the same, to all intents and purposes. /sdcard is the traditional mountpoint for Android's internal storage, and is nowadays symlinked to several others for compatibility reasons. Think of them as sophisticated shortcuts - multiple pointers to individual files.

I do not know which of these is the "active" location when I am using my phone...

They all are. :) Essentially, they all point to the same place.

The last "insufficient memory" notification is now persistent, and I cannot open Gallery

Settings/Apps/All... Sort By Size, and clear the caches of the largest offenders.

600 images @3MP each is still 1.8GB. Are you using the external card as camera storage? Ditto for your Ti backups; depending on how many backup versions you've set to retain these can consume a lot of space. With 124 user and 303 system apps, retaining three backups per app, my TitaniumBackup folder is 3.66GB.
 
  • Like
Reactions: Crashdamage
Upvote 0
They are the same, to all intents and purposes.

Thank you! I decided to make it my mission to understand this today! So I used the time before I saw your response to play with an empty folder that had the name of an app I no longer use, confirming what you were able to explain so simply.

I appreciate your doing the data math for me as well! I was about right for the camera storage (which had mysteriously switched back to device), but I had never seen any ones numbers for TiBU... which I realized I had in 3 different folders (x2 = 6 backups)! I had apparently made multiple attempts to get to the extSdCard without realizing what was happening.

Now with a lot of TiBU cleaning and a bit of cache cleaning I should be in much better shape - Thank You for your guidance!
 
  • Like
Reactions: Slug
Upvote 0
Now with a lot of TiBU cleaning and a bit of cache cleaning I should be in much better shape - Thank You for your guidance!

I hope my theory is correct... let me know, please. :)

One useful tip:
Once you've configured TiB to your liking, make sure that the "Auto-sync" option is enabled in Preferences. Then, whenever you reinstall, all your settings will be preserved. If you keep backups on the external card, this means that you can do a full factory wipe/reset and get everything back up and running exactly as before in the minimum time.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones