We use cookies on our websites. Information about cookies and how you can object to the use of cookies at any time or end their use can be found in our privacy policy.

9 min read 70 comments

How to format MicroSD cards as internal memory

Do you want to use your MicroSD card as a real memory extension and install apps on it? Then you need to format it as internal memory. Easy enough on most phones, but unfortunately, some manufacturers such as Sony, LG or Samsung, can't do this from as default. But if your smartphone has Android Marshmallow or newer, a command-line prompt will help. Avoid grief from system updates by following the new tips at the beginning of this article.

Jump to:

The easy way

If you're lucky, your smartphone will allow you to do this without having to connect it to a PC. This method is likely your only hope if you run a newer version of Android (7.0 Nougat or 8.0 Oreo). Here's how to check:

  • Put the SD card on your Android phone and wait for it to be recognized
  • Open Settings > Storage
  • Tap the name of your SD card.
  • Tap the three vertical dots on the top right corner of the screen.
  • Tap Storage Settings.
  • Select format as internal option.
  • Tap Erase & Format at the prompt
  • Android will then offer to migrate your data

If your smartphone doesn't allow you to do this, then it gets somewhat more complicated. We'll get to this in the method outlined just below.

What to do if your phone doesn't allow you to format microSD as internal memory

Some unhelpful smartphone manufacturers disable Android's normal function to formal microSD as internal memory by hiding the option to do so from your phone. But it's still possible to activate this using a PC, no root or special privileges required.

The exact steps vary depending on the Android version of your phone. This technique worked well with Android 6.0 Marshmallow and Android 8.0 Oreo, however, we encountered difficulties working with Android Nougat.

For phones using Android 6.0 Marshmallow

Some unhelpful smartphone manufacturers disable Android's normal function to formal microSD as internal memory by hiding the option to do so from your phone. But it's still possible to activate this using a PC, no root or special privileges required.

When a MicroSD card is formatted as internal memory, apps can be completely stored on it. This means that if you download applications with a total size of 2 GB, then there should be 2 GB of space taken up on the SD card. If, however, the MicroSD card is only formatted as a backup memory, this is not the case, as PLATYPUS_DIARRHEA writes on Reddit.

Just because the menu option is invisible doesn't mean that it doesn't work. A few days after the Reddit post, a command-line prompt became known, with which someone could also format MicroSD cards as internal memory in the Galaxy S7. We have successfully tested the instructions with the Samsung Galaxy S7, the Sony Xperia Z5 and the LG G4 while running Android 6.0 Marshmallow.

All three smartphones run from the factory, or via update, with Android 6.0 Marshmallow and have a slot for MicroSD cards. In addition, the menu option for formatting the MicroSD card as internal memory is missing. The entry is only available with HTC in the One A9 and with Motorola in all Moto smartphones.

Darth Vader micro SD ANDROIDPIT
Come to the dark side of memory expansion. / © AndroidPIT

Why Samsung, LG and Sony do not show us this menu option escapes me. I connected each of the three smartphones to the computer, and each had one MicroSD card inside.

Then I typed into the ADB tools the command-line commands that Paul O'Brien described in his blog post. As soon as you have the command line window open and the smartphone connected, you can enter the first command:

  • adb shell

Now the command line is ready for you to issue system commands to your smartphone. In this case, we want to format the SD card or a part of its memory as an internal memory. Even if Sony, Samsung and LG deny us the possibility by a graphical user interface, we can still transfer the command to the smartphone as a console command. First, however, we need the ID of the SD card. We find these with the following command:

  • sm list-disks

In my case, the disk is called 179.64. For you, perhaps, it is different. Note the exact identifier. In the next command, we will format and partition the MicroSD card. Your content will be deleted. If important files are on the card, copy them to another disk. If you want to keep the MicroSD card permanently in the smartphone, you can now partition all of your memory. To do this, type:

  • sm partition disk: 179,64 private

