Booting problems in linux

Ethical hacking and penetration testing

InfoSec, IT, Kali Linux, BlackArch

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)

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

2.1 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

in the boot messages.

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

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:

To create a file using the nano text editor:

Or using vim:

Читайте также:  Red hat enterprise linux x64

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:

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

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:

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

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

Читайте также:  Ноутбук выключился во время установки windows

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

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

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.

Источник

Не загружается Linux, чиним загрузчик GRUB

Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.

Что такое Grub

Grub (или GRand Unified Bootloader) — загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего — основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows, вам определенно понадобится помощь Grub.

Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно — узнаете далее.

От чего могут возникнуть проблемы

Одна из самых распространенных причин — это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК — вам непременно стоит знать правильную последовательность:

  • Сначала устанавливаем Windows
  • И только потом уже Linux

Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.

Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.

Восстановление Grub с помощью LiveCD/USB

Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.

Как создать LiveCD/USB

Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.

Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.

С помощью Rufus:

Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:

Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:

Находим загруженный образ через менеджер, после чего жмем «Старт».

С помощью Etcher:

Опять же, идем на официальный сайт, где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:

Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

Открываем таблицу разделов с помощью команды:

Примерно такая таблица будет выведена на экран:

По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.

С помощью следующей команды мы смонтируем этот раздел в /mnt:

Теперь, для записи grub в MBR, нужно ввести следующую команду:

Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.

Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:

Вот и все, восстановление закончено!

Восстановление с помощью chroot

Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.

Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:

В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.

В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:

Обратите внимание, что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.

Читайте также:  What browser windows phone

Далее мы переходим в окружающую среду chroot с помощью команды:

И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:

Если вы на этом этапе получаете какие-то сообщения об ошибках, то попробуйте использовать эти команды:

Если все прошло успешно, выходим из chroot, используя команду:

Далее нужно отмонтировать все разделы. Для этого вводим в терминал:

В случае, если вы монтировали раздел /boot введите команду:

Теперь перезагружаем систему с помощью:

Можно также обновить меню Grub, используя команду:

Восстановление Grub в rescue mode

Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.

Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:

Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).

Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:

Для начала вводим следующую команду:

В выводе будет что-то подобное:

В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.

В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Используем следующую команду:

С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:

Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:

После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.

Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:

sdX — диск, на который должен быть установлен Grub.

Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:

И подгрузить модули:

Ну и теперь запустить GRUB:

Восстановление Grub с помощью утилиты Boot repair

С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.

Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:

  • Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
  • Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.

Если с первым способом все понятно: нужно просто скачать и записать образ с помощью соответствующих инструментов. То во втором уже нужно знать конкретные команды, которые выглядят следующим образом:

В утилите будет доступно два варианта на выбор:

Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.

Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.

Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.

Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.

Выводы

Вот мы и рассмотрели несколько вариантов исправления загрузчика Grub. Стоит сказать, что некоторые из них могут показаться сложными или даже невыполнимыми. Это не так, каждый из рассмотренных способов нашел подтверждение в виде сотен и тысяч актов исправления загрузчика Grub в опенсорсном сообществе. Кстати говоря, какой из способов выбрать — решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.

Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.

Источник

Оцените статью