Manjaro linux grub customizer ошибка сохранения

Обновлено: 03.07.2024

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

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

Настройка Grub с помощью Grub Customizer

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

Программа доступна в официальных репозиториях большинства дистрибутивов, и вы можете ее оттуда легко установить. Для установки в Ubuntu выполните:

sudo apt install grub-customizer

В Fedora, Red Hat и CentOS команда будет немного отличаться:

sudo yum install grub-customizer

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

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

grub

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

grub1

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

grub2

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

grub3

Последняя вкладка позволяет настроить внешний вид, тут вы можете выбрать одну из доступных тем, установить разрешение, или же задать пользовательские параметры цвета, шрифтов и фоновый рисунок:

grub4

grub5

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

grub7

Когда настройка Grub Customizer будет завершена просто нажмите кнопку Сохранить, чтобы применить все изменения.

grub8

Видео, где показана настройка GNU Grub в Linux с помощью Grub Customizer:

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

Настройка Grub через конфигурационные файлы

Сразу нужно сказать, что существует два способа настройки Grub Ubuntu, через конфигурационные файлы. Первый - через конфигурационный файл утилиты grub-mkconfig, который позволяет задать общие параметры для загрузчика и ручное редактирование /boot/grub/grub.cfg.

Первый - рекомендованный, и с помощью него можно настроить большинство параметров, в этом случае настройки не собьются, когда вы обновите ядро или загрузчик. Второй вариант еще более гибкий, но после любого обновления вы потеряете свои настройки. Так что то что можно настроить через /etc/default/grub настраиваем через него, все остальное - через /boot/grub/grub.cfg. Сначала рассмотрим первый вариант.

Настройка Grub через /etc/default/grub

Как я уже сказал, настройка загрузчика через файл /etc/default/grub, на основе которого будет автоматически создан /boot/grub/grub.cfg более желательна. Давайте рассмотрим параметры, которые вы можете здесь настроить.

  • GRUB_DEFAULT - указывает какой пункт нужно загружать по умолчанию. Может быть указан номер, или полное название или же строка saved, которая значит, что нужно загрузить пункт, указанный с помощью grub-reboot;
  • GRUB_SAVEDEFAULT - загружать последнюю использованную запись по умолчанию;
  • GRUB_HIDDEN_TIMEOUT - сколько секунд ждать перед тем, как вывести меню;
  • GRUB_HIDDEN_TIMEOUT_QUIET - если установлено true, то меню не будет показано;
  • GRUB_TIMEOUT - сколько секунд будет показано меню;
  • GRUB_CMDLINE_LINUX - добавить опции ядра для всех ядер, как обычных, так и режима восстановления;
  • GRUB_CMDLINE_LINUX_DEFAULT - добавить опции ядра только для обычных ядер;
  • GRUB_CMDLINE_LINUX_RECOVERY - опции ядра, только для режима восстановления;
  • GRUB_BADRAM - указать адреса оперативной памяти, которые не нужно использовать;
  • GRUB_TERMINAL - модуль терминала для Grub. Можно использовать console, только для текстового режима или gfxterm с поддержкой графики;
  • GRUB_GFXMODE - разрешение экрана в Grub, лучшие использовать auto, чтобы система выбрала сама то что ей нужно.
  • GRUB_DISABLE_RECOVERY - не включать в меню пункты восстановления;
  • GRUB_DISABLE_OS_PROBER - не искать другие операционные системы;
  • GRUB_BACKGROUND - адрес картинки для фона, должна находиться в той же папке что и файлы grub;
  • GRUB_THEME - устанавливает тему Grub.

Например, можно использовать такую конфигурацию:

GRUB_DISTRIBUTOR=""
GRUB_DEFAULT="saved"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="8"
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda7 splash=silent quiet"

Но как вы могли понять, этим способом вы не можете настроить порядок пунктов загрузки, а также некоторые другие параметры, поэтому давайте рассмотрим настройку непосредственно конфигурационного файла Grub.

Настройка Grub через /boot/grub/grub.cfg

Файл /etc/boot/grub/grub.cfg управляет непосредственно работой загрузчика, здесь указаны все его параметры и настройки, а также сформировано меню. Поэтому, изменяя этот файл, мы можем настроить Grub как угодно. Сначала попытаемся разобраться с синтаксисом файла. Он очень напоминает синтаксис bash и состоит из нескольких команд, которые что-то делают, загружают и настраивают.

