from https://forum.xda-developers.com/t/how-to-decrypt-and-split-adopted-storage.... # How to partition and to have adopted storage at same time. 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 from android sdk or any other source. 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 SD card. It gave me 5 GB as adoptable storage and the rest for other uses. (This will format your SD card.) # How to decrypt adopted storage. 1. Your device must be rooted. 2. Using a file browser like ES Explorer, browse to /data/misc/vold. 3. The .key file there is the encryption key of your adopted storage. 4. Open that file with a hex editor to view the 16-byte key. 5. On any Linux distro you can do this first mount your SD card, in my case SD card was mounted at /dev/sdb2. 6. Then run this command dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt aes-cbc-essiv:sha256 <You put the 16 bytes of hex data from the file here> 0 /dev/sdb2 0" This might give you a error but ignore it. 7. If your key is correct you can mount it by mount -t ext4 /dev/mapper/crypt1 /mnt/1/ 8. Finally you can run cd /mnt/1 to browse the decrypted storage.