Partition your external storage to move "non-moveable" apps, and recover space on your internal card
ETA 2016-08-07 Today I successfully used these steps on an ASUS notebook running Win 10. Everything remains the same as described earlier, with the exception of two minor changes explained inline using quote blocks.
(DISCLAIMER: This applies to devices running 5.0+ and which are rooted. Possibly, also, it's only for rooted stock devices, since I presume that custom ROMs would usually have a built-in solution. A further limitation may be that it only works on older versions of Windows, more on that later. "Windows", of course, refers not to the phone but to the computer you will almost certainly be using to get the job done. It may work on other computer OSs, but I make no claims or guarantees here. Also, I take no credit whatsoever for the tool itself, but just want to bring it to the community's attention.)
This is a belated follow-up to an earlier thread of mine, complaining that although I was running rooted stock 5.0, I couldn't seem to do much in the way of customizing my S5. In particular it proved true that most of my apps were non-movable, even the ones that I had downloaded. Titanium Backup no longer even provides the option in most cases, and in App Manager settings the "Move To SD" button was greyed out in the majority of cases.
The basic issue is that Google has been moving toward the principle that external cards should be used only for media storage and not apps, and this is why in 5.0 or higher installations of Android, you can't move very many apps to external, even if your device is rooted. This is mainly because recent versions of Android don't like to run apps that are stored in FAT32 file system partitions. The steps listed below enable you to circumvent this by setting up a second partition on your external card where more of your apps can live.
I found the solution here. Don't be concerned about steps 1 through 4; if you have a Lollipop or higher OS on your Android phone this, Step 5 is where you start. The actual partitioning tool is called GParted, and this will allow you to set up a second partition on your external card.
I won't lay out the step by step instructions; those are available in the links I have pointed to. On the other hand, I did find them a little bit unclear here and there, because the basic set-up for doing this rather unusual. I said I wouldn't lay out the detailed steps, but a 30000 foot overhead view should help. I did the "Manual" procedure on this page, as follows:
You should now have a bootable USB drive. Continue as follows:
Now you have two partitions on your external SD card--one for media files, and one for apps.
*There might be ways this can work with later versions of Windows, but I don't know. I didn't pursue that line of inquiry. The boot drive I created didn't work on my new Asus, but that might be only because I burned it on a computer running Vista.
ETA 2016-08-07 Today I successfully used these steps on an ASUS notebook running Win 10. Everything remains the same as described earlier, with the exception of two minor changes explained inline using quote blocks.
(DISCLAIMER: This applies to devices running 5.0+ and which are rooted. Possibly, also, it's only for rooted stock devices, since I presume that custom ROMs would usually have a built-in solution. A further limitation may be that it only works on older versions of Windows, more on that later. "Windows", of course, refers not to the phone but to the computer you will almost certainly be using to get the job done. It may work on other computer OSs, but I make no claims or guarantees here. Also, I take no credit whatsoever for the tool itself, but just want to bring it to the community's attention.)
This is a belated follow-up to an earlier thread of mine, complaining that although I was running rooted stock 5.0, I couldn't seem to do much in the way of customizing my S5. In particular it proved true that most of my apps were non-movable, even the ones that I had downloaded. Titanium Backup no longer even provides the option in most cases, and in App Manager settings the "Move To SD" button was greyed out in the majority of cases.
The basic issue is that Google has been moving toward the principle that external cards should be used only for media storage and not apps, and this is why in 5.0 or higher installations of Android, you can't move very many apps to external, even if your device is rooted. This is mainly because recent versions of Android don't like to run apps that are stored in FAT32 file system partitions. The steps listed below enable you to circumvent this by setting up a second partition on your external card where more of your apps can live.
I found the solution here. Don't be concerned about steps 1 through 4; if you have a Lollipop or higher OS on your Android phone this, Step 5 is where you start. The actual partitioning tool is called GParted, and this will allow you to set up a second partition on your external card.
I won't lay out the step by step instructions; those are available in the links I have pointed to. On the other hand, I did find them a little bit unclear here and there, because the basic set-up for doing this rather unusual. I said I wouldn't lay out the detailed steps, but a 30000 foot overhead view should help. I did the "Manual" procedure on this page, as follows:
- Backup everything on your external SD card. You may not need to use this, but it's a good idea just in case.
- Download the GPartEd Live .ISO.ZIP file as shown on the web page.
- Format a USB drive with at least 4G capacity. I used one with 16G with quick format, and it worked fine. We'll call it the F:\ drive here, but it could be something else in your case.
- Burn the image onto your USB drive. The website mentions a tool called Rufus for doing this, but I didn't bother with that; I merely extracted the ZIP contents onto my USB drive, making sure to preserve their directory structure.
- Browse to F:\utils\win32\ and double click makeboot.bat. This makes your USB drive bootable. It's very important that you do this from the F:\ drive; if you do it while you are "in" your hard drive you may render your PC un-bootable.
You should now have a bootable USB drive. Continue as follows:
- On a PC running Update And Security=>Recovery; then from here under Advanced Startup, click Restart Now.
Once your computer has been booted from your flash drive, skip to the point below where it says:
"Follow the prompts, which will ask you whether you want to go on to the GUI version of GPartEd, and what language you prefer."
[/quote]
- Using an adapter, insert the SD card into the appropriate slot on your PC.
- With the USB drive in place, boot up your PC's boot order screen, and follow the instructions to make sure the USB drive has priority. For this session, your PC will not display any of the familiar OEM or Windows logos or splash screens; it becomes a machine just for running GPartEd.
- So much for the "30000 overhead view", I guess.
- Follow the prompts, which will ask you whether you want to go on to the GUI version of GPartEd, and what language you prefer.
ETA 2018-08-07 said:I got some warning messages here on the W10 machine, but the procedure still worked. - If everything has gone right you should see the GUI display for GPartEd, showing you statistics for your SD card. You should see just the one original partition at first, with a graphic bar display at the top and a list display in the lower half showing how much space is used and how much free space remains. The numbers should look at least somewhat familiar to you.
- If the one original partition is FAT32, all you have to do is use the tool to shrink it; presumably you'll want to leave yourself some wiggle room for more media files. Or not; it's entirely up to you.. Set up a new ext# partition in the space you just recovered; this will be for apps that you will now be able to move off of you internal SD card. I really don't know the differences between ext2, ext3, or ext4; I used the latter and it worked fine for me. If the original single partition isn't FAT32, then you need to destroy it and set up both partitions from scratch.
ETA 2018-08-07 said:When using the W10 notebook, I found that selecting "ext4" caused problems later when attempting to use the Link2SD app on my phone, essentially failure in attempting to mount the partition. Going back to the step above and using "ext2" instead solved the problem. - If necessary, restore to your SD card the data you saved earlier in the process, i.e. if the initial partition was something other than FAT32.
Now you have two partitions on your external SD card--one for media files, and one for apps.
- On your Android device, download and install Link2SD. There's are free and paid versions; the latter gives you some additional features. But the free version still does a lot.
- As shown in the first link above, the first time you launch Link2SD it will ask you which file system applies to your external SD card's second partition.
- Start moving apps to the external SD card--many of the apps that you couldn't move before. You can entirely move apps, but for many apps you may get warnings and I would recommend heeding those warnings. Even in those cases though, you can merely "link to SD" which will move much of the data for that app to the new partition. The mere ability to do that with some large apps may save as much as a couple of gigabytes on your internal drive. The available space on my internal drive went from about 2G to over 4G, both through moving apps (or linking them to SD), and through cleaning the Dalvik cache. I know there are other ways to clean Dalvik, but I found the tool included with Link2SD to be both the easiest to use and the most effective.
ETA: It was late, and I must have been confused on that last point. I can't find any tool in Link2SD for adhoc cache cleanups, but you can use the app to configure a background process. It seems to work well so far.
*There might be ways this can work with later versions of Windows, but I don't know. I didn't pursue that line of inquiry. The boot drive I created didn't work on my new Asus, but that might be only because I burned it on a computer running Vista.
Last edited: