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 74 comments

How to use a MicroSD as internal storage on your smartphone

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 by default. However, if your smartphone's OS is Android Marshmallow or higher, 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 below.

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

Some unhelpful smartphone manufacturers disable Android's default function to format microSD as internal memory by hiding the option from your phone. However, 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

When a MicroSD card is formatted as internal memory, apps can be fully 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 you could also format MicroSD cards as internal memory on 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 on 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 on HTC One A9 and on 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 internal memory. Even if Sony, Samsung and LG deny us the possibility via the UI, we can still transfer the command to the smartphone as a console command. First, however, we need the ID of the SD card. You will find it 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 cannot 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 that 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 specifically doesn't seem possible with the manually partitioned MicroSD cards, as described below. Our test devices 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 benefit from considerably more 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 a computer, we were able to access all of our data properly. However, 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 on 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. Perform both steps (backing up and formatting) so that your data cannot be lost and you can use the SD card on 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

  • So I tried to do this on my XCover 3 but it says Unsupported partition type 179,40
    What do?

  • Hi every one,
    I have a J7 2016 with android 7, and i have followed all the instructions but it dosen't work, i don't know if there is something else to do to make this work

    Ty for your answers

  • I am realy curious how to do it with USB Drive, it would be great if it could work.

  • Greets- I have a Moto Z2 Force w/Oreo Android 8.0.0 and it does not allow formatting SD card as internal. It also does not allow moving apps to the SD card unlike the above document indicates. Page needs to be updated.

  • 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.

  • ikost 2 months ago Link to comment

    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 2 months 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

Show all comments

Recommended articles