I have an GT-I9100 with Chameleon.3.0.4 ROM (and ROOT).
Android-Version is: 4.1.2

Since few month, my internal SD-Card (internal storage, not external SD) became readonly.
I cannot add/edit/delete any files on it anymore.

I noticed corrupted files in /storage/sdcard0/Android/data/com.google.android.youtube/ (wrong filesizes (each > 3GB) and wrong/unreadable filenames), which I am unable to delete or fix.

So, I tried to execute fsck_msdos -y /dev/block/vold/259:3 (as root) via ADB-Shell, which shows me:

** /dev/block/vold/259:3

Boot sector contents: 

sectors per cluster:..........64 
number of reserved sectors:...2236 
number of FATs:...............2 
number of sectors are in FAT:.2946 (1473 KB) 
cluster mask (bit):...........32 

first cluster offset..........8000 
cluster size(bytes):..........32768 

hidden sectors:...............0 
number of clusters:...........376963 

volume serial number:.........407a-07d3 
volume label:.................NO NAME    { 0x4f 0x20 0x4e 0x41 0x4d 0x45 0x20 0x20 0x20 0x20 0x46} 

** Phase 1 - Read and Compare FATs 
Attempting to allocate 1473 KB for FAT 

Attempting to allocate 1473 KB for FAT

** Phase 2 - Check Cluster Chains

** Phase 3 - Checking Directories

Invalid long filename entry for /Android/data/com.google.android.youtube/�ILES

Remove? yes 
check_dot_dot: '.' absent for /Android/data/com.google.android.youtube/�ILES. 
check_dot_dot: '..' absent for /Android/data/com.google.android.youtube/�ILES.  
Remove? yes 

FSNext block (322159) is correct, NumClusters (376963)

12387 files, 646240 free (20195 clusters) 


Which looks good. But when I re-run this command, I always get the same result.
Which shows me, the file system was not modified, cause it's readonly.

So, I tried to re-mount the storage in RW-Mode.
Fixing the file system, did not work for me. (fsck_msdos couldn't repair the fs)

How to repair the internal storage?


This is an answer to my own question:

I managed to fix this problem (until now), by doing following:

(NOTE: Do this at your own risk!)

01. boot into Android and enable USB-Debugging
02. backup data from SD
03. update busybox via PlayStore
04. reboot into recovery mode
05. mount system partition (via recovery tools like CWM)
06. connect to device via USB + ADB(-Shell)
07. get internal SD device name (via mount which is for me/dev/block/mmcblk0p11)
08. format internal SD (via mkfs.vfat -F 32 /dev/block/mmcblk0p11)
09. check new formatted partition (via fsck_msdos -y /dev/block/mmcblk0p11)
10. reboot into Android and check if internal SD is writable again

Until now, my internal SD became writable again!
Of course, all data is gone.


  • Why the downvote?!?!
    – Ben
    Nov 4 '17 at 8:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.