Установите "более старое" ядро в качестве записи grub по умолчанию

Я установил основное ядро для целей тестирования. Я хотел бы настроить grub на загрузку со старого ядра по умолчанию.

Я знаю, что могу установить GRUB_DEFAULT=0 настройка для первой страницы grub, но как мне настроить его на загрузку по умолчанию с одного ядра на второй странице (Расширенная страница)?

Я бы предпочел сделать это без установки другого программного обеспечения (например, grub-customizer).

Связанные С этим Вопросы:
Как мне настроить загрузку Windows по умолчанию в загрузчике?
Как мне изменить порядок загрузки grub?

Во-первых, создайте резервную копию /etc/default/grub. Если что-то пойдет не так, вы можете легко вернуться к заведомо исправной копии.

sudo cp /etc/default/grub /etc/default/grub.bak

Затем отредактируйте файл с помощью текстового редактора по вашему выбору (например, gedit и т.д.).

sudo -H gedit /etc/default/grub

Найдите строку, содержащую GRUB_DEFAULT - это то, что вы хотите отредактировать, чтобы установить значение по умолчанию. Вы должны знать полное имя нужного вам ядра - например Ubuntu, with Linux 3.13.0-53-generic - вместе с полным названием "расширенного меню" - например Advanced options for Ubuntu.

Затем вы объединяете эти две строки с помощью > и установить GRUB_DEFAULT к ним, как: GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic" (включая цитаты).

Сохраните его, затем создайте обновленное меню grub.

sudo update-grub

Смотрите также: Руководство по GNU GRUB 2.02 или более конкретно раздел 15.1.0 об установке значения по умолчанию.


Примечание: Существует метод, использующий числа для доступа к ядрам и меню, но это не рекомендуется, поскольку он ненадежен при обновлении ядра.

Лучшим решением для меня было установить (в /etc/default/grub):

 GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true

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

Не забудьте повторно запустить sudo update-grub

Решение заключается в чтении: info grub-mkconfig

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

Набор, например:

GRUB_DEFAULT="1>7"

в /etc/default/grub и повторно запустите sudo update-grub.

Важно отметить, что для пунктов меню GRUB нумерация начинается с 0. Следовательно, 1 вышеизложенное указывает на Advanced меню. В качестве меры предосторожности вы можете сначала установить GRUB_TIMEOUT=5. Некоторые могут быть не в состоянии получить доступ к GRUB, нажав клавишу во время загрузки. Это подстраховка на случай, если вы случайно укажете на что-то вроде Memory test вместо. Также необходимо включить вышеуказанные цифры в кавычки. Иначе это не сработает.

Я тестировал на 16.04 LTS.

Чтобы иметь возможность установить, какой вариант загрузки использовать по умолчанию, вам нужно знать, что есть ... так что:

Для отображения пунктов меню без фактической загрузки, попробуйте что-то вроде:

$ lsb_release -s -rdcUbuntu 16.04.4 LTS16.04xenial$ update-grub --versiongrub-mkconfig (GRUB) 2.02~beta2-36ubuntu3.17$ grep -Ei 'submenu|menuentry ' /boot/grub/grub.cfg | sed -re "s/(.? )'([^']+)'.*/\1 \2/" menuentry Ubuntusubmenu Расширенные параметры для Ubuntu menuentry Ubuntu, с Linux 4.4.0-34-generic menuentry Ubuntu, с Linux 4.4.0-34-generic (upstart) menuentry Ubuntu, с Linux 4.4.0-34-generic (режим восстановления)menuentry Настройка системы

Чтобы сделать это с помощью графического интерфейса, я использую Настройщик Grub (Я работаю в Mint, но здесь это не считается).

Самый простой и прямой способ (спасибо @ eMKi за предложение в комментарии) — лучше всего подходит для постоянной настройки, в Общие настройки > ввод по умолчанию > предопределен, просто выберите нужное ядро в выпадающем списке.

enter image description here


Или, в случае, если нужно, чтобы была выбрана "предыдущая загруженная запись" (может быть полезно при двойной загрузке с Windows, например, при выполнении обновления Windows, требующего перезагрузки) — сохранение Дополнительные параметры в списке grub в случае, если список по умолчанию изменен в Grub Customizer:

enter image description here

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

enter image description here

Затем перезагрузитесь и во время загрузки выберите пункт "Дополнительные параметры" в списке grub:

enter image description here

и выберите более старое ядро

enter image description here

При следующей перезагрузке пункт "Дополнительные параметры" будет выбран по умолчанию в списке grub, и будет загружено последнее выбранное ядро из-под него (без открытия полного списка ядер).

В случае, если используется Windows или другой параметр в списке grub, не забудьте повторить предыдущую процедуру.

@belacqua: Это не дубликат. Этот вопрос касается установки более старого ядра, которого нет на первой странице параметров grub по умолчанию.

Вариант использования вопроса отличается, и ответ очень специфичен в том смысле, что он не относится к другим заявленным дубликатам. Я пришел сюда, чтобы решить эту конкретную проблему, а не для того, чтобы изменить порядок загрузки или загрузить Windows. +1 за “не дубликат”.

Похоже, что этот случай должен быть рассмотрен в предыдущих вопросах, даже если метод необходимо обновить для версии 12.10, более старых ядер и т.д…