What to do if Linux does not boot

We can distinguish the following circumstances in which there was a problem with booting Linux:

  1. Linux Live burned on a USB flash drive does not load
  2. Linux does not boot immediately after installing the operating system
  3. Linux does not load after updating or installing programs (Linux kernel, drivers)
  4. Linux does not boot due to computer hardware changes (new graphics card, new plugged or unplugged disk)

1. Linux Live burned on a USB flash drive does not load

1.1 Enable quick boot and/or secure boot options

The reason may be that the Quick boot and/or Secure boot options are enabled in your BIOS (UEFI). Go into the BIOS and disable them.

1.2 Do not use Rufus

No need to use Rufus to burn Linux images. Now most Linux ISO LIVE images are hybrid: they have BIOS and UEFI support, that is, they work fine on old and new hardware, and Rufus makes some changes and just breaks them.

Use the Etcher, it is portable cross-platform program for burning ISO image.

1.3 Update BIOS

If none of the above helps, then update the BIOS, especially for owners of old hardware.

1.4 A start job is running for live-config contains the components that configure a live system during the boot process (late userspace)

See Solution: Live USB flash drive with Linux does not boot, error ‘A start job is running for live-config contains the components that configure a live system during the boot process (late userspace)’.

2. Linux does not boot immediately after installing the operating system

2.1 error: attempt to read or write outside of disk “hd0″

See the article Solving the problem with ‘error: attempt to read or write outside of disk “hd0″’.

3. Linux does not boot after updating or installing software

Possible causes of problems with booting Linux after updating or installing software may include:

  1. Linux kernel update
  2. Installing or updating drivers for a graphics card

3.1 Unable to boot after installing video card drivers

The download reaches the menu, but freezes on the console screen or after entering the login and password.

If you see a Linux boot menu with different boot options and after it the system continues to boot, but it does not succeed, then the flash drive is written correctly, but there are problems in the system itself – most often this is incompatibility of the kernel modules and the kernel itself, lack or duplication of drivers.

In some cases, a graphical interface (display manager) may appear prompting you to enter a username and password, but after entering the credentials the whole system freezes.

A similar problem can arise with the Live image – the following recipe is suitable for both the installed system and the Live system.

To avoid this problem, when the GRUB boot menu appears, press the letter e.

Now edit the boot options by adding nomodeset. To do this, find the line starting with the word linux and at the end add the word nomodeset with a space. To continue downloading, press F10.

This setting is valid only for the current boot, and at subsequent reboots of the system this needs to be done again.

You can make the nomodeset option permanent for GRUB, but it's better to find the problem module and disable it.

At the moment, owners of computers with NVidia graphics cards are complaining about this problem. The reason, apparently, is the conflict between the latest versions of the Linux kernel and the proprietary NVidia drivers and the free nouveau drivers. One confirmation of this is the line

iTCO_wdt can't request region for resource

in the boot messages.

To disable nouveau, create the file /etc/modprobe.d/blacklist-nouveau.conf and copy it into it:

blacklist nouveau
options nouveau modeset=0
alias nouveau off

If you cannot boot into the graphical interface, then try using the keyboard shortcuts Ctrl+Alt+F1, Ctrl+Alt+F2, Ctrl+Alt+F3, and so on, go to the console. Log in there and use the console editor to create the blacklist-nouveau.conf file in the /etc/modprobe.d/ directory with the following contents:

blacklist nouveau
options nouveau modeset=0
alias nouveau off

To create a file using the nano text editor:

nano /etc/modprobe.d/blacklist-nouveau.conf

Or using vim:

vim /etc/modprobe.d/blacklist-nouveau.conf

3.2 Unable to boot after kernel update

In Debian derivatives, after installing a new kernel, new options may appear in the boot menu with options for booting a computer with a previous kernel version.

Along with other boot options, you can also explicitly specify the version of the Linux kernel to boot, in Kali Linux files are called, for example:

  • /boot/initrd.img-5.4.0-kali2-amd64
  • /boot/initrd.img-5.4.0-kali3-amd64

 

In Arch Linux and derivatives, the current kernel is named /boot/initramfs-linux.img, and the previous kernel is named /boot/initramfs-linux-fallback.img.

4. Linux does not boot due to computer hardware changes

4.1 Linux does not load after adding/removing a disk

Linux drive name depends on the number of drives on the computer. The first drive on Linux is usually called /dev/sda, the second drive is called /dev/sdb, the third drive - /dev/sdc, and so on. That is, usually the name has the form /dev/sdX, where a Latin letter comes instead of X. The names may be different – it depends on the type of hardware interface, but usually it's still /dev/sdX. By the way, disk partitions are also called the same as the disk itself, but a number is also added. For example, the first partition of the first disk is named /dev/sda1.

Since the letter depends only on the serial number of the disk, when transferring to another computer, the name of the disk may change. For example, your Linux disk was second and called /dev/sdb, and on the other computer it is the third disk and it is called /dev/sdc.

The problem here is that the name of the disk is written in the bootloader settings and if the name has changed, then it cannot load the Linux kernel and, therefore, the entire system.

A clear sign of an incorrect drive name in the bootloader settings is a related error:

The disc contains an unclean file system (0, 0)

Its reason is that the GRUB settings point to an invalid drive, for example, to a Windows drive. The system does not understand the disk file system and cannot continue loading. This problem is solved quite simply.

Restart your computer, and when the GRUB bootloader menu appears, press e. You will see something like the following:

Pay attention to the line starting with linux. In my case there is a record

root=/dev/sda1

Since during the installation on the virtual computer there were no other media except the flash drive, it was given the name /dev/sda1. The real computer has at least one more hard drive, and the name /dev/sda1 could be assigned to it. And the flash drive I'm trying to boot from now has a different name. This name can be /dev/sdb1, or /dev/sdc1, or another (depending on the number of disks in the system).

If you don’t know the new name, then just go through the different options. Move the cursor to the disk name and change it to /dev/sdb1. After that, press the F10 key and wait for the download. If the download is unsuccessful, then restart the computer and change the entry to /dev/sdc1 (and so on alphabetically), press F10 and verify that the download is successful.

After a successful boot into the system, change the name of the bootable disk. For example, in my case, the drive name was /dev/sdc1 (with the letter c). Then the command to change the boot disk will look like this:

sudo grub-install --recheck /dev/sdc
sudo grub-mkconfig -o /boot/grub/grub.cfg

Replace /dev/sdc with the name of your drive or flash drive.

Now, when rebooting, an error will not occur.

4.2 New graphics card

If you replaced the video card, then see the section “3.1 Unable to boot after installing the video card drivers”.

How to roll back changes in Linux if the system does not boot

1) After getting into the black screen. Try pressing Ctrl+Alt+F1. If nothing happens, then press Ctrl+Alt+F2, Ctrl+Alt+F3, Ctrl+Alt+F*, etc. until the authorization prompt appears.

2) Enter your username and password

3) Using the package manager (apt, pacman), remove the packages that caused the problems. Using text editors with a command line interface (vim, nano), roll back changes to configuration files that prevent downloading.

How to see what errors don't load Linux

There are two ways to see errors that prevent the system from booting:

1) on screen while booting

2) using the journalctl command

Sometimes the system hangs tight and it is impossible to use the journalctl command, then in this case only the first option remains. But another problem is that many Linux distributions hide booting log output under splash screen or boot silently.

1) To return to displaying the system boot log, follow these steps:

1.1 On the boot menu, press e (or TAB). The download options window opens. If there are several lines in it, then move the cursor to the line that begins with

linux

1.2 See if “quiet” and “splash” appear on this line?

  • quiet means do not show download progress messages
  • splash means show splash screen

1.3 Remove both of these lines and start the download (F10 button). Look at exactly what errors prevent the system from booting.

2) How to view the log of the last boot

If you managed to log in, even if only with a command line interface, then use the journalctl command to display the boot log:

journalctl -b

Or use the following command to save information about the last boot to a file:

journalctl -b > log.txt

Using single-user mode for system recovery

In extreme cases, if you can’t even enter the command line interface due to a system freeze, use single-user mode. For details about this mode, as well as what options you need to specify, see the article “How to reset a forgotten login password in Linux”. This article also provides tips how to remount disk as writable.

How to change Linux boot parameters in UEFI

This article quite often mentions changing boot options, such as “quiet”, “splash”, “single init=/bin/bash”, “nomodeset”, “initrd /initramfs-linux-fallback.img” - the instruction first built on examples for BIOS. If you have UEFI, then you can also change the system boot options for your system; for details, see the article “How to change Linux boot parameters in UEFI”.

Last Updated on

Recommended for you:

Leave a Reply

Your email address will not be published.