The operation takes several seconds or minutes, depending on the capacity of the memory card. If you want to use a certain percentage so that it can be read by other devices, you must exclude it from the private partition. The 50:50 partitioning command looks like this:

  • sm partition disk: 179,64 mixed 50

This is the end of Paul O'Brien's guide, but not the end of the work. If you now want to use the adopted memory as such, you must also migrate apps and data. This can be done through the storage section of your Android settings menu. Tap the MicroSD card, then move to the top right of the menu and click on Move data. You could not select this menu item before partitioning.

internal sd move data 1
Migrate the data after partitioning the SD card. / © AndroidPIT

Now, and in the future, downloaded apps are fully written to the MicroSD card. Only system apps and updates use the internal memory. This means, you should never again get error messages due to lack of space if an app update is pending.

internal sd move data 2
With the Sony Xperia Z5, the total memory is strangely displayed. The memory of the SD card is the one you must keep in mind. / © AndroidPIT

Smartphones with Android Oreo

Recent Android updates changed the game somewhat, but it's still possible to use this method with ADB. Simply get started with ADB as per the method above, but after entering adb shell, you'll be prompted to set certain values. 

Enter the following lines to unlock the ability to format microSD cards as internal storage on your phone:

G8141:/ $ sm set-force-adoptable true                                          
G8141:/ $ sm list-disks                                                        
G8141:/ $ sm partition disk:179,0 private                                      
G8141:/ $ sm set-force-adoptable false                                         
G8141:/ $ exit

We tried this method on the Sony Xperia XZ Premium running Android 8.0 Oreo and it worked like a charm. In the screenshots below, you can see the 16 GB microSD card integrated as internal storage:

80 GB total storage at our command! / © AndroidPIT (screenshot)

Problems with system updates and Nougat

Some readers have reported difficulties when installing system updates from Android 6 after using the methods above. The update to Android 7.0 Nougat especially doesn't seem possible with the manually partitioned MicroSD cards as described below. Our test devices that we tried with Android 7.0 Nougat do not even respond to the console commands shown below.

In the absence of documentation on the net, we can therefore only advise you to reverse the steps described below before a system update. Back up photos or music on your computer or in the cloud and free up as much memory on the SD card and smartphone as you can.

Uninstall unnecessary apps and migrate your data back into the internal memory. Then format the MicroSD card as removable media. Only then is it safe to install an Android update.

What's the catch?

MicroSD cards are not as fast as the internal memory of the smartphone. So don't waste money on the cheaper ones, and instead get yourself memory cards with a reasonable read throughput. The Extreme Pros and the Extreme Plus MicroSD cards by Sandisk have proved to be the best value for the money in our opinion. With 74 MB/s write throughput, you should not experience any delays in everyday life and profit from a considerably larger memory.

Interestingly, only the LG G4 was able to correctly read the acquired memory. Samsung showed unnaturally high amounts of occupied memory and Sony's value was even negative. Nevertheless, we did not have any complications, and even when we were connected to the computer, we were able to access all of our data properly, even though we could only see the shared, and not private, portion of the memory there. Difficulties arose only when it came to system updates (see above).

Storage space gain: a complete success

We have subjected the manually partitioned devices to a uniform endurance test. We have installed Final Fantasy IX on all devices. The game is 1.8 GB in size. After installation, it's easy to see which of the two memories, internal or SD card, had its memory space used. In all cases, after the installation on the SD card, 1.8 GB less space was available. A success of this extent cannot be achieved with SD cards formatted as interchangeable memory, since complete data migration is not possible.

Compare the values of the internal memory and the SD card memory in the screenshot for proof.

internal sd move data 3
Here's the picture proof: only the memory of the SD card is affected by the game. / © AndroidPIT

What happens if the microSD card is removed?

Of course, the question is what happens when the MicroSD card is removed from the system. Actually, it creates a serious problem for your apps. After all, they can no longer access their data. Since the partitions with your operating system and the information for a factory reset are still stored in the internal memory, a removed or broken SD card can't do any harm. When we removed the MicroSD card, app icons were quickly replaced by a placeholder, which were immediately restored when reinstalled.

