Sometimes the Linux server does not show up the login screen at the time of startup. This is a type of boot problem. In this post, we will talk about some ways of diagnosing and fixing the boot problem in your Linux server from GNU GRUB failure to runlevels and init.

To figure out the booting problem, the last message that was displayed on Linux server’s terminal can help deduce the cause of the problem. After learning that, you can start with the Linux server troubleshooting fix by the following methods.

From GRUB to kernel

After the hardware starts up successfully, the very first thing that is witnessed is the loading of Grub. On the basis of the setup, there are two methods to check whether Grub boot loader has been loaded perfectly from the Master Boot Record. Either the user will be looking at a boot menu, from where he/she will be performing the required action to start, or he/she might see the kernel that is starting. Thus, if you feel that there is no problem with the hardware, then the cause for the Linux server login screen problem is possibly due to the Grub. However, it is highly likely that there is a hidden cause in the Master Boot Record.

Once the Grub is loaded, the kernel proceeds with the loading. This kernel then starts the process of the server hardware. The kernel is further helped in this process by the initial root file system (initrd) or popularly referred to as RamFS. With the help of initrd, the drivers are loaded on the server properly. Users should note that the process of loading of driver with the aid of initrd usually carries on without any problems. However, there are chances that on upgrading the kernel, the initrd is not able to reload properly. In such a situation, there will be a message displayed on the screen saying, “Kernel Panic,” which makes the server unresponsive to any kind of input. There are other reasons for the panic message to show up other than problem with the initial root system. Nonetheless, it is prudent to initiate troubleshooting for initrd to make sure that the problem is not caused because of the root system.

init and runlevels

If the initrd and kernel have successfully loaded, then the next process that is loaded is init, which is the root of all Linux server processes. While it is not possible to find the exact moment in time when the init starts to load, but users can still deduce the various loading moments based on the services that are started. For instance, you will find the udev activating, file systems mounting and /proc activating. This will give you an idea that the boot process is running on init.

While init is loading, there are two sub-processes. The first one covers up the loading part of the basic processes in the server. This includes processes such as udev activation or files systems mounting. The activation of udev covers up the creation of driver library in /dev.

If there are chances of error in the boot process, nothing will show up, but you may get a message that will ask for the root password to start maintenance mode. In the second sub-process, the loading of the services begins. The very first message that shows up during the starting of this stage is “initializing run level n,” which hardly takes any moment. If the user is able to see this message, then it should be noted that the server is functional. This means that any errors will be promptly displayed through an error message. It is also to be noted that despite of the error message, the booting process will complete anyway.

Such problems are quite easy to take care of as the issue can be rectified from the server prompt supported with full environment for the loaded server. However, if there is a login screen problem before any of these stages, then the user may have to use a rescue disc such as Knoppix.

So, in this way, you will be able to find rectify the issue of a broken server that does not display a login screen at the time of booting. Identifying a problem is the key to solving it successfully.