Thursday, January 2, 2014

What to do if Linux refuses to boot after a power failure?

What to do if Linux refuses to boot after a power failure?
This post 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. And there after they are totally clueless as to what to do since they cant even access HOW TO's without booting into Linux.

This tutorial will most probably help you get out of that problem. So please read this even if you haven't faced this problem since you never know when you may get unlucky.

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 filesystem 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 filesystem 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 bash 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 filesystem 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 realised that my friend has accidently 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 abscence 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 accidently in the shell. In my friend's case I simply moved that directory back within the root directory and Linux booted without any problems. So when you have a properly working Linux machine, do take the time to have a look at the filesystem and make a mental note of the directory structure which appears to be pretty complex to newcomers.

0 comments:

Post a Comment