[How-To] Setup Link2SD/Apps2SD in Marshmallow

Android How-To

In Android 6.0.x Marshmallow, setting up Link2SD or Apps2SD (not to be confused with “App2SD”) fails all the time. This is two-fold, first, the “ext” filesystem formatting of Marshmallow is different/modified; and second, due to this, all partition apps will never work even if it shows that the partition was successful.

The solution is simple, partition the SD card under Lollipop/Kitkat; or under Linux/Windows. But both have pros and cons which will be explained later.

Let’s begin…

Partition the SD card

  1. Insert the SD card in your old Lollipop or Kitkat device
  2. Download AParted from Google Play
  3. Go to Settings >> Storage and tap “Unmount SD card”
  4. Still in Settings >> Storage, tap “Erase SD card”
  5. Launch AParted and partition the SD card: 1st partition should be “FAT32”; and the 2nd partition should be “ext4”

Next, we will setup the newly partitioned SD card in your Marshmallow device.

Setup Link2SD/Apps2SD in Marshmallow

  1. Insert the SD card in your Marshmallow device and turn it on
  2. Ignore the “New SD card detected” message
  3. Download Apps2SD (do not confuse it with “App2SD”) from Google Play and launch it
  4. Tap “Link apps to SD card”
  5. A pop-up will appear, choose: ext4
  6. If your SU/root app have “su.d” support (e.g. SuperSU v2.22 and above), choose “I’ve su.do support on my device. I’m using SuperSU v2.22+”. Otherwise, choose “Use normal method”.
  7. Tap “OK” then reboot your device
  8. Link2SD will now detect the ext4 partition correctly. You can uninstall Apps2SD, or stick with it and remove Link2SD instead. What is important is that you only have 1 symlink app.


If after rebooting the ext4 partition was not detected, repeat steps 4 to 6, but this time choose the option “I’ve init.d support on my device”. If your device does not have “init.d” support, then download Universal init.d from Google Play before choosing this option.

That’s it! You’re done!


  • Q: Can I partition in Linux or Windows?

    Yes. However, there is a chance that Marshmallow will show a “corrupted SD card” message. It is not corrupted, the SD card detection algorithm of Marshmallow is stricter (or different) than the previous Android versions. When it reads an SD card, it was expecting something but found it not. Continue as usual, the ext4 partition is working as intended.

  • Q: Can I use Apps2SD partition feature instead of AParted in Lollipop/Kitkat?

    Yes. But based on my personal experience, it caused Marshmallow to show the “corrupted SD card” message and it was very annoying. I already informed the developer about it so she can take a look what’s different in the implementation of AParted and her own Apps2SD app.

  • Q: Why use Apps2SD to setup the ext partition and not Link2SD?

    Because Link2SD’s mount script is not working in Marshmallow, however, Apps2SD was updated to work in Android 6. Until Link2SD is updated, we have to use Apps2SD to setup the mount script. Yes, we can fix Link2SD’s mount script manually but why make it harder?

Enjoy your new Marshmallow device!

Important Reminders and Disclaimers

  • Your device must be rooted already.
  • I am not responsible to what may happen with your device. Each rooted device and each person handling it are unique.
  • Your SD card, obviously, must not be heavily used already. SD cards have a set limit of “write”. It slows down and might even break after that. Use a new SD card for every new device.
  • Again, you are taking a risk, on your own.
  • This guide was tried and tested, first-hand experience, not stolen nor copied.

Donations for the magus

  • XLM (Stellar Lumens) 🚀🪐17: yukino*keybase.io XLM (Stellar Lumens) 🚀🪐17: yukino*keybase.io
    • XLM memo/tag (optional): for techmagus.icu
    • Highly preferred
  • ZEC (Zcash) Z0.03: t1W7HusjBAXgquM7YHu6xDUEBejmYPKU2HC ZEC (Zcash) Z0.03: t1W7HusjBAXgquM7YHu6xDUEBejmYPKU2HC
  • XRP (Ripple) X5: rU2mEJSLqBRkYLVTv55rFTgQajkLTnT6mA XRP (Ripple) X5: rU2mEJSLqBRkYLVTv55rFTgQajkLTnT6mA
    • XRP memo/tag (required): 246013
  • STEEM: yahananxie STEEM: yahananxie
  • ETH_smartcontract (Etherium) Ξ0.007: 0x739d2aae2a5b7a4e1d64c58d121c9d908d706c83 ETH_smartcontract (Etherium) Ξ0.007: 0x739d2aae2a5b7a4e1d64c58d121c9d908d706c83
    • Gas: please use at least 35,000
    • Do not send non-smartcontract ΞTH and ERC20 tokens to this address.
  • ETH_ERC20 (Etherium) Ξ0.007: 0xB127362Dc268B63cE22E697344D2c51e673f18B6 ETH_ERC20 (Etherium) Ξ0.007: 0xB127362Dc268B63cE22E697344D2c51e673f18B6
    • Accepts non-smartcontract transactions and ERC20 tokens (in particular: AWC, ENJ, PAX, TUSD, USDC)
  • BCH (Bitcoin cash) ₿CH0.004: pp8fkmchlu6a7c53a2s682jd70mncrzemsthca6ftl BCH (Bitcoin cash) ₿CH0.004: pp8fkmchlu6a7c53a2s682jd70mncrzemsthca6ftl
  • XBT (Bitcoin core) ₿0.0002: 32w1De4wvr5jEzC4g5P4rkjvqg2bvMR8Vk XBT (Bitcoin core) ₿0.0002: 32w1De4wvr5jEzC4g5P4rkjvqg2bvMR8Vk
[How-To] Setup Link2SD/Apps2SD in Marshmallow
Article Name
[How-To] Setup Link2SD/Apps2SD in Marshmallow
A short guide on how to properly setup Link2SD or Apps2SD in Android Marshmallow devices, without the annoying "corrupted" message.

CC BY-SA 4.0 [How-To] Setup Link2SD/Apps2SD in Marshmallow by ᜌᜓᜃᜒ (Yuki|雪亮) is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Permissions beyond the scope of this license may be available at Legal Notice.

Leave a Reply