Команды могут быть объединены в функции или блоки с помощью инструкций if else, синтаксис которых аналогичен bash. Рассмотрим основные из этих команд:

  • load_env - загрузить переменные окружения из файла;
  • set - установить значение переменной окружения. Используется как set имя_переменной=значение;
  • insmod - загрузить модуль из папки с модулями Grub;
  • linux - загружает ядро Linux;
  • initrd - подготавливает образ initrd для загрузки ядра;
  • boot - пытается загрузить систему;
  • chainloader - запускает загрузчик из другого раздела;
  • search - установить значение переменной выполнив поиск по заданным параметрам, например, может найти диск по его UUID или метке;
  • menuentry - позволяет создать пункт меню;

Это все команды, которые вам понадобятся. Но две последние нужно рассмотреть подробнее, так как они будут использоваться чаще всего.

Команда search используется для поиска дисков и имеет такой синтаксис:

$ search опции_поиска --set=имя_переменной --hint приметы_устройства основной_параметр

  • Опции поиска задают по какому критерию нужно искать, например, --fs-uuid - искать по UUID, --label - по метке, --no-floppy - не искать в схемных носителях.
  • Приметы устройства дают программе дополнительные подсказки для более быстрого поиска;
  • Основной параметр - значение, по которому будем выполнять поиск.

Например, команда может выглядеть вот так:

search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint='hd0,msdos5' c52ca066-e48f-4df2-bc7e-4d885a354090

Вторая команда, которая нам очень понадобится, это menuentry. Она используется для создания пунктов меню, с помощью которых будут загружаться операционные системы и дистрибутивы linux. Синтаксис этой команды такой:

menuentry имя_пункта <
команды установки переменных окружения
загрузка модулей
linux файл_ядра параметры_ядра
initrd файл_initrd
>

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

menuentry "Ubuntu" set root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>

Теперь давайте попробуем собрать всю информацию воедино и создадим самый просто конфигурационный файл для Grub вручную:

set gfxmode="1280x800"
set gfxpayload=keep

insmod vbe
insmod gfxterm
terminal_output gfxterm

font "/boot/grub2/fonts/unicode.pf2"
loadfont unicode

insmod jpeg
background_image "/boot/fon.jpg"

set menu_color_normal=red/black
set menu_color_highlight=yellow/black
set color_normal=yellow/black

menuentry "Ubuntu" root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>

menuentry "OpenSUSE" insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
linux /boot/vmlinuz-4.1.31-30-default root=UUID=c52ca066-e48f-4df2-bc7e-4d885a354090 resume=/dev/sda7 splash=silent quiet showopts
initrd /boot/initrd-4.1.31-30-default
>

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

Выводы

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

Manjaro Linux русскоязычное сообщество

Вадим Медведев

Вадим Медведев запись закреплена

Василий Ходырев

Вадим Медведев

Василий, не знаю, у всех, или не у всех, но я повторно устанавливал Манжаро с нуля - кастомайзер работает ДО обновления. Обновляюсь - исчезает из системы и из меню и не ставится по-новой. Ни через терминал, ни через памак с дискавером.

Вальтер Замбржицкий

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

Василий Ходырев

Вадимъ, за последнее время часто что-то у кого-то не работает, отваливается, не может починить, обнова ломает.

Вадим Медведев

Yuriy Chizhikov

Василий Ходырев

Yuriy, та и я про это же. Слишком часто лихорадит ОС в последнее время. То у одного проблемы, то у второго, то у меня то конки, то импорт ключей из памак, в КДЕ сейчас глюки есть (есть они на любом окружении). Короче, я сменил ОС.

Дмитрий Шапошников

Вальтер, а не подскажите как правильно этот grub-vanilla установить? А то устанавливаю его из репозитория - у меня система при следующем запуске не загружается. Вот такая ерунда появляется (на скриншоте)

Вальтер Замбржицкий

Дмитрий, да я сам тот ещё чайник, постоянно в арчвики приходится копаться. такое вроде бывает, когда граб не находит свой конфиг. он на команды-то реагирует?

Дмитрий Шапошников

Вальтер, да реагирует. Вот нашел инструкцию, как восстановить загрузчик при такой ситуации. Но я так понял, что по этой инструкции восстановится загрузчик Manjaro, с которым Grub customizer не работает.

Вадим Медведев

