Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: GRUB2  (Прочитано 1156 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн medusa_10001

  • Автор темы
  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
GRUB2
« : 09 Января 2021, 15:43:19 »
Доброго времени суток. Возник вопрос, который я как-то не могу решить самостоятельно. Проблема в следующем - я работаю на следующей Системе:
Операционная система - Ubuntu 18.04 bionic (x86-64)
Версия Cinnamon - 4.2.4
Ядро Linux - 5.4.0-60-generic
Процессор - AMD FX(tm)-8350 Eight-Core Processor × 4
Видеокарта - Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D /
Pro 450/455/460/555/555X/560/560X]

Сутки назад пришли обновления системы с обновлением ядра. Я выполнил замену ядра, как обычно:
1. Перезапустился с подключением ядра 5.4.0-60-generic на виртуальный диск через Дополнительные параметры - все прошло нормально.
2. Перезагрузился на текущее ядро 5.4.0-59-generic
3. Отредактировал загрузочный скрипт через GRUB Customizer
(Нажмите, чтобы показать/скрыть)
4. Удалил старое ядро
(Нажмите, чтобы показать/скрыть)
5. Очистил Систему от мусора
(Нажмите, чтобы показать/скрыть)
6. Обновил пакеты
(Нажмите, чтобы показать/скрыть)

Все вроде было симпатично, однако при перезагрузке Системы загрузчик установился установился в положение Дополнительные параметры
(Нажмите, чтобы показать/скрыть)
Строго говоря - ничего страшного, но теперь если ничего не предпринимать будет загружено меню выбора ядра, а не простая загрузка Системы.
Не могли бы вы подсказать, как исправить это не большое недоразумение? Это не вызывает больших неудобств, но я не понял, что именно произошло. Собственно логика подсказывает, что необходимо грамотно отредактировать /boot/grub/grub.cfg, однако у меня нет такого опыта. Буду признателен за помощь. Спасибо.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6912
    • Просмотр профиля
Re: GRUB2
« Ответ #1 : 09 Января 2021, 15:55:24 »
Цитировать
Отредактировал загрузочный скрипт через GRUB Customizer
А лишнего ничего не удалил?
После строки "recordfail" должна быть строка "savedefault". Посмотри в "Дополнительных параметрах...", если их не редактировал, то должна сохраниться.

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1754
    • Просмотр профиля
Re: GRUB2
« Ответ #2 : 09 Января 2021, 15:57:06 »
попробуйте

sudo nano /etc/default/grub
изменить значение с 1 на 0 в строке, как указано ниже
GRUB_DEFAULT=0

сохранить изменения ctrl o и выйти ctrl x

далее обновить груб
sudo update-grub

Оффлайн medusa_10001

  • Автор темы
  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Re: GRUB2
« Ответ #3 : 09 Января 2021, 17:34:06 »
изменить значение с 1 на 0 в строке, как указано ниже

Я не понимаю почему, но строки GRUB_DEFAULT=0 у меня отсутствует, зато есть строка GRUB_DEFAULT="Дополнительные параметры для Ubuntu>Ubuntu, с Linux 5.4.0-60-generic". Я записал как Вы и советовали:
Цитировать
#GRUB_DEFAULT="Дополнительные параметры для Ubuntu>Ubuntu, с Linux 5.4.0-60-generic"
GRUB_DEFAULT=0
и обновил GRUB:
(Нажмите, чтобы показать/скрыть)
Спасибо.

Пользователь добавил сообщение 09 Января 2021, 17:35:34:
После строки "recordfail" должна быть строка "savedefault".
Смотрел - такой строки нет, но все равно спасибо. Получилось исправить.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6912
    • Просмотр профиля
Re: GRUB2
« Ответ #4 : 09 Января 2021, 17:44:22 »
Цитировать
#GRUB_DEFAULT="Дополнительные параметры для Ubuntu>Ubuntu, с Linux 5.4.0-60-generic"
В этой переменной задается пункт меню, который будет выбран по умолчанию. Вас не удивило, что именно он и выбирался.
По логике, вам нужно: GRUB_DEFAULT="Ubuntu".

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1754
    • Просмотр профиля
Re: GRUB2
« Ответ #5 : 09 Января 2021, 18:24:05 »
По логике, вам нужно: GRUB_DEFAULT="Ubuntu"

