[Droid Incredible General] vbhines:
I actually had the EXACT same problem. No one believed me, and they all said it's perfectly normal not to be able to mount /cache in recovery (nevermind the fact that I couldn't mount /data either).

Here's what I had to do, and hopefully it will work for you.

First, I had to find a copy of parted, as my version of the custom recovery for some reason didn't include it. I suppose fdisk would work, but it's a little less intuitive.

Keep in mind that on the Incredible, the /data, /datadata and the /cache are all mounted to the internal 8gb of memory. So, if you boot your phone into recovery and go into adb shell, and run:

mount -a

You'll probably get a bunch of errors - note the mountpoints withinthe errors. Oh, I almost forgot - don't worry about the sd-ext mounting errors. That's a red herring, and is mounted to your removable SD card. If you had an app2sd partition on your card but it got borked, we can worry about that after we get your phone up and running.

So, my mount -a delivered errors for /data and /cache at /dev/block/mmcblk0p1 and /dev/block/mmcblk0p2. I'm sure you know already, but that relates to partition 1 and partition 2 on your internal 8gb.

I ran parted as follows:

parted /dev/block/mmcblk0

print

I looked at my partitions. For me, I believe I had /data and /cache listed as either ext2 or ext3 partitions. Next, I quit parted (run: quit) and from the adb shell prompt ran:

cat /etc/fstab

That prints your mounting points. /data and /cache were supposed to mount as the opposite file system. Like I said, I can't remember my exact partition types, but if they were actually ext2, they were trying to mount as ext3, or vice versa. Here was the squeeze...my version of recovery did not have the ability to convert ext2 to ext3. I even ran gparted LiveCD and was unable to do it. Part of the problem is that for whatever reason, every time I rebooted the phone into recovery, the partitions went back to their original type.

This is what I ended up doing. I ran from the command prompt outside of adb shell:

adb pull /etc/fstab /fstab

The pulled a copy of the fstab file to my computer's directory with ADB. I then opened the fstab file in a text editor and actually *changed* the mount types to match my current partition types.

I saved it. Oh, by the way, I also saved a copy of the original fstab as fstab.bak just in case. Then I ran these commands:

adb push fstab /sdcard/

adb shell

chmod 755 /sdcard/fstab

chmod 755 /etc/fstab

cp /sdcard/fstab /etc/fstab

mount -a

Low and behold, all of my /data and /cache partitions mounted! I was foolish and tried rebooting into recovery, just to see what would happen. All of my progress got erased and I had to start all over again.

Once I was back at the point with my mounted partitions, I performed a /data and /cache wipe, just to be safe, then applied an update.zip before rebooting. Everything got written correctly. I have no idea what happened to my partitions after that, but when I rebooted I got back into the running OS/ROM that I just flashed.

Here's my final suggestion: If you can get into Recovery, even if you can't mount the locations, it's doubtful that you've totally borked your phone. Don't listen to anyone that tells you otherwise. My method may not work for you if you have a different problem, but most likely because you can't mount those directories, it's an fstab problem. If you're not familiar with Linux systems, this may not make complete sense, but it worked.

If this doesn't work for you, please PM me. Perhaps we can work together to find a solution for you. My Dinc was completely unusable for two weeks before I figured this out on my own. I even conversed with Koush and couldn't find any usable suggestions from anyone else.

Hope this helps - if it does, please let me know.