09 января 2017

Сбой Kernel panic в ядре Linux

Сбой Kernel panic в ядре Linux

Многим пользователям операционных систем типа Linux, знакомо сообщение о критической ошибке ядра "Kernel panic: …", после которой такая система не может продолжать дальнейшую работу. Причиной Kernel panic может быть как критическая аппаратная ошибка и ошибка программного обеспечения, так и сбой самого ядра.

В частности, одной из самых распространённых причин Kernel panic является невозможность найти и смонтировать корневую файловую систему. Часто это ошибка конфигурации, которая может быть исправлена при перезагрузке ядра вручную или загрузкой одной из предыдущих версий ядра. Рано или поздно, многие сталкиваются с таким сбоем, вот и у меня при загрузке системы, на экране компьютера появилось сообщение:

Сбой Kernel panic в ядре Linux

На скриншоте экрана видим сообщение о невозможность найти и смонтировать корневую файловую систему. Вообще, многие проблемы появились после того, как я установил Ubuntu Studio 16.04.1 Xenial Xerus LTS. В версии 14.04 такого сбоя никогда не было.

Как загрузить Ubuntu с другой версией ядра?

После появления сообщения Kernel panic ничего не остается, как перезагрузить компьютер. При перезагрузке появилось меню программы загрузчика операционной системы Ubuntu - GRUB2.02.

меню Дополнительные параметры для Ubuntu в GRUB2

Дополнительные параметры для Ubuntu в GRUB2.02 позволяют выбрать версию ядра системы.

Выбор версии ядра Ubuntu в GRUB2.02

Именно последнее ядро Linux 4.4.0-57 (все три варианта) и являлось причиной сбоя системы Kernel panic, так как на ядре Linux 4.4.0-53, система загрузилась без сбоев.

Как удалить лишние ядра в Ubuntu 16.04.1?

В ситуации, когда недавно обновленное ядро операционной системы дает сбой Kernel panic, чтобы избежать постоянного выбора ядра при загрузке, необходимо его удалить. Ранее, с удалением старых ядер успешно справлялась программа Ubuntu Tweak. В настоящее время, с официального сайта Ubuntu Tweak происходит автоматическое перенаправление на сайт github.com/tualatrix/ubuntu-tweak, где я так и не нашел deb-пакет для установки на Ubuntu. Похоже, что разработчик решил закрыть проект Ubuntu Tweak и это печально, так как по информации из сети, замену ему найти трудно.

Тем не менее, Ubuntu Tweak можно установить на Ubuntu 16.04.1 Xenial Xerus LTS с помощью deb-пакета версии 0.8.7-1~getdeb2~xenial, загруженного с диска, или с сайта ubuntuupdates.org. Двойным щелчком откройте deb-пакет прямо в Менеджере приложений Ubuntu, чтобы установить программу. В моем случае установка прошла успешно.

Установка Ubuntu Tweak на Ubuntu 16.04.1 Xenial Xerus LTS с помощью deb-пакета версии 0.8.7-1~getdeb2~xenial

Хотя, и не все функции Ubuntu Tweak сохранились в рабочем состоянии, например вкладка "Приложения" на работает, удалось удалить все старые ядра и оставить одно последнее из списка, версии Linux 4.4.0-51 про запас.

Удаление старых ядер в Ubuntu Tweak

Однако, как я указывал выше, задача состояла в том, чтобы удалить, наоборот, самое новое ядро, версии Linux 4.4.0-57, и работать на предыдущем, версии 4.4.0-53. Выходит, на вкладке "Очистка", Ubuntu Tweak не отображает две последних версии ядра из-за чего я не могу удалить проблемное. Думаю, такая ситуация логична, и связана с тем, чтобы помешать пользователю случайно удалить все ядра. Хотя программа Ubuntu Tweak и не помогла мне с решением вопроса, уверен, она пригодится в будущем.

В последующем выяснилось, что очистка системы, в том числе удаление ядер, каким-то образом исправило систему и при перезагрузке компьютера уже не появлялось меню загрузчика GRUB2. При этом, в списке очистки старых ядер Ubuntu Tweak, появилось ядро версии Linux 4.4.0-53, с которого я и загружал ранее систему при сбое Kernel panic. Последнее ядро 4.4.0-57 так и не появилось. Вот такой вот глюк.

Как узнать, на каком ядре работает Ubuntu?

Предполагаю, что моя система Ubuntu загружается с последнего ядра Linux 4.4.0-57, которое чудным образом избавилось от ошибки Kernel panic. Для определения версии ядра Linux, в терминале введем команду uname -r

Определение версии ядра Linux командой uname -r

На изображении видно, что действительно, очистка операционной системы Ubuntu программой Ubuntu Tweak, помогла ядру версии Linux 4.4.0-57 избавиться от критической ошибки Kernel panic.



Комментариев нет:

Отправить комментарий