Выбрать ядро для загрузки linux по умолчанию

Установить ядро ​​по умолчанию в GRUB

Как выбрать ядро ​​GRUB2 по умолчанию? Я недавно установил ядро ​​Linux реального времени, и теперь оно загружается по умолчанию. Я хотел бы загрузить обычный по умолчанию.

До сих пор мне удалось выбрать только ОС по умолчанию . и по какой-то причине /boot/grub.cfg уже предполагается, что я хочу загрузить rt-ядро и поместить его в общий пункт меню linux (в моем случае Arch Linux).

Я думаю, что большинство дистрибутивов перенесли дополнительные ядра в подменю расширенных опций на данный момент, как обнаружил TomTom в случае с его Arch.

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

1) Найдите $menuentry_id _пцию для подменю:

2) Найдите пункт $menuentry_id_option меню для ядра, которое вы хотите использовать:

3) Закомментируйте ваш текущий набор по умолчанию /etc/default/grub и замените его подменю $menuentry_id_option с первого шага, а выбранное ядро $menuentry_id_option с второго шага разделите > .

В моем случае модифицированным GRUB_DEFAULT является:

4) Обновите grub, чтобы внести изменения. Для Debian это делается так:

Готово. Теперь при загрузке в расширенном меню должна быть звездочка, и вы должны загрузиться в выбранное ядро. Вы можете подтвердить это с помощью uname.

Изменить это на самое последнее ядро ​​так же просто, как закомментировать новую строку и раскомментировать #GRUB_DEFAULT=0 , а затем перезапустить update-grub .

После двух часов борьбы я нашел гораздо более простой способ добиться этого. Я просто RTFM. 😉

Добавьте две строки в / etc / default / grub

Выполните sudo update-grub , перезагрузитесь, войдите в свое меню grub и выберите любой пункт меню или подменю, который вам нужен. Выбор будет сохранен, и в следующий раз ваш компьютер загрузится в него автоматически.

Как упоминалось в комментариях, вы можете установить ядро ​​по умолчанию для загрузки с помощью grub-set-default X команды, где X — это номер ядра, в которое вы хотите загрузиться. В некоторых дистрибутивах вы также можете установить этот номер, отредактировав /etc/default/grub файл и настройку GRUB_DEFAULT=X , а затем запустив update-grub .

Число — это индекс массива ядер / настроек ядра, отображаемых в меню GRUB во время загрузки, при этом 0 — это первая (самая верхняя) запись. Обычно вы можете найти правильное число, посмотрев menuentry строки /boot/grub/grub.cfg , например:

Вы увидите каждое ядро ​​в списке с именем, которое отображается в меню загрузки GRUB. Первый — 0, второй — 1 и т. Д.

Простое выполнение grep ‘menuentry’ /boot/grub/grub.cfg перечисляет дополнительные записи, которые не относятся к фактическим версиям ядра или ОС. Например, он перечисляет

Я хотел бы предложить небольшое улучшение метода поиска этого файла: использовать awk

С помощью приведенной ниже команды и ее вывода вы можете увидеть, что awk код соответствует фактической версии ОС, и указать номер, который вы затем можете использовать в /etc/default/grub файле.

В дополнение к редактированию /etc/default/grub файла вручную, я предлагаю использовать sed . В приведенной ниже команде замените X на соответствующий номер, полученный из команды awk выше:

sudo sed -i ‘s/GRUB_DEFAULT=0/GRUB_DEFAULT=X/g’ /etc/default/grub; sudo update-grub

Я думаю, jkt123 будет работать для большинства дистрибутивов. Однако для Arch Linux это не сработало, по крайней мере, с теми пакетами, которые у меня есть.

Индексы, которые вы можете установить, grub-set-default соответствуют только пунктам главного меню. Однако параметры ядра находятся в подменю. Таким образом, вы либо перемещаете запись ядра из подменю в главное меню, либо помещаете запись в верхней части списка подменю и выбираете подменю.

Мое меню Grub

  • Arch Linux
  • Расширенные опции для Arch Linux
    • Ядро 1
    • Ядро 2
  • Windows
Читайте также:  Как переделать флешку под установку windows

Чтобы иметь возможность загружать ядро ​​2, вы должны либо поменять его местами с ядром 1, либо поместить его вне подменю на том же уровне, что и Arch Linux или Windows. А затем установите номер по умолчанию для одного из индексов главного меню. Например, в меню выше «0» загружает «Arch Linux» и «1» загружает ядро ​​1.

Чтобы изменить иерархию и обмен, откройте /boot/grub/grub.cfg и переместите запись, которую вы хотите переместить. Запись может выглядеть так

Затем вам нужно применить ваши изменения. В моем случае с grub-mkconfig . Но это может варьироваться от системы к системе.

Источник

Настройка параметров ядра в Grub

Ядру Linux можно передавать различные параметры для изменения стандартного поведения или информирования о нестандартной конфигурации оборудования. Делать это можно непосредственно перед загрузкой ядра или уже во время выполнения. Во время выполнения параметры ядра можно установить отредактировав файлы в подсистеме /proc или /sys. Перед загрузкой параметры передаются с помощью загрузчика Grub.

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

Настройка параметров ядра Grub в системе

Файл шаблона конфигурации Grub в Debian подобных системах находится по адресу /etc/default/grub. Добавьте параметр ядра в виде имя = значение в переменную GRUB_CMDLINE_LINUX_DEFAULT:

sudo vi /etc/default/grub

Здесь же вы можете удалить нежелательные параметры ядра Grub установленные по умолчанию, например, заменить quiet на verbose для подробного вывода информации о процессе загрузки. Затем выполните следующее чтобы обновить конфигурацию загрузчика:

Если такой команды не существует нужно установить пакет grub2-common:

sudo apt install grub2-common

В Fedora и CentOS скрипта update-grub для обновления конфигурации загрузчика нет, поэтому надо вручную сгенерировать новый конфигурационный файл:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Лучше всего добавлять параметры загрузки ядра linux именно этим способом, но давайте рассмотрим ещё несколько альтернативных вариантов

Параметры загрузки ядра в grub.cfg

Если вы не можете воспользоваться способом, описанным выше можно отредактировать непосредственно конфигурационный файл загрузчика который находится по пути /boot/grub/grub.conf. В этом файле нужно найти секцию отвечающую за стандартную загрузку Linux. Обычно, это первая секция menuentry:

Найдите её, а затем в этой секции найдите строчку linux /boot/vmlinuz. в конец этой строки вы и можете дописать свои параметры, в таком же формате. Затем сохраните изменения в файле и перезагрузите компьютер. Ядро загрузится с новыми параметрами. Если вас интересовал вопрос какой командой загружается ядро linux в grub, то это именно команда linux. Синтаксис её такой:

linux параметры_ядра

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

Параметры ядра Grub при загрузке

Загрузчик Grub позволяет также редактировать пункты меню перед запуском системы. Для этого в меню Grub выберите нужный пункт и нажмите клавишу E. Откроется редактор текущей секции меню. Здесь надо, аналогично предыдущему способу найти строчку linux /boot/vmlinuz. и дописать в конец ваши параметры ядра Linux, например, init=/bin/bash:

Затем нажмите кнопку F10 или Ctrl+X чтобы продолжить загрузку с новыми параметрами. Эти параметры будут актуальны до следующей перезагрузки. На этом всё. Надеюсь информация из статьи была для вас полезной.

Источник

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

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

Самый простой способ отобразить ваш Grub — это нажать и удерживать SHIFT кнопку во время загрузки.

В качестве альтернативы вы всегда можете отобразить Grub без загрузки какого-либо конкретного ядра:

Читайте также:  Настройка геймпада defender windows 10

изменить GRUB_TIMEOUT на -1 и закомментировать GRUB_HIDDEN_TIMEOUT

Удерживая нажатой клавишу Shift во время загрузки, появится меню Grub. Теперь вы можете выбрать более старую версию ядра.

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

Во время загрузки, когда появляется GRUB с записями, выберите вторую запись, т. Е. В разделе « Дополнительные параметры» для Ubuntu вы можете увидеть различные старые версии ядра, которые были установлены ранее, вы можете выбрать одну из них, которая вам подходит. В противном случае вы идете в grub.cfg и вставляете нужную версию ядра поверх установленной в данный момент записи ядра. В обоих случаях это работает

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

Перезагрузите компьютер с нажатой кнопкой Shift для отображения GRUB после запуска BIOS. Вы увидите что-то вроде: стартовая страница GRUB

Выберите «Дополнительные параметры для Ubuntu» и запомните индекс этой строки меню (отсчет начинается с 0). На картинке индекс равен 1

Выберите конкретное ядро ​​для загрузки, а также запомните индекс этой строки меню (отсчет начинается с 0). На картинке индекс выбранного ядра равен 2

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

4.1. Откройте и отредактируйте установочный файл GRUB:

4.2. Найти строку GRUB_DEFAULT = . (по умолчанию GRUB_DEFAULT = 0) и задать в меню кавычек путь к конкретному Ядру (запомнить индексы меню из шагов 2 и 3). В моей системе первый индекс был 1, а второй — 2. Я установил GRUB_DEFAULT

4,3. Обновите информацию GRUB для применения изменений:

4.4. После перезагрузки вы автоматически загружаетесь в ядро ​​по выбранному пути меню. Пример на моей машине 1 -> 2

4,5. Проверьте версию ядра после перезагрузки:

Этот параметр определяет, как долго будет отображаться экран без меню GRUB 2. Пока экран пуст, пользователь может нажать любую клавишу для отображения меню.

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

Пожалуйста, установите предыдущее ядро ​​с помощью следующей команды:

Затем перезагрузите компьютер. Вам будет предложено выбрать ядро.

Сразу после появления заставки BIOS / UEFI во время загрузки с BIOS быстро нажмите и удерживайте Shift клавишу, которая вызовет меню GNU GRUB. (Если вы видите логотип Ubuntu, вы пропустили точку, в которой вы можете войти в меню GRUB.) С помощью UEFI нажмите (возможно, несколько раз) Esc клавишу, чтобы перейти в меню GRUB. Иногда заставка производителя является частью загрузчика Windows, поэтому, когда вы включаете компьютер, он переходит прямо к экрану GRUB, а затем нажимать Shift не нужно.

На экране GRUB выберите Дополнительные параметры для Ubuntu и нажмите Enter .

Появится новый фиолетовый экран со списком ядер. Используйте клавиши ↑ и ↓, чтобы выбрать, какая запись будет выделена. Нажмите Enter для загрузки выбранного ядра, «e» для редактирования команд перед загрузкой или «c» для командной строки. Нажмите Esc, чтобы вернуться в предыдущее меню.

Ответ Джеккобека описывает способ просмотра grub.cfg и прокрутки исходного кода для поиска номера меню. Более простой способ с этим сценарием :

Примечание: в этом примере grub-menu.sh short был использован для вызова сценария. short Параметр подавляет эти строки:

Управляющие клавиши

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

Если вы нажмете Enter ассоциированные команды Grub для записи отображаются:

Обновление grub для загрузки предыдущего ядра

Набор команд Grub существует для каждого пункта меню. Все скомпилированные записи хранятся в /boot/grub/grub.cfg файле.

В этом примере мы хотим, чтобы номер меню `1> 9> был установлен по умолчанию, поэтому мы используем:

Читайте также:  Notion windows 32 bit

Источник

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

В интернете есть множество разных статей о том как изменить загружаемое по умолчанию ядро в Ubuntu 18.04 и 20.04

В основном все статьи описывают сложный и не удобный способ через указание ID подменю в опции GRUB_DEFAULT файла /etc/default/grub, но есть способ проще.

Исходные данные: ОС Ubuntu 18.04 и 20.04
Задача: Смена ядра по умолчанию в Ubuntu 18.04 и 20.04

По умолчанию если мы обновляем Linux-ядро, то Ubuntu сохраняет предыдущую версию и в случае каких-то проблем с новым ядром мы всегда можем загрузить более старое, но чтобы это сделать нужно попасть в меню загрузчика. Попасть мы туда можем если во время загрузки сервера будем постоянно (часто) нажимать клавишу TAB и меню GRUB будет показано на экране, далее мы идем в пункт «Advanced options for Ubuntu» и выбираем там нужное нам Linux-ядро. Все это хорошо, но нам нужно чтобы предыдущая версия Linux-ядра выбиралась сама и была использована GRUB по умолчанию.

Для достижения нашей цели мы будем редактировать файл /etc/default/grub, поэтому прежде чем его менять Вам нужно понимать что Вы меняете и для чего. Рекомендую для начала ознакомиться с официальной документацией на GRUB в части некоторых основных опций.

Все редактирование будет осуществляться с правами root, так что перейдите в консоль под пользователем root.

Откройте файл /etc/default/grub в привычном Вам редакторе, это может быть vim или например mcedit. Я использую vim.

Ниже представлен файл /etc/default/grub по умолчанию (комментарии удалены):

Добавим перед GRUB_DEFAULT опцию

Опция GRUB_SAVEDEFAULT=true заставляет сохранять выбранную в меню загрузчика запись как запись по умолчанию, но это работает только если GRUB_DEFAULT=saved

Далее изменим GRUB_DEFAULT=0 на

Опция GRUB_DEFAULT может быть числом или специальным типом saved. Число указывает номер элемента в списке меню (возможно указание номера под элемента, например так 1>2), по умолчанию стоит GRUB_DEFAULT=0

Далее изменим GRUB_TIMEOUT_STYLE=hidden на

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

Далее изменим GRUB_TIMEOUT=0 на

Опция GRUB_TIMEOUT устанавливает таймаут показа меню загрузчика, мы поставили 30 секунд, этого нам хватит чтобы выбрать какое ядро загружать. Вы можете поставить и меньше, например 3 секунды.

Так же я хочу упомянуть про опцию GRUB_DISABLE_SUBMENU, которая в случае указания ‘y’ убирает в меню GRUB иерархию и делает его плоским. Мы не будем использовать эту опцию, но если Вы захотите, то можете это сделать. Опция ниже:

Итого файл /etc/default/grub стал таким (комментарии удалены):

Далее нужно сохранить параметры загрузчика, вызываем команду:

После этого можно перезагрузить сервер и сразу после прохождения процедуры POST мы попадем в меню загрузчика GRUB, см. скриншот ниже:

Ubuntu 20.04 (GRUB)

В нижней части интерфейса GRUB мы видим тикающее время, те самые 30 секунд, а в верхней части в меню выбран первый пункт, чуть ниже присутствует пункт «Advanced options for Ubuntu». Туда то нам и нужно успеть зайти (жмем стрелку вниз и Enter), см. скриншот ниже:

Ubuntu 20.04 (GRUB submenu Advanced)

Мы видим список доступных для загрузки Linux-ядер. Выбираем например ядро 5.4.0-52 и жмем Enter. В этот момент GRUB запомнит Ваш выбор и будет использовать его по умолчанию при следующих загрузках. А нам это и нужно.

После загрузки мы можем проверить, что действительно загрузилось ядро 5.4.0-52 командой uname:

При следующих перезагрузках сервера GRUB выведет нам меню, но по умолчанию будет уже выбран пункт «Advanced options for Ubuntu», а в нем то Linux-ядро, что мы выбрали ранее.

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

Источник

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