Это не так, в данном пункте указываются порядковый номер меню груб, который будет использоваться при загрузке по умолчанию, например 0 - это первый пункт соответствующий Ubuntu, если 1 то он соответствует "Дополнительные парамтры ..." и т.д.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6912
    • Просмотр профиля
Re: GRUB2
« Ответ #6 : 09 Января 2021, 18:31:16 »
Цитировать
данном пункте указываются порядковый номер меню груб
Это так, да не совсем.
Значение этой переменной может быть:
1. Цифровое. Означает порядковый номер пункта меню.
2. Название пункта меню. Именно в том виде, какой в строке menuentry или submenu.
3. saved. Означает, что задействована функция savedefault. Будет выбран пункт меню, успешно загруженный в предыдущий раз.
« Последнее редактирование: 09 Января 2021, 18:33:40 от andytux »

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 595
    • Просмотр профиля
Re: GRUB2
« Ответ #7 : 09 Января 2021, 18:55:54 »
необходимо грамотно отредактировать /boot/grub/grub.cfg
Не надо его редактировать напрямую

Может поможет информация ниже. Для себя памятку делал, если не очень понятно то в интернете можно найти информацию более подробную с примерами.

## GRUB 2 имеет три основные части:

    /etc/default/grub - файл установок меню.
    /etc/grub.d/ - директория со скриптами, создающие меню.
    /boot/grub/grub.cfg - конфигурационный файл (не для прямого редактирования).

-----

 /boot/grub/grub.cfg - Это главный конфигурационный файл, Лучше его не редактировать самому, пусть будет как есть.

 /etc/grub.d/ - директория, содержащая GRUB скрипты. С помощью этих скриптов составляется файл grub.cfg.


    00_header   --скрипт загружает установки GRUB из /etc/default/grub, Время ожидания, загрузка по умолчанию и т.д.

    05_debian_theme   --задаёт фон и цвета. Имя скрипта может отличаться в разных дистрибутивах.

    10_linux   --загружает конфигурации меню для установленного дистрибутива (автоматически созданное меню).

    20_memtest86+   -- прописывает утилиту тестирования ОЗУ.

    30_os-prober   --скрипт ищет другие ОС на дисках добавляет их в меню.

    40_custom   --шаблон который можно  использовать для создания дополнительных конфигураций.


Команда update-grub считывает директорию /etc/grub.d и просматривает в ней исполняемые скрипты.
Скрипты считываются в порядке их нумерации и записываются в файл grub.cfg вместе с установками меню, которые считываются из файла /etc/default/grub.

Что бы деактивировать конфигурации, удалять скрипты не обязательно, достаточно изменить признак исполняемого файла, Например командой sudo chmod -x 10_linux.


 /etc/default/grub - Этот файл содержит установки меню GRUB. Предназначен для визуальных настроек GRUB. Файл в формате ОПЦИЯ=ЗНАЧЕНИЕ.

-----
Добавление новой записи в  меню

 Чтобы добавить новую загрузочную опцию, вам необходимо следовать основным правилам:

Создать в каталоге /etc/grub.d/ новый файл скрипт, например 43_Systema. Если нужно разместить новую строчку в меню загрузки выше других, используется меньшее число имени скрипта,
если нужно разместить ниже, то используется большее число.

Пример скрипта будет выглядеть приблизительно так:

#!/bin/sh -e
echo "Adding my custom Linux to GRUB 2"
cat << EOF
menuentry "My custom Linux" {
set root=(hd0,5)
linux /boot/vmlinuz
initrd /boot/initrd.img
}
EOF

Или в случае Windows, приблизительно так:

#!/bin/sh -e
echo "Adding Windows 8 to GRUB 2 menu"
cat << EOF
menuentry "Windows 8" {
set root=(hd0,1)
chainloader (hd0,1)+1
}
EOF


Теперь необходимо запустить команду update-grub, она выполнит обновление меню.

sudo update-grub



« Последнее редактирование: 09 Января 2021, 22:30:27 от Domitory »

Оффлайн medusa_10001

  • Автор темы
  • Любитель
  • *
  • Сообщений: 62
    • Просмотр профиля
Re: GRUB2
« Ответ #8 : 09 Января 2021, 20:05:04 »
Не надо его редактировать напрямую

Ну, я как-то и не думал на прямую))) За памятку - спасибо.

 

Страница сгенерирована за 0.036 секунд. Запросов: 24.