2

Background:

I have Samsung Galaxy Ace GT-S5830, which has very low internal memory (181 MB). I have an external micro SD card of 16 GB, but still couldn't install many apps due to insufficient internal memory.

I read on the Internet that if I modify vold.fstab and replace the word "sdcard" with "sdcard2" then my external SD card will act as internal memory.

So I rooted my phone and installed Superuser, but I haven't installed ClockworkMod recovery or any other custom ROM yet.

Problem Description:

I installed ES File explorer on my SD card and allowed root access to it via Superuser. I then went to /system/etc/ from ES file explorer, edited vold.fstab and replaced the word sdcard with sdcard2.

When I restarted my phone the external SD was no longer accessible. ES File Explorer is also gone, so I cannot undo the change that i did. I tried installing ES again from my data connection, but the installation fails (and the phone reboots immediately). I am not able to install any new apps.

I am unable to access my external SD card, so I can't put anything there via PC or via recovery. I tried pressing the power button + home button to go into system recovery mode. I see only these options

Android system recovery <3e>

  • reboot system now
  • apply sdcard:update.zip
  • wipe data/factory reset
  • wipe cache partition

When I try to select the second option, it says "installation aborted" as the SD card is not accessible. I tried to select the 3rd and 4th options, but that didn't help either - I think factory reset will not reset vold.fstab.

I only have the default apps and Superuser now. I somehow need to find a way to get write permission to /system/etc or to /system/etc/vold.fstab.

Luckily I found "Android Commander". I installed it on my Windows PC and I am able to connect my phone and access the root folder, but I am not able to push a modified vold.fstab to /system/etc because Android Commander says "no Root Access" - It is seeing it as read only.

Can someone let me know how I can edit this file again? I have an original vold.fstab on my PC, but I am not able to push it to my phone via Android Commander as Android Commander is seeing it as read only

Is there a way to give root access (aka read-write access) to Android Commander via the Superuser app?

Is there any other way to get write permission to /system/etc/vold.fstab so that I can modify it or replace it?

1

Download the Android Debug Bridge from here, and extract the contents (to the same directory).

Connect your device to your computer using the USB cable and open up a command prompt (Windows logo key + R, type cmd and press Enter).

Once that is open, type the following commands:

cd <entire path to adb.exe file>
adb shell
su

mount -o remount,rw /system 
# if previous doesn't work try:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

exit
exit

adb push <path to original file> /system.etc/vold.fstab
adb reboot

That will grant root, mount the system as writeable and then push the original file and overwrite the modified one (and reboot your device).

  • Why isn't this working ?? $ su su # mount -o remount,rw /system mount -o remount,rw /system Usage: mount [-r] [-w] [-o options] [-t type] device directory – aks Jul 7 '13 at 20:05
  • You have an outdated mound command installed. See the edit which will be up in 2 minutes or so :) – Liam W Jul 8 '13 at 15:37
  • 1
    i think the path is /system/etc/vold.fstab not sysmtem.etc but system/etc – user48843 Dec 20 '13 at 6:20
  • I'd remove all windows specific info (where to get adb) - it's not related to the problem... – pevik May 7 '15 at 8:57
0

I don't know about Android Commander, but a simpler way (in my opinion) would be to use ADB. You may have already installed the Android SDK (if not, go here). I assume that you don't have modified your System Path.

  1. Move your vold.fstab to C:\Program Files\Android\android-sdk\platform-tools or C:\Program Files (x86)\Android\android-sdk\platform-tools
  2. Go to the android-sdk folder, shift+right click on platform-tools and choose "Open command prompt here"
  3. Next steps depends if you have a custom rom (a) or not (b) (see comments).
  4. We take root privilege:
    • a) If your device is 4.0 or above, type adb root
    • b) Type adb shell then su
  5. We make /system writeable:
    • a) adb remount
    • b) mount -o remount,rw /system then exit
  6. adb push vold.fstab /system
  7. adb reboot

This should do the trick.

  • adb root will only work if 1. the device is running a custom ROM and 2. root to adb is allowed. – Liam W Jul 7 '13 at 19:22

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