How-To: Mount the /Cache Partition as a Fake SD Card
This won’t be useful to most users but to those of us who have a SD card that is either no longer recognized by the phone for some reason or just plain doesn’t work anymore, this will help.
I’m going to show you how to mount your phone’s /cache partition as your /sdcard partition, allowing the use of apps and widgets that require an SD card to work properly. A basic knowledge of ADB and Linux commands will be helpful but not entirely necessary, you should be able to just copy and paste the commands. This could be adapted to mount any writable partition as the SD card partition, such as using /data instead of /cache, which should allow a bit more information because of partition restrictions.
Things you will need:
* (optional) Terminal Emulator installed on your device.
I’ll try to explain the steps as best as I can while keeping the commands readable.
1: Boot into the main Android OS /*this is fairly obvious;
2: Plug your phone into your computer /*again obvious;
3: Open a command prompt/bash/terminal window /*we will by typing the commands here;
4: Type “adb devices” without quotes /*start the adb server if it isn’t and list attached devices;
4A: Linux only: type “sudo adb devices” instead and enter your root password /*start adb as root and list devices;
6: (optional) type “adb shell” without quotes. if you prefer type all following commands in Terminal Emulator /*start the shell session for linux commands;
7: type “su” without quotes. You should get a #. If this is your first time using TE you will get a dialog asking you to allow su permissions for TE. Click “always allow” or “remember” and “yes” /*get su permissions for shell;
11: type “ln -s cache /sdcard” without quotes /*create a symlink to the /cache partition. now when apps look for /sdcard their data is saved in /cache;
12: Run the app or widget that requires SD card access. It should now work.
This will be undone with a reboot but it should allow you to at least get things working properly. Since this uses the /cache partition it uses the phone’s internal memory, which is very limited so be careful with what you download. This is a temporary fix until a replacement SD card can be obtained. You will still get that annoying notification that you don’t have an SD card inserted but apps and widgets should work just fine with it.
I have noticed that ROM Manager will not work with this method, nor will the camera, but an app called “Weather and Toggle Widgets” will allow you to do an initial setup and continue working even after a reboot. I have obviously not tested each and every app for compatibility but with minor tweaking this could come in handy for much more.