How to Fix TWRP Unable to Mount Storage, Internal Storage 0MB

For someone stepping into the Android modding scene, using a custom recovery can be a fairly common occurrence. If TWRP can’t mount storage, it means that the internal directory is inaccessible to the recovery. In this case, flashing any package or update from within the device’s memory may not be possible.

Unable to Mount Storage | TWRP

Why Can’t TWRP Access My Internal Storage?

What usually happens is that your data is automatically encrypted by default. This isn’t a a one-off case for a particular set of devices, since encrypting internal memory was mandated for devices launching with Android 6.0, or later.

Here’s what may be happening:

  1. The recovery is unable to either access or decrypt the device’s storage partition.
  2. Your device may use a legacy screen-lock method, such as a pattern lock. This may not be supported by the recovery, which then fails to decrypt the data.
  3. TWRP may not prompt you to enter your device’s screen lock.

NOTE: Even if TWRP shows the internal storage as 0MB, it doesn’t necessarily mean the storage is full. This may be an indicator of the recovery not being able to properly decrypt internal storage.

How to Fix TWRP Unable to Mount Storage?

There are three separate ways of allowing your recovery (in this case, TWRP) to allow for decryption of your device’s internal storage. Note that with each of the more advanced steps, there is a risk of losing your data, so make sure that you have a backup ready in case things go south.

1) Remove Your Device’s Screen Lock

For a temporary period of time, for when you may need to use TWRP, remove your device’s screen lock. Even though TWRP supports string-based passwords and PIN codes, it’s better to get rid of any authentication methods that you may use to unlock your phone.

Why Does TWRP Require a Screen Lock to Decrypt Data?

TWRP requires the screen lock before decrypting internal storage because of how Android handles device encryption. Android uses either full-disk encryption (FDE) or file-based encryption (FBE), and the decryption key for both of these systems is tied to your password, PIN, or pattern.

For the recovery to access that encrypted data, it needs your screen lock. Without this lock, the decryption key isn't locked behind the authentication methods. This is why removing the screen lock may help in accessing your device's internal storage.

Here’s how you can remove your device’s screen lock:

  1. Go to your phone’s Settings > Security & privacy > Device unlock.
  2. Tap on Screen lock.
  3. Input your device’s PIN or Password.
  4. Under “Choose a new screen lock,” select “None.”

NOTE: These steps were replicated on a Google Pixel. The procedure for changing the screen lock on your device may vary.

2) Factory Reset Your Device (Wipe Internal Partition)

If you need a quick, temporary solution and turning off the screen lock didn’t work, you might need to factory reset your device. This will erase all data on your phone, so proceed with caution. Also, remember that after restarting in recovery mode, your data might get encrypted again.

Here’s how you can wipe your storage partition:

  1. Boot your device into TWRP.
  2. Navigate to Wipe > Advance Wipe > Data, and choose Repair or Change File System.
  3. Tap “Repair File System” to see if this fixes the issue. If not, continue.
  4. Tap on “Change File System,” choose Ext2, and swipe to confirm.
  5. Now switch back to Ext4 and swipe to confirm.

3) Switch to the Proprietary ROM Recovery (Manual Updates)

If you need to manually flash an update to your ROM via recovery, it’s best to use the ROM’s own proprietary recovery.

PixelOS ROM Recovery

Many ROMs like PixelOS, ArrowOS, and the now-deprecated Pixel Experience come with their own recovery files. While these recoveries usually don’t allow for a lot of flexibility in interacting with your device, they’re recommended for manual updates, especially if the ROM doesn’t support OTA updates.

ABOUT THE AUTHOR

Kamil Anwar


Kamil is a certified MCITP, CCNA (W), CCNA (S) and a former British Computer Society Member with over 9 years of experience Configuring, Deploying and Managing Switches, Firewalls and Domain Controllers also an old-school still active on FreeNode.