I don't want all my external SD card as adopted/internal storage, so I was wondering how I can split it into 1 part adopted storage and 1 part normal file storage (what Android calls "portable storage").


2 Answers 2


You don't need to root your device but the device i done this with is rooted

  1. You need to enabled Developer Options.
  2. Enable the USB Debugging option.
  3. Make sure your SD card is formatted as portable, then get the adb executable (see our adb tag-wiki for details).
  4. Connect your device to your PC and run the adb devices command. If your device is connected correctly you will see your device listed in the output.
  5. Run adb shell sm list-disks adoptable. This will show you the list of disks that can be used for what we want.
  6. For my device it showed me disk:179,128 so i ran adb shell sm partition disk:179,128 mixed 80 on my 32 GB AS card. It gave me 5 GB as adoptable storage and the rest for other uses. (This will format your SD card.)
  • Does this really require root as the command to set up adoptive storage in the 1st place does not? (sm partition disk:foo,bar)
    – Barleyman
    Commented May 24, 2016 at 13:31
  • @Barleyman Well not really but my device is rooted and i didn't test this with none rooted devices so if you like you can try and let me know if you got any error
    – poqdavid
    Commented May 24, 2016 at 13:40
  • 3
    I did actually yesterday and today on my Galaxy S5. I didn't use the mixed type but at least the sm partition disk:foo,bar private works just fine without root. Migrating from lollipop with Link2SD to Marshmallow with adoptable storage is a bit of work. Gotta do clean install and copy titanium backup files to PC & back and repartition the sdcard on pc and later on the phone. Also titanium backup does not realize phone storage is running out so you'll have to fight past dialogs to move a single app to sdcard to make enough room that you can use apps2sd to migrate the rest..
    – Barleyman
    Commented May 24, 2016 at 13:48
  • 1
    On my device the sm partition disk: disk:179,128 mixed 80 command returned the usage of the command, maybe it's because of the custom ROM, but I replaced the comma with an underscore and it accepted it - eg. sm partition disk: disk:179_128 mixed 80
    – Sam Denty
    Commented Apr 17, 2017 at 11:54
  • 1
    I searched far and wide to come to this resolution... Was able to follow steps using terminal emulator directly on rooted phone, without using adb or usb phone connection: - Format internal SD as portable in settings, hit eject (unmount), opened terminal emulator, I su (just incase) to become root, then sm list-disks adoptable, found my storage 179_64, then sm partition disk:179_64 mixed 80. It immediately started working. Ignored format prompt. Then rebooted and all prompts asking if I wanted to format went away.
    – Seek Truth
    Commented Aug 1, 2020 at 15:29

poqdavid's answer is correct.

In addition though, you might get the error that your SD card on your device storage is corrupted. If so, follow these steps.

After you have partitioned the disk and while your SD card is corrupted, enter the following commands in the terminal which will list your volumes, for example:

$> adb shell sm list-volumes all
private mounted null
public:179,1 mounted B5B1-140C
private:179,3 unmountable null
emulated mounted null

Then enter the following replacing 179,3 with whichever disk numbers you are given:

$> adb shell sm format private:179,3
$> adb shell sm mount private:179,3

Now your SD card in device storage should be properly mounted and your portable storage will still be there.

This worked on my LG G5 and should work on the Samsung Galaxy S7.

  • i tried 3 four time $>adb shell sm format private:179,3 $> adb shell sm mount private:179,3 $> sm list-volumes all output;_private mounted null public:179,1 mounted 5C8A-85AC private:179,3 unmountable emulated;0 mounted why it showing unmountable , can we conver 179,3 to public or mount from other adb shell mount command to Commented Nov 8, 2022 at 14:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .