Изменение загружаемого по умолчанию ядра в Ubuntu Linux

imageПри установке системных обновлений в виртуальной машине с Ubuntu Server 14.04 32-bit я столкнулся с ситуацией, когда вновь установленное в систему ядро Linux не смогло загрузиться. Если система была установлена с загрузчиком GRUB, то в процессе каждой загрузки у нас есть возможность вручную выбрать ядро (предполагается, что при обновлении мы сохранили старое работоспособное ядро), которое будет загружено.

Когда процесс загрузки отобразит меню GRUB, выберем пункт меню Advanced options for Ubuntu

image_thumb21

В появившемся списке доступных для загрузки ядер Linux выберем предыдущее ядро, с которым загрузка ВМ проходила успешно до обновления (в моём случае это ядро версии 3.13.0.-24). image_thumb311

Однако при следующей перезагрузке системы без ручного вмешательства в процесс загрузки, загрузчик GRUB всё-равно запустит более новое ядро, так как оно назначено в качестве ядра по умолчанию. Для того, чтобы переопределить загружаемое по умолчанию ядро, запомним позицию нужного нам ядра в списке GRUB (в моём случае это 2 позиция с учётом того, что нумерация идёт с 0). Загрузим систему, вручную выбрав нужное ядро, и отредактируем конфигурационный файл GRUB:

sudo nano /etc/default/grub

В файле отредактируем строчку, как описано здесь, указав индекс нужных позиций структуры меню GRUB, чтобы добраться до ядра, которое будет загружаться по умолчанию (первая цифра означает позицию меню первого уровня, вторая – второго уровня соответственно):

GRUB_DEFAULT="1>2"

Сохраним изменения в файле и обновим информацию в самом загрузчике:

sudo update-grub

Перезагрузим сервер и убедимся в том, что система успешно запускается c нужным нам ядром:

uname -r

3.13.0-24-generic

Всего комментариев: 6 Комментировать

  1. Ed /

    Спасибо!

  2. Алексей /

    Большое человеческое спасибо!

  3. Влад /

    А теперь что делать с новым ядром (3.13.0.-24-65 из примера), теперь оно просто лежит и занимает место на диске. Когда придёт новое ядро, что будет с этим (3.13.0.-24-65), не займёт ли оно место 3.13.0.-24, и снова получим не рабочую систему?

    1. Алексей Максимов / Автор записи

      Ненужные ядра удаляются, также как и прочие обычные пакеты, через apt. Если проблема есть в конкретной версии ядра, это не означает, что она обязательно перекочует во все новые версии. Если есть явные противопоказания по обновлению ядра, то его обновление можно попросту отключить.

    2. Mr_Hentai /

      Лишние ядра можно удалить по пути /lib/modules

  4. Саша /

    Напишите пожалуйста как в Дебиане 10 (Астра линукс) выбрать ядро, 8 позиций в загрузчике, и нет нужного. Ядро есть, как его выбрать и прописать в grub?

Добавить комментарий