I had a corruption on the vfat /dev/mmcblk0p1 partition of my Raspbian SDCard today.
Booted and it dropped into single user mode (asked for root password) with an error on the vfat partition.
So I entered my root password and ran fsck.vfat /dev/mmcblk0p1. Rebooted and the same again.
I pulled the card from the micro SD adapter and because it was the vfat partition tried it in my Win8.1 system. Win8.1 spotted the problem and asked if I wanted to repair it. Did that, then explicitly ejected the card (to ensure everything was written back). Next go in the RPi it booted OK.
So I searched for "dos fsck doesn't fix vfat" on Google and turned up: http://askubuntu.com/questions/147228/h ... ile-system
The naïve way of running fsck.vfat (or dosfsck (which is just an alias)) didn't automatically repair the filesystem (don't know why). It looks like you need to run it with fsck.vfat -w -r -l -a -v -t /dev/mmcblk0p1 With -w being the most important flag
or it does nothing useful.
I hope that might help some folks who can't get NOOBS or Raspbian to boot.