What might cause my phone to spontaneously stop booting into its custom ROM and only reboot into recovery mode? My phone is a Samsung Vibrant running CyanogenMod 10.0 (Android 4.1.2).  I rebooted my phone, as I do every few days, and instead of starting up CyanogenMod as usual, it dumped me into the ClockworkMod recovery.  No matter how many times I select the option to reboot, the phone always just dumps me back into recovery.

There seems to be something suspect about the /system partition.


Looking at the log under the advanced menu, it says can't mount /system.
Going to the mounts and storage menu and trying to mount /system, I get the error failed to mount /dev/lvpool/system: invalid argument.
The problem was that the ext3/ext4 filesystem on /dev/lvpool/system, normally mounted at /system, had a corrupt superblock.  The fix was to connect to the phone with adb and run e2fsck manually, like so:

# ./adb shell
# e2fsck /dev/lvpool/system 
e2fsck 1.41.11 (14-Mar-2010)
e2fsck: Superblock invalid, trying backup blocks...
Backing up journal inode block information.

/dev/lvpool/system: clean, 11/25600 files, 3310/102400 blocks
# exit


After doing this, the reboot option in ClockwordMod recovery brought CyanogenMod back up with no issues.

A large amount of googling provided no guidance in this direction, so I'm posting this Q&amp;A in the hopes that it saves someone else the chore of digging through forums and/or reinstalling their recovery and/or ROM in vain.