Decided to start using this yesterday, was a sort of on the whim decision.
I have a 32 gig S7 and a 64 gig sd card, it is an expensive samsung SDHC EVO UHS card. (they cheaper now but was expensive when I purchased).
So previously I had internal memory which was the phone's internal storage, obviously this is not the full 32 gig as a chunk is partitioned off for OS usage.
SD card as portable storage formatted using exFAT
I noticed first when I installed superman rom I couldnt make /data F2FS, tkkg explained it is because alot of the scripts used to install the likes of magisk etc. do not support F2FS so my internal is ext4, but I managed to make the cache filesystem F2FS at least.
Likewise yesterday I discovered using the portable sdcard as F2FS is also not supported, the rom wont auto mount it and a notification appears saying its corrupted. Since I had already wiped the SD to change filesystem I decided to try adoptable storage, I enabled using the adb method and using the mixed mode so not the full sdcard is adoptable storage, in my case I chose a 50/50 split bearing in mind nandroid backups are huge, to do one single backup I need 12 gig free on the portable sdcard storage.
Interestingly I discovered the partition used for the adoptable storage is F2FS , it gets mounted under /mnt/expand/{some long random id}, I dont know the exact criteria for how parts of data get moved there but 1.8gig was utilised from the off.
Knowing its F2FS which is more resilient than exFAT, I have already moved titanium backups to the adoptable storage away from the portable sdcard storage and I plan to also move media to it as well that is currently on the portable storage.
My free space that is available for internal use is now moved from 13.6gig free out of max 25 gig to 36gig free out of a max 55gig.
I have one warning tho, I have already raised this on github to the TWRP dev's, from what I can see TWRP is not adoptable storage aware. The F2FS partition is not auto mounted in TWRP and I cannot even find a way to manually mount it (in the GUI), since some stuff from /data will get moved there it means when a nandroid backup is done parts of /data may be excluded that are sitting on the adoptable storage. Not a big deal if you doing a backup to test something, and then if you restore, its done close to when the backup is taken, but if the restore is done a long time after the backup the adoptable storage been out of sync might be an issue.
I welcome further thoughts from people.
update TWRP devs say it is supported but might be an issue with mixed mode which I will provide them more info on later.
attaching speed test
first sdcard is exfat second is f2fs Adoptable
I'm really confused what you are trying to show? Are you claiming that your sd card somehow becomes faster as adoptable storage?
I dont know if it is actually faster but it does benchmark faster probably due to using F2FS instead of exFAT.
The main reason I am preferring F2FS as it has more resilience than exFAT whilst still been fast.
Ok a little update, after my failed aatempt to upgrade to a 128 gig card, I restored the nandroid backup which I made before I first inserted the 128gig card.
Now the adopted storage is not been mounted by android, I wont be doing anything about this now as I have another 128 gig card arriving tommorow at which point I will need to setup mixed storage on that anyway, but it seems if you try to make another adoptable storage on new card, even if you have a nandroid backup, the previous adoptable storage is not preserved, suggesting the settings for it are not configurdd in a location that is included in nandroid backups.
I am not aware of a process that allows an already created adoptable storage partition to get remounted, I assume I would need to wipe the sd card again and rerun the commands to set it up which is not very user friendly.
It was running perfectly fine until I tried to make a new storage on my 128gig card, but is flawed if you are swapping out sd cards.
ok some clarification on the bench figures.
The red scard is the portable sdcard storage.
The yellow sdcard is actually the phone internal memory.
Internal memory is the adoptable storage.
So the F2FS isnt miles faster which makes sense as F2FS is supposed to be very close to exFAT in performance, faster than ext4 but not so much exFAT, however it has exFAT levels of performance with better data integrity mechanisms (exFAT has no safety mechanisms).
I found this out in two ways.
The internal memory test failed when I accidently left the bench folder read only in the adoptable storage.
I also added a custom location test of /sdcard which matched the yellow sdcard scores.
The question now is that is the slower write performance of a evo+ card going to be noticeable versus the internal storage speeds. So far indications seem no, also that by default my camera was writing to the sdcard anyway and has always worked fine.
It seems what goes on the mnt/expand or on /sdcard when device storage is specified is automatically decided by an algorithm.
Those who are want to use adoptable storage and have concerns over write speeds, there is pretty fast sdcards out there like the samsung pro which has 90mB writesm, but I think that card can only go up to 64gig in size.
Related
Clear your doubts guys!!!
Ok, so here's the deal, in a very longwinded way that should hopefully explain everything and answer ALL questions.
You have an SD card in your phone and, a bit like normal PC Hard Drives, you can "partition" them (split them into two or more sections of different filesystems). Normally, your SD card is just one big FAT32 partition, which is fine for storing your pics, messages, emails, etc.
Now, other then your Phone's SD card, your phone will have its own internal flash memory (or "NAND") storage. Tradditionally with Android, you could only install applications to this NAND storage, you cannot install them onto your SD card. So if you have an empty 32GB SD card, but only 5Mb of internal phone storage, you still wont be able to install many apps, if any at all.
This was done to protect the apps from things like piracy - it's not easy to access the location where apps are installed on your phone's internal storage (normally impossible without root), so you can't for example buy an app, copy it, refund it, then install it again.
Still, this is no good for those of us who like to install lots and lots of apps, legitimately, as we run out of internal storage very quickly.
So Google came up with a way to install apps to the SD card. A folder is created called something like .android_secure and this stores (I believe) encrypted versions of applications, but there's a few catches:
1) Apps aren't automatically stored here, you have to manually "move" them
2) Not all apps are capable of being moved, in fact most apps aren't, the developer needs to update their app and allow it. Some apps aren't and wont be updated and some developers may not want to allow it for whatever reason.
3) Not all app data is moved, most of it is but some data is left on your phone so many people still run out of internal storage quickly.
4) You can force ALL apps to be moved to this area by default, but it breaks incompatible ones - such as Widgets, which are unable to load due to the SD card not being "prepared".
So that's Froyo's version. Before Froyo existed, some very clever people came up with a thing called "Apps2SD". Remember I said that your SD card normally is one big FAT32 partition? Well, Apps2SD works by having your SD card patitioned into TWO filesystems. A normal FAT32 partition for your usual stuff and a secondary "EXT" partition. EXT is just a filesystem, like FAT32 or NTFS, but it's the filesystem used by Android internally. The SD card is normally FAT32 because it's a "universal" filesystem, that just about any machine will be able to read, whereas EXT filesystems are generally Linux only, but I digress.
EXT has several different versions. The most common one you'll see is ext3. The main difference between ext2 and ext3 is "journaling", which is just a fancy way of saying that should an operation (such as copying, writing or reading) be interrupted unexpectedly (say, by you turning your phone off), then no data should be lost or corrupted. You know how when you turn your phone on, it says "preparing SD card"? It takes a few minutes, but what it's actually doing is checking that the FAT32 partition hasn't been damaged, because FAT does NOT have journaling. If you used a computer back in the Windows 98 days, you may remember that lovely blue "Scandisk" screen that had to run every time you didn't shut your computer down correctly - that's the same thing. But then Windows 2000/XP came along with NTFS, which also has journaling, meaning you had less chance of loosing data. But I digress once more.
So you have your SD card partitioned into EXT and FAT32. Generally it doesn't matter if it's ext3 or ext4, but you don't get any real advantage with ext4 over ext3 in this instance. Apps2SD then runs a special script on your phone which "symbolically links" the folder from your phone's internal storage where your apps are normally stored, to the ext partition on your SD card. A symbolic link is a bit like a shortcut for folders, except it's transparent to the OS: In other words, Android doesn't know that when it's installing it's apps to the internal phone storage, it's actually being stored on the SD card. This effectively boosts your internal phone memory from the previous 5mb that you had in my example above, up to whatever size you made the ext partition on your SD card (often 512Mb or 1Gb, but it depends on how many apps you install).
Plus, because it's "journaled", it doesn't need to be "prepared", meaning it's ready to go as soon as the phone starts - so your widgets and apps work immediately (unlike "forced" Froyo Apps2SD, where widgets disappear).
The catch with Apps2SD is that whatever space the ext partition takes up is taken away from the SD card. So if you have a 4Gb card (with something like 3.5Gb of actual storage) and you make a 512Mb ext partition, your SD card will "shrink" to 3Gb. The space isn't actually lost, it's just being used by the ext partition. If you reformat your card, you'll get it back.
Finally, there's a difference between "Apps2SD" and "Apps2SD+". Remember I said that your apps are stored on a special folder inside your Phone's NAND storage? Well, that was a bit of a lie. It's actually stored in TWO places. There's a second area which is called the Davlik Cache. You don't really need to worry about what this is for (Hint: IT's to do with the Java runetime your phone uses to run apps), all you need to know is that apps use it to store data, which also eats up internal phone memory. Apps2SD+ moves davlik cache to the ext partition on your SD card as well, freeing up even more space. Some people believe that this may come at the cost of performance, as the internal NAND memory should be faster than your SD card (Which is why you also get people arguing over which "class" SD card is better for Apps2SD - the logic being that a faster SD card means less impact from this move), but the truth of the matter is that your applications will be running from your Phone's RAM anyway, so performance isn't really impacted at all. Since most apps are only a few hundred Kb's in size, or a couple of MB at the most, it's a non-issue.
Finally, any recent version of Apps2SD/Apps2SD+ should work with an SD card that is or isn't formatted with an ext partition. It'll check for this partition when your phone first boots and if it's not there, just use internal phone storage.
Having an ext partition WITHOUT Apps2SD+ shouldn't cause any issues, either, so you can format your SD card whenever you're ready.
So in summary:
Apps2SD "fakes" your phone's internal memory and puts it all on a hidden section of your SD card.
Apps2SD+ pushes even more content to the SD card, freeing up even more space on the phone itself.
"Froyo" Apps2SD has various limitations that "old" apps2SD does not, but is much easier to handle as it doesn't involve any kind of "partitioning".
Hello Guys
I would like to know that if my SD Card 16GB has partition into 2 primary drive - FAT32, EXT3; and my android system is running on FAT32 partition, can I run the Link2SD to put all apps into EXT3 partition?
I try it and it shows the manual of the mounting partition. However, it shows the error message of mounting /dev/block/vold/179:2 on /data/sdext2 failed. I would like to use it even it is in SD version of Android so that I can minimize the usage of internal ROM. I use the traditional App2SD and the memory is gradually reduced when I install new apps.
Thanks
Wilson Fung said:
Hello Guys
I would like to know that if my SD Card 16GB has partition into 2 primary drive - FAT32, EXT3; and my android system is running on FAT32 partition, can I run the Link2SD to put all apps into EXT3 partition?
I try it and it shows the manual of the mounting partition. However, it shows the error message of mounting /dev/block/vold/179:2 on /data/sdext2 failed. I would like to use it even it is in SD version of Android so that I can minimize the usage of internal ROM. I use the traditional App2SD and the memory is gradually reduced when I install new apps.
Thanks
Click to expand...
Click to collapse
SD Android uses no ROM. The applications are stored on what is read by the system as 'internal storage' but is actually a data.img file which is normally 1gb, therefore you already have 1gb of your SD card dedicated to storage of apps. I don't know if you still would like A2SD despite this, but I thought this would probably influence your decision.
Nigeldg said:
SD Android uses no ROM. The applications are stored on what is read by the system as 'internal storage' but is actually a data.img file which is normally 1gb, therefore you already have 1gb of your SD card dedicated to storage of apps. I don't know if you still would like A2SD despite this, but I thought this would probably influence your decision.
Click to expand...
Click to collapse
Thanks for your reply. When downloading apps, Android will treat it storage at the internal storage, that is, the memory reduces very fast. Using App2SD will help to show higher memory storage, which is similar to NAndroid. However, the memory is still lowered as it seems to move the apps only to outside, keeping data internally. Therefore, it can download up to 60-70 apps, but it is impossible to store like 200apps. Link2SD could solve it, but I cannot link to EXT3 after using it. Any suggestion on it?
Hey all,
Forgive me if this question has been asked before (Google did not help me find an answer) but I'm looking for the "best practice" method of upgrading my MicroSD card once it's already been mapped to internal storage using Marshmallow's "Flex Storage" capability.
I bought a 32GB Moto X Pure Edition and promptly installed my fastest MicroSD card (a 32GB PNY U3 Turbo card) and set it to function as internal storage after the Marshmallow update.
Since then, I bought a 64GB U3 card so that I'd have ample space for music and video. What I'm trying to figure out is the process to:
1) Take a snapshot of my internal storage (i.e. copy to an external HDD)
2) Remove the "old" microSD without any detrimental affect to installed applications
3) Mount the "new" larger microSD as internal storage
4) Copy everything back to the new internal storage
Is there a documented process for doing this, or some sort of migration tool I can use to upgrade the microSD capacity?
Good question
Bumpage. Has anyone seen anything on the nets describing the storage upgrade process for Flex Storage?
Probably not possible unless you flash a new ROM over the old. My understanding is that the sd card, once made to be part of the phone storage, is that it is 128bit encrypted in EXT4 format.
bw03 said:
Probably not possible unless you flash a new ROM over the old. My understanding is that the sd card, once made to be part of the phone storage, is that it is 128bit encrypted in EXT4 format.
Click to expand...
Click to collapse
The thing is I currently have more internal storage free space available than actual data stored on my SD, so ideally there should be a way to migrate my data back to true internal storage, eject the SD, and replace with a bigger card?
Even if I have to do it manually, I want to make sure I don't screw with installed apps.
Sent from my XT1575 using Tapatalk
Might be a stupid question but have you tried taking out the card and seeing what happens?
I think the moral here is to start with the largest capacity card you think you'll need. 64GB cards are dirt cheap these days. Unless you need your entire mp3 collection on your phone, I doubt there is a real need for anything bigger.
I mentioned this in another thread, but probably more appropriate here. There is a way to partition the card for both internal and external storage. Portion of it is used for apps/data while the rest for pics/music and is visible when not in the phone.
The question is, can you create a twrp image of the system & internal storage with one sd card. Replace it with a different one, repartition it (in recovery), then restore your data?
http://blog.sam.liddicott.com/2016/02/android-6-semi-adopted-storage.html
Hello,
There might be a solution.
(Please notice I translate the android names from French, so there might be some variations)
In the settings/storage, click on the interal memory line.
In the settings -the 3 dots top right-, you might be able to transfer data from SD to internal memory.
Then, you can format back you sd card, remove and replace it, and voila, that should work.
My 2 cents,
I have the 64 GB model Pure and a 128 GB SD. I don't like the functionality of formatting my SD as internal nor do I really need the space. I just like to keep my media and some personal files on the SD for easy access on other machines. I need to have my SD encrypted as I do have some sensitive information on there and I tried to use the formatting as internal but it makes switching between the two storage volumes a real pain. Is there any way to encrypt my SD without having to format as internal?
I had the same issue a while ago, as far as I know, encrypting the external SD natively is not possible. I believe that only Samsung implemented external SD encryption on some of their ROMs.
As for third-party implementations, you could try something like either:
* EDS (https://play.google.com/store/apps/details?id=com.sovworks.edslite) - Mount/create an encrypted Veracrypt/Truecrypt volume which is stored on the SD, to a mount point elsewhere. There may or may not be an auto-mount option, I can't remember. Downside is you have to pre-allocate the space to the encrypted volume. There is also a full version which I believe has more features.
* EncDroid (https://play.google.com/store/apps/details?id=org.mrpdaemon.android.encdroid) - Filesystem level EncFS encryption on a per-file basis. Same thing, mount point elsewhere, except encrypted files are done on a per-file basis, so no need to pre-allocate everything in one shot.
Both of these use well-known encryption algorithms and produce files which can be opened on desktop PCs with the right tools.
However, in the end I found both options to be rather troublesome, and I now store sensitive data on the internal encrypted storage, or access it remotely.
I'm using a 400GB SD card. I saw a comment about creating 2 different partitions on it as I want to use part of it for app storage and the other part for file storage, The second partition would be exFAT so I can remove the card and transfer my books, music, etc. to it by attaching the SD card to my laptop as I understand that Windows would not be able to recognize the partition that would be formatted as internal storage. I did format the SD card using my laptop as two separate partitions. My Samsung Galaxy Tab A saw both partitions. I selected the 96GB partition as I wanted to use that for app storage and selected the option to use it as internal storage. Unfortunately when I did that, it appears that the system set the whole CD card up for internal storage. Does anyone have any insight on how to accomplish this - use part of the SD card for internal storage and part of it for storage that would be recognizable by Windows? Thank you very much.
I have not tried, so take the advice as a suggestion, perhaps android can be "fooled", which I doubt.
After creating a bulk partition in android, move the SD to Windows and resize that partition, and create a second partition on the remaining capacity and hide it.
Now move the SD back to android and see what happens.
If android will reformat the partitions again then I can't advise anything else.
However, if android accepts the memory, then the next step is to discover the partition in Windows and recheck the SD in android.
ze7zez said:
I have not tried, so take the advice as a suggestion, perhaps android can be "fooled", which I doubt.
After creating a bulk partition in android, move the SD to Windows and resize that partition, and create a second partition on the remaining capacity and hide it.
Now move the SD back to android and see what happens.
If android will reformat the partitions again then I can't advise anything else.
However, if android accepts the memory, then the next step is to discover the partition in Windows and recheck the SD in android.
Click to expand...
Click to collapse
Well, I was trying to work on that and now the Android Storage module (in Settings) keeps crashing when I open it. IDK what happened here. I've reformatted the SD card, I've removed the SD card, I've rebooted the table multiple times. I'm almost to the point of having to restore the tablet from scratch ... again.
Try this:
Link2SD - Apps on Google Play
Complete app management, move to SD, clear cache, remove bloatware and more
play.google.com
JR1979 said:
I'm using a 400GB SD card. I saw a comment about creating 2 different partitions on it as I want to use part of it for app storage and the other part for file storage, The second partition would be exFAT so I can remove the card and transfer my books, music, etc. to it by attaching the SD card to my laptop as I understand that Windows would not be able to recognize the partition that would be formatted as internal storage. I did format the SD card using my laptop as two separate partitions. My Samsung Galaxy Tab A saw both partitions. I selected the 96GB partition as I wanted to use that for app storage and selected the option to use it as internal storage. Unfortunately when I did that, it appears that the system set the whole CD card up for internal storage. Does anyone have any insight on how to accomplish this - use part of the SD card for internal storage and part of it for storage that would be recognizable by Windows? Thank you very much.
Click to expand...
Click to collapse
You're trying to convert a partition in sd card as internal storage and leave the rest as an external storage. Not possible as far as I know.
TheMystic said:
You're trying to convert a partition in sd card as internal storage and leave the rest as an external storage. Not possible as far as I know.
Click to expand...
Click to collapse
Thats a bummer but that is what I was feeling was going to be the outcome. I guess I'll just go with it as internal storage then and be rlefated to wireless transfer of my books, etc. To the tablet. Any thoughts on why my Storage module keeps crashing now? Something definitely went nuts somewhere along the way here. It was running fine.. until I start poking around with this. I'll probably just do a rebuild again tonight.. if I can find my steps notes.
I also don't think it's possible to do what you have in mind. It's also important to remember that Windows will only mount the first partition of an SD card. It won't see any other partitions without 3rd party software installed.
JR1979 said:
Thats a bummer but that is what I was feeling was going to be the outcome. I guess I'll just go with it as internal storage then and be rlefated to wireless transfer of my books, etc. To the tablet. Any thoughts on why my Storage module keeps crashing now? Something definitely went nuts somewhere along the way here. It was running fine.. until I start poking around with this. I'll probably just do a rebuild again tonight.. if I can find my steps notes.
Click to expand...
Click to collapse
The reason people want a micro SD card is to be able to move it around between devices, so it is not a good idea to convert it into 'internal storage' for two reasons:
1. You can no longer move the card around (not without reformatting it again).
2. This process would significantly slow down the system if the OS starts saving apps, data and files on the micro SD card because it sees this space as internal storage.
Because of how you partitioned the SD card and tried converting only a part of it as internal storage, my guess is the process caused corruption somewhere, and the system is crashing because of that. I'm afraid you'll have to do a factory reset and start from scratch. I hope your files are safe.
JR1979 said:
I'm using a 400GB SD card. I saw a comment about creating 2 different partitions on it as I want to use part of it for app storage and the other part for file storage, The second partition would be exFAT so I can remove the card and transfer my books, music, etc. to it by attaching the SD card to my laptop as I understand that Windows would not be able to recognize the partition that would be formatted as internal storage. I did format the SD card using my laptop as two separate partitions. My Samsung Galaxy Tab A saw both partitions. I selected the 96GB partition as I wanted to use that for app storage and selected the option to use it as internal storage. Unfortunately when I did that, it appears that the system set the whole CD card up for internal storage. Does anyone have any insight on how to accomplish this - use part of the SD card for internal storage and part of it for storage that would be recognizable by Windows? Thank you very much.
Click to expand...
Click to collapse
You should NEVER use an SD card for internal storage. They are MUCH to slow for that purpose. Today's SoC have RAM chips mounted directly on top and are several times faster than the fastest SD card bus. And low end tablets, which includes ALL Tab A devices, use a USB bus with limited bandwidth. So using faster SD cards is pointless as they will still only be as fast as the bus. SD cards are fine for storing video, audio, text and downloaded files, but NOT for running apps. Doing so will cause the device to be laggy at best, and cause crashes at worst.
blaacksheep said:
I also don't think it's possible to do what you have in mind. It's also important to remember that Windows will only mount the first partition of an SD card. It won't see any other partitions without 3rd party software installed.
Click to expand...
Click to collapse
The two partitions on the USB flash drive can be seen* in Windows without third-party software.
*I don't have an English Windows interface.
ze7zez said:
The two partitions on the USB flash drive can be seen* in Windows without third-party software.
*I don't have an English Windows interface.
Click to expand...
Click to collapse
I meant that it won't mount the second partition, although you can see it in Disk Manager.
blaacksheep said:
I meant that it won't mount the second partition, although you can see it in Disk Manager.
Click to expand...
Click to collapse
Windows 10 mounts both of these partitions, assigns them letters and you can use them (read and write).
ze7zez said:
Windows 10 mounts both of these partitions, assigns them letters and you can use them (read and write).
Click to expand...
Click to collapse
I stand corrected! Previous versions of Windows could not do that.
ze7zez said:
The two partitions on the USB flash drive can be seen* in Windows without third-party software.
*I don't have an English Windows interface.
Click to expand...
Click to collapse
Something strange in that attachment. Since when do Android SD cards have NTFS partitions? As far as I know, the internal storage partitions that Windows couldn't read were formated as Ext3 or Ext4 and the external as either FAT32 or exFAT.
lewmur said:
Something strange in that attachment. Since when do Android SD cards have NTFS partitions? As far as I know, the internal storage partitions that Windows couldn't read were formated as Ext3 or Ext4 and the external as either FAT32 or exFAT.
Click to expand...
Click to collapse
Don't suggest the volume label. Partition K: is FAT. The example shows that Windows can show two partitions on a USB stick.
ze7zez said:
Don't suggest the volume label. Partition K: is FAT. The example shows that Windows can show two partitions on a USB stick.
Click to expand...
Click to collapse
Of course it can. It can show several. But NOT the two partitions created on an Android SD card because one of then is formated in a file system Windows doesn't recognize and that is what the poster was talking about.
edit: Disk Manager will actually show the partition but it won't be assigned a drive letter because Windows can't mount it.