Дмитрий Шапошников

Вадим, альтернативу Grub customizer не нашел. Путем опытов на виртуалке пришел к следующим выводам: установка grub-vanilla приводит к экрану при загрузке, что я выкладывал выше. Но если установить grub-fedora, то система стартует и с grub-fedora устанавливается Grub customizer. Но это все проделывалось на виртуальной машине, как будет работать на реальном железе - я не знаю.

Вадим Медведев

Александр Секрет

Павел Левашов

Надёжность дебиана на десктопе под вопросом, во всяком случае у меня был неприятный случай при использовании компонентов non-free. Также дебиан с гномом, насколько мне известно, использует вяленного, а надёжность последнего крайне сомнительна. Про убунту вообще говорить нечего: напихано всякого хлама вагон и маленькая тележка. В общем, фиг знает на что уходить, тоже сейчас голову ломаю.

Александр Забалканский


Александр Забалканский

Александр, не знаете случаем на арче тоже такая же картина с обновлениями?

Настройка же GRUB2 требует не просто внесения измений в главный конфиг, расположенный там, где его никто не ожидал бы найти, но и закрепления его запуском исполнимого файла, тоже именованного не вполне логично. Кто помнит, как хаяли некогда Lilo за то, что оно после правки конфига требует запуска программы lilo , поймёт, о чём я.

и установить пакет:

После этого Grub Customizer обнаруживается в секции Администрирование главного меню, а таже может быть запущен прямой командой

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

grub-custozier_01

grub-customizer_01a

grub-custozier_02

grub-custozier_03

grub-custozier_04

grub-custozier_05

Через этот самый пункт Правка -> Создать я и попытался сразу же добавить в меню DragonFly. Он вызывает вот такую панельку:

grub-custozier_06

grub-custozier_07

то программа либо слетала, либо зависала, либо выдавала вот такое предупреждение о риске потери данных. А на такой риск, когда дело касается загрузчика, мне идти не хотелось. Тем более что загружать DragonFly именно через GRUB для меня было не критично.

Решив первую задачу и потерпев неудачу со второй, я, прежде чем перейти к настройкам внешнего вида (на одноимённой вкладке), поглядел на вкладку Основные настройки:

grub-custozier_09

Наконец, наступил момент настройки внешности. Соответствующая вкладка выглядела так:

grub-custozier_10

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

grub-custozier_11

grub-custozier_12

Затем поглядел на Дополнительные настройки:

grub-custozier_13

m7h4vflxwo compress

Способы спасения или восстановления загрузчика Grub

Вы, возможно, думаете о том, что случилось с дистрибутивом. Причин может быть много. Вы могли установить какое-то программное обеспечение, могли испортить GRUB2, кто знает, вы использовали другой дистрибутив при попытке двойной загрузки и многое другое. Независимо от причины, в большинстве случаев проблема заключается в GRUB. Ниже приведены некоторые способы, которые вы можете использовать, чтобы вернуть свой дистрибутив с экрана Grub Rescue.

Способ 1 Для восстановления Grub

Введите ls и нажмите enter.

Теперь вы увидите множество разделов, которые присутствуют на вашем компьютере. [например, (hd0),(hd0,msdos1)(hd0,msdos2)]. Выберите раздел, в котором установлен дистрибутив Linux.

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

После того, как вы нашли диск, введите эту команду insmod normal, а затем normal.

Теперь ваш компьютер/ноутбук перезагрузится, и вы окажетесь на рабочем столе. Теперь нажмите Ctrl+Alt+T, откройте терминал и введите

sudo grub-install /dev/sda

Вас могут попросить ввести пароль; введите его, пароль останется невидимым, это нормально.

У вас может быть запрошено подключение для передачи данных, если файлы GRUB потеряны и система хочет их загрузить. Ваша ошибка исправлена, и дистрибутив восстановлен.

Способ 2 Для восстановления Grub

Возьмите флешку Live USB. Я предпочту флешку Ubuntu Live USB.

Откройте терминал после загрузки на live рабочем столе.

Смонтируйте корневой раздел, набрав /mnt и загрузитесь в /mnt/boot и нажмите enter. [например, sudo grub-install -root-directory=/mnt -boot-directory=/mnt/boot /dev/sda].

sudo grub-install -root-directory=/mnt -boot-directory=/mnt/boot /dev/sda

Вы должны заменить /dev/sda на правильный раздел или диск. Теперь обновите grub, набрав

Метод 3 для восстановления Grub

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

Возьмите установочный DVD-диск Windows OS, одолжите его у друга или у кого-нибудь еще. (Не берите DVD с Windows XP или Vista.)
Запустите его на своем компьютере и запустите программу установки. Это можно сделать, выбрав загрузочный носитель либо нажатием F12, либо установив порядок загрузки в загрузчике. Доступ к нему можно получить, нажав F2 или Del. или любую клавишу, предложенную производителем.

Прочтите: Как установить последнюю версию Kodi 19.2 с помощью PPA в Ubuntu 21.04, 20.04

После того как все файлы Windows загрузятся, выберите Восстановление ОС. Обычно эта опция появляется в нижней части диалогового окна после выбора нескольких опций.

При появлении запроса выберите ОС, затем в опции восстановления системы выберите командную строку. Теперь введите по очереди следующие команды

bootrec /fixboot
bootrec /fixmbr

Теперь завершите установку и перезагрузите компьютер/ноутбук. Окно восстановлено и переопределило GRUB.

Ваш дистрибутив Linux по-прежнему присутствует в нем. Только GRUB отменен. Вы можете вернуть его обратно, следуя методу 2, описанному выше.

Метод 4 Восстановление Grub

Возьмите USB/DVD-накопитель Ubuntu live и загрузитесь с него на рабочий стол.

Подключитесь к Интернету и откройте терминал.

sudo add-apt-repository -y ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Появится инструмент восстановления загрузки. Выберите рекомендуемый вариант и выполните все шаги в точности, как там написано. Ваш ПК будет восстановлен, и ничего не будет потеряно.

Помните, что скорость восстановления зависит от вашего интернет-соединения.

Советы профи:-
Если вы задаетесь вопросом, где взять Live USB, вы можете посетить своего друга и скачать Ubuntu iso и создать загрузочный USB-накопитель с помощью Rufus и загрузочный DVD с помощью PowerISO, а также с помощью Ventoy.

Вы можете посетить общественное место, если вам нужен WiFi. Есть много мест, таких как аэропорты, железнодорожные вокзалы, больницы, где есть открытый Wi-Fi. Это поможет, только если у вас есть ноутбук.

Заключение

Наша команда LinuxCool готова помочь вам с вашим ПК. Если вы столкнулись с какими-либо трудностями, не стесняйтесь оставлять комментарии. Также, если у вас есть потрясающий способ выхода из этой ситуации, оставьте комментарий; мы с удовольствием добавим его в статью. Однако, несмотря на все ваши усилия, если вы не сможете спасти свой ноутбук или данные будут испорчены, мы в LinuxCool не будем нести ответственность за разгневанную мать, взбешенного отца, мертвого котенка или ядерную войну.


Многие пользователи компьютером устанавливают на жёсткий диск несколько ОС, чтобы попробовать и выбрать наиболее подходящую под свои запросы и возможности компьютера.
Если после установки Manjaro была установлена другая система Linux, например, Ubuntu; Linux Mint или Fedora и т.п., то загрузчик операционных систем GRUB теперь будет от последней установленной системы Linux.

Но вот незадача, войти в Manjaro будет проблематично, а именно, переключаясь в GRUB на строку с Manjaro и нажатия Enter, система не загружается и на экране появляется примерно вот такое извещение с Kernel panic:


Некоторые пользователи переустанавливают Manjaro, чтобы её загрузчик GRUB был главным, а из GRUB Manjaro, можно загрузиться и в другие системы.
Но переустанавливать Manjaro совсем необязвтельно. Для того чтобы из загрузчика GRUB, например, Ubuntu зайти в систему Manjaro, необходимо прежде переключится на строку Advanced options Manjaro и нажать Enter.


А затем в открывшемся меню выбрать третью строку с fallback initramfs или резервную инициализацию файловой системы и нажать Enter.


Таким образом пользователь совершает вход в систему Manjaro без проблем.

После того как пользователь вошёл в Manjaro, можно восстановить загрузчик GRUB Manjaro следующей командой в терминале:

sudo grub-install /dev/sda

И остаётся только обновить GRUB:

sudo update-grub

Вот и все. Теперь можно перезагрузить компьютер, чтобы убедиться, что система Manjaro находится первой в меню загрузчика GRUB.

Читайте также: