This deals with what action is to be taken (during a reboot) after a power failure or an incomplete shutdown of a Linux system due to any reason. This problem seems to be very common since many newcomers install Linux and get all the various softwares/hardwares working under Linux and suddenly one day the power fails. There are a few things that you can try to get Linux back on track..
1. While rebooting, Linux may print a message saying that there is a problem with the file system and it might force a check. It would do this for all Linux partitions. If the checks (they generally take around 30-60 seconds. also displays a rotating indicator) are successful then you are lucky. Linux should mostly continue booting and you should be back in business soon. If this is what happens then you may be under an impression that a direct switch off of a Linux machine leads to no problems. Please note that you were just lucky that you got away without any major problems.
2. While rebooting, Linux may not be successful in any of the file system checks. In this case, the booting stops abruptly with a message stating that you should run fsck manually without a few parameters. Once you reach the hash prompt (#) then run the fsck command as mentioned (fsck -a -p /dev/hdaX). The fsck command requires the partition which it has to check. So if you have installed Linux on /dev/hda1 then you have to run fsck as follows: fsck -a -p /dev/hda1.
When you run fsck it would mostly find some inode problems and ask you whether you want to fix them, Select the default option (yes). It would do so for all the problems found. Once this is over you can restart the machine using either "Ctlr+Alt+Del" or "shutdown -r 0", whichever works. Now this time your Linux machine should boot properly.
3. It has so happened that once when the power failed, Linux simple failed to boot on my machine. It gave no errors at all, but the init process would just not get initiated. It would find my partitions, mount the ext2 file system as read only and then would simply display a prompt. Even with this prompt I wasn't able to do a lot. Also I noticed that a few of the default directories were missing on the native partition. The only solution that I found to this was to Reinstall Linux.
Note: While reinstalling, the best and safest way for the above problem would be to insert the installation media (Redhat Linux 6.1 CD). And instead of selecting to install the OS once again, select to upgrade the existing installation. This would effectively replace all the damages areas of the OS and would also retain all your personal data and configurations in Linux (This should work in almost all cases).
Hence I would always advice an upgrade to the same version (If you originally had Redhat Linux 6.1, insert the CD and once again select to upgrade to Redhat Linux 6.1 itself). If the upgrade option doesn't fix the problem, then you would have to do a reinstall after a reformat of the Linux partitions.
4. In one case when Linux refused to boot I noticed that a few of the main files / directories were missing. I found that the /sbin directory (which is a very important directory) wasn't there in the root directory. I performed a search for this directory and found it to be within another directory. After some discussion I realized that my friend has accidentally moved this directory within his GUI when he was working in superuser mode. As long as he was working a few commands didn't work but he did not bother about finding out why they didn't work. Once he rebooted his machine the absence of this directory hung the booting process. So I suggest that you never work in superuser mode unless absolutely necessary. Even within the superuser mode prefer the shell, since you can hardly ever do anything accidentally in the shell. In my friend's case I simply moved that directory back within the root directory and Linux booted without any problems.
Take the time to have a look at the file system and make a mental note of the directory structure which appears to be pretty complex.