How can I fix /sdcard partition? (How to use fsck_msdos?)


RadarNyan

Members
Sep 10, 2013
101
38
I've been experiencing some wired things about my /sdcard, such as it become read-only sometimes and I can't remount it to read-write, so I did some Google search and thought maybe I should try fsck_msdos, but I can't get it work as expected.

Here's what I got when I run mount on my phone using Terminal Emulator:
Code:
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/fuse tmpfs rw,seclabel,relatime,mode=775,gid=1000 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data_root ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,nodelalloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/block/vold/179:27 /mnt/media_rw/sdcard0 ext4 rw,dirsync,context=u:object_r:sdcard_external:s0,nosuid,nodev,noexec,noatime,data=ordered 0 0
/dev/block/vold/179:27 /mnt/secure/asec ext4 rw,dirsync,context=u:object_r:sdcard_external:s0,nosuid,nodev,noexec,noatime,data=ordered 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

I guess maybe I should try something with /dev/block/vold/179:27, So I tried to un-mount by running umount /dev/block/vold/179:27, but it doesn't work, saying "failed: Invalid argument" So I tried using Busybox's umount and get it un-mounted sussessfully.

Next thing I tried was fsck_msdos /dev/block/vold/179:27, but that doesn't workout either. saying:
Code:
** /dev/block/vold/179:27
Invalid signature in boot block: 00002

What can I do now :( I don't care if I would lost my data since I got the important ones backed up, I will do if there is a safe way(I've been told never try factory reset my phone while using a custom rom or it will lead to a soft brick) to format my /sdcard if it will correct this error.

I'm using Micha's cwm v6.0.4.7 with TDB enabled, /data and both /system partitions resized with his script, using CM11-nightly on system1.
 
I just fixed my sdcard by using adb shell from recovery with e2fsck command. (in my case, it is e2fsck -cfy /dev/block/vold/179:27 )
 
The error could be caused by Android 4.4 as its restricting Apps with write access to only their own folders! Try xposed together with the module: "handle external storage" (the last one on this pic):
bezemu4u.jpg


Sent with my Xiaomi MI2 with Tapatalk Pro
 
Guys, sorry to ressurect a old post, but i having the same issue with my rooted galaxy s2 (i9100).
Its internal memory is read only. Running in terminal fsck_msdos /storage/sdcard0 doesnt do anyhting.
How do i find a problematic block, just like you did?

I dont know what to do!