If you lose the SD card or it has a defect, your data is lost. Since these are encrypted as the internal memory, you should not hope for a data recovery. Instead, regular backups are appropriate. But this rule applies anyway. So have fun with the cheap memory expansion of your Marshmallow smartphone.

Safely remove an internally partitioned SD card

To safely remove the SD card from the smartphone, you must reverse the above process. Since your storage space on the internal memory is probably not sufficient, you first have to transfer pictures to another form of storage and uninstall apps.

Then you go back to the Memory & USB settings and tap Move data under Internal memory in the menu. Then you go to the SD card and format it as mobile memory. Do both steps (backing up and formatting) so that your data cannot be lost and you can use the SD card with other devices.

Has this process worked for you? Which MicroSD card do you use? Let us know in the comments below.


Write new comment:
All changes will be saved. No drafts are saved when editing

  • Nougat 7.1 seems to work similar to Marshmallow and Oreo but there's still problems.
    It times out and disappears during the converting to 'internal storage' process.
    When I restart it shows but then when I click on some apps only a few give the option to "move to sd". I'm confused by it having a "move to SD" option at all when it's supposed to be reading/downloading everything to the SD card now and that the SD is supposed to be the internal storage now. Is it really reading my sd card as internal storage or just kind of backup storage? I worry the updates for all my apps I couldn't technically move to the SD card will go to the phone's "built-in" storage.

  • Hallo there. Very explicit and well explained article, indeed.
    I tried it with Huawei P9 lite and Android 6.0.
    $ ./adb shell
    $ sm list-disks
    $ sm partition disk:179:144 mixed 50

    I tried some times as I had got some errors:
    Error: java.lang.IllegalStateException: java.util.concurrent.TimeoutException: Thread Binder_3 gave up waiting for partitionMixed after 180000ms

    Error: java.lang.IllegalStateException: command '54 volume partition disk:179:144 mixed 50' failed with 'null'

    but in the end I managed to have my SD card partitioned to half.

    However, now I can see:
    - My internal storage
    - 50% of my SD card labelled as 'destroyed' or 'unusable'
    - 50% of my SD card as external storage

    When I click on the 'destroyed' internal storage, a popup menu prompts me to 'configure' the SD card. It then prompts me to format the SD card, and when I do it merges it with the external SD card!

    So I just made a hole in the water.

    Huawei has the option to use the SD card as internal storage; using it I didn't see any improvement. There is no button or menu to migrate data to the SD card.

    Any similar experience or advice?

  • Katy 3 weeks ago Link to comment

    I've finally been able to connect with my phone after figuring out that the Windows Powershell uses slightly different commands (adb shell does nothing, only ./adb shell worked).

    I've connected my PC to my Samsung S7 on Android 6.1 successfully, but I dont seem to be able to get the 'sm list-disks' command to work (and I've tried .sm and ./sm - none are correct commands)

    Thanks in advance!

  • Thanks! I Managed to do it with my ASUS Zenfone Live L1 (Android Ver 8.0).

    BTW I'm using Sandisk Extreme 32GB A1 as my Micro-SD Card.

    In my case It is better to Partition the disk as private (sm partition disk: [your disk number] private) than mixed because if you choose mixed, the System memory will take A LOT OF YOUR MICRO-SD CARD SPACE!

    I've done the mixed 50..... in the end, my System memory Takes 15GB of my Micro-SD Card space...... AAAAAND I GOTTA FORMAT AS PORTABLE FROM MY PHONE (Thanks to that, I gotta restart the whole ADB Shell Command again~).

    And due to over-excitement of trying this~ I forgot to backup my photos & data before I Formatted my Micro-SD Card~ LoL (at least most of the data were less-important)

  • Thanks! been trying to do this the whole day with different methods. Your method is the only one that worked.

  • I love you! It works! you saved my day and my money!

  • I know it's a very old article, but can you confirm that Samsung has somewhat disabled the possibility to format SD via adb, too?

    I am on Oreo on a S7 herolte, followed all steps, tried with both mounted and unmounted card, but it doesn't seem to have any effect :(

    • I just tried this on my Note 8 running oreo and I had no success either so although I cant confirm it looks like they might have just removed the command ability. :(

  • Any chance that a workaround for Nougat is coming anytime soon?

  • This is what I get when trying to setup external SD card as internal storage:

    Microsoft Windows [Version 10.0.17134.112]
    (c) 2018 Microsoft Corporation. All rights reserved.

    C:\Users\migob>adb shell
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    error: device unauthorized.
    This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
    Otherwise check for a confirmation dialog on your device.

  • Hi guys,
    I had my S7 Edge with 128GB original Samsung 80mb/s read write working as an oil. I merged by adb with internal sd.
    A week ago I updated to original Android Oreo 8.0. Nothing worked for a Samsung smartphone after the update if you had adoptable storage, a lot of popup error on any app.
    So I made a backup of my internal and external sd and I launched a reset factory.
    I restored the data and all now works fine.
    But and this is the problem, now I don't see the memory as internal I see my internal memory and my sd card memory. I remember that in storage show the sum internal and external sd.
    I don't remember how I did it.
    Is it needed to format as FAT32 the external sd with pc program? Because I can't see format command as adoptable storage in Oreo Samsung S7 Edge.
    Because I remember it but I don't sure.
    I enabled the adb by adb shell .... the same boring command line and not see as adoptable.

    Somebody have used ext4 format? I remember that I tried but without success...

    Please help me to find the correct step to allow to join external sd with internal.

    Thanks a lot for your support...

  • HI, very good article! It was helpful!
    I tried the "complicated" method using ADB with my LG XPower2 running on Android Nougat. It worked very easily for me. But there was an additional step to do. Under the developper options menu in the phone, you have to activate USB Debugging, and when you plug in the phone, you have to wait a bit longer for the driver to get installed. After this, my phone responded very well to every commands in the shell. Also, in the second command you wrote in your article, there is no space between the ":" and the beginning of the SD card ID. This will prevent the command from running and will just give you back a list of every supported commands.

    Thanks, again, hope this will be helpful to someone!

  • I have a ZTE phone running marshmallow and this did not work. I get error: unsupported partition type. Any suggestions before I root device and install a custom ROM?

  • Will try it on my Samsung Note 4, but if I want to split the SD card memory 80% internal / 20% external (SD card type) should I enter mixed 80 or mixed 20? Thanks

  • On Oreo developers options you can enable it to be able to move all apps to sd card. I have it on my Galaxy S8 and everything on my sd card. I haven't noticed any slow down in performance, but I do have one of the super fast Samsung ones.

  • I wish you guys would say storage, instead of memory. You can't increase memory, unless the phone's software is set up to make a swap file, so this article should change from "memory" to "storage".

  • Jay B. 6 months ago Link to comment

    Thanks for the information, I was able to perform these steps on my Samsung Galaxy s5 Sport that is running Android version 6.0.1 and convert my 32GB SD card to internal storage. At first I thought that it did not work because my internal memory was too full to allow apps to be moved to the SD card. After I figured that out and uninstalled several apps then I could move the other movable other apps to the SD card.
    I hope that I have been able to move a sufficient number of apps to the SD card that I will not be constantly notified that I do not have insufficient storage space.
    Unfortunately even after moving all of the moveable apps to the SD card I still have 13.77 GB of 16 GB used in my internal storage. This leads me to the opinion that too many developers, including Google, are too lazy, too uninformed or to filled with their own sense of self importance to develop apps that can be moved to and run from an SD card. That along with the propensity of Google and Samsung to load bloatware on my phone which I cannot remove makes me sorely inclined to take the leap and root my phone. The warranty is not a concern as the phone has long been out of warranty. Nor is the lack of the ability to get OS updates automatically as Samsung and my carrier have lost interest in providing them.

Show all comments

Recommended articles