How i fixed my corrupted partitions.
I recently had some disruptive partition troubles. I don't know how they started (must've been a bad flash, or a flash which didn't finish seeing as though i was experimenting with the leaked roms) but basically, my /cache, /system, /data, and /emmc partitions were all corrupted.
Fixing the /emmc, /cache and /system partitions was quite easy. I booted up into fastboot mode, flashed an ADB enabled recovery (the one in the Atrix Development forum works fine) and downloaded ADB.
I booted up into recovery, and in CMD i went into adb shell and used "parted /dev/block/mmcblk0p18" to get into the emmc partition, "rm 1" to remove the corrupted partition and "mkpartfs" to make a new partition as ext2, start 0, end 11.5GB (or something like that) and let it finish. Then i went into Mounts and Storage in CWM and formatted emmc. Did the same for /cache (mmcblk0p15) and /system (mmcblk0p12).
So far so good, my random reboots were fixed and my deadly FC of all apps was gone. But not for long.
I noticed after about 24 hours of normal use, i would start FC everything and multiple reboots + clearing caches (including dalvik) would fix it temporarily. This was a headache as messaging, phone and whatsapp would all crash and not recover.
I chalked this down to the /data partition (also known as /userdata, which houses the dalvik cache). I must be hitting a corrupt part of it during my daily use which messed my device up (once i hit the corrupt part, i could not do ANYTHING with the device, including just checking a partition. I would ALWAYS have to reboot at least twice to even read the partition).
I tried the same method as before (mmcblk0p16 for userdata partition) but i couldn't do it. It would always fail at around 90% and say i/o error and needed a few reboots. If i made a fat32 partition, i couldn't format over it with CWM (error near the end). Same with any kind of partition. This was the partition which couldn't be fixed...
So i decided to go all out. I knew i never flashed OTA 2.3.4 (Gingerbread), so i downloaded the Gingerbread SBF from a quick google search, despite all the warnings (i also THINK you CAN flash this SBF even though you were on OTA 2.3.4, just NOT ANYTHING LOWER SUCH AS FROYO). I booted into RSD mode and hoped for the best. Flashing went fine, but i was in a bootloop (due to data partition). Tried clearing with the stock android recovery and i would get i/o errors even though it said successfully wiped.
It was here when i got angry.
I flashed the ADB enabled recovery via fastboot and booted into it. Went into adb and parted again (first i inspected emmc partition which was mmcblk0p18). Did "print" and it said couldn't find label or something (which meant no partition table was found). ALL my partitions were missing this partition table.
So i created one.
"mklabel msdos" for emmc partition, then mkpartfs to make a primary partition, ext2, start 0, end 11.5GB" (or something like that) and let it happen.
For cache partition, i did "mklabel loop" then mkpartfs ext2, etc etc, with data i did "mklabel loop" and made a partition, same with system.
Then i tried wiping them via CWM. SUCCESS! I formatted them 5 times each just to be sure and sure enough, they were working fine now. I flashed a new ROM (couldn't risk my backup partitions having a corrupt sector or something in them) and heavily used it for a few hours. Downloaded many apps and games, did loads of texting and test calls.
No reboots. No FC, no problems for 24 hours. Hope it stays this way.
I posted this in hopes that others would find a solution with this rare problem. My data partition was the killer, no matter what, i couldn't fix it without flashing sbf. Remember, don't flash froyo sbf, only gingerbread (just to be safe).