Как просмотреть мое меню GRUB без перезагрузки?

Вопрос или проблема

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

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

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

Я считаю, что grub-emu должен вам помочь. В терминале выполните команду:

sudo apt install grub-emu && sudo grub-emu

введите описание изображения здесь

Смотрите здесь для получения дополнительной информации.

Учтите: Вам нужно установить фокус на терминал, в котором вы запустили эмулятор, чтобы можно было вводить данные! Окно самого эмулятора не будет реагировать на любые вводы.

grub2-theme-preview__gutsblack-archlinux

Вы можете установить grub2-theme-preview, который является пакетом PyPi. Он использует QEMU и, похоже, хорошо работает для тестирования тем grub, и это без необходимости перезагружать компьютер после каждого изменения.

Он также доступен напрямую из AUR, это версия, которую я использовал, так как я использую Manjaro.

Для него требуются следующие зависимости, не из PyPi (смотрите README.md для ссылок, деталей и возможных обновлений):

  • grub-mkrescue от GRUB 2 (пакет grub-common на Debian и Ubuntu)
  • QEMU — гипервизор, выполняющий аппаратную виртуализацию
  • OVMF — EFI образ BIOS для использования с QEMU
  • mtools — коллекция утилит для доступа к MS-DOS
  • xorriso из libisoburn — интерфейс, позволяющий создавать и расширять форматы ISO
  • И python / pip, конечно

Для установки выполните следующую команду:

pip install --user grub2-theme-preview

После установки вы можете запускать grub2-theme-preview /path/to/your/theme/directory из терминала для его запуска (подробнее о его использовании здесь.)

Примечание: если у вас есть какие-либо пользовательские конфигурации, например custom.cfg или, скажем, liveiso.cfg, которые вы добавляете в grub.cfg отдельно, благодаря скрипту в /etc/grub.d/41_custom, например, их записи могут не отображаться, в таком случае вам нужно будет использовать новый флаг –add. Ваша команда может выглядеть следующим образом, с –add TARGET=/SOURCE для каждой пользовательской конфигурации, которую вы хотите добавить:

grub2-theme-preview --verbose --grub-cfg /boot/grub/grub.cfg --add /boot/grub/custom.cfg=/boot/grub/custom.cfg --add /boot/grub/gpu-switcher.cfg=/boot/grub/gpu-switcher.cfg --add /boot/grub/liveiso.cfg=/boot/grub/liveiso.cfg /usr/share/grub/themes/manjaro

Больше контекста здесь: https://github.com/hartwork/grub2-theme-preview/issues/29#issuecomment-980802808


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

awk -F\' '/(^|| )nuentry / {print $2}' /boot/grub/grub.cfg|cat -n|awk '{print $1-1,$1="",$0}'

Источник


Мне больше нравятся эти варианты, чем grub-emu, так как, кажется, он имеет проблему с закрытием, без необходимости полностью закрывать ваш терминал, как указано в комментариях к этому ответу. Кроме того, grub2-theme-preview действительно покажет вам тему (хотя он требует большего количества зависимостей), а команда awk быстра и проста; возможно, добавьте ее в качестве псевдонима, если вы используете ее часто, чтобы не помнить ее заново.

Для GRUB2 необходим новый пакет /.*emu/, потому что grub-emu (как рекомендовано revisions/405521/8) не будет работать.

С помощью Fedora-KDE-Live-x86_64-41-1.4.iso, grub2-emu-2.12-15.fc41.x86_64.rpm можно установить с помощью sudo dnf install 'grub2-emu' и вызвать как:

  1. sudo grub2-emu для доступа ко всем функциям TUI GRUB2:

    Скриншот

    …или:

  2. Просто grub2-emu для доступа только к CLI GRUB2 (normal не выйдет из него; только внешнее повышение до суперпользователя сделает это):

    Скриншот

.

Ответ или решение

Конечно, рассмотрим, как можно предварительно просмотреть меню GRUB без необходимости перезагрузки системы. Это актуальная задача для многих пользователей Linux, которые хотят изменить операционную систему по умолчанию в загрузочном меню GRUB2 без повторных перезагрузок. Решений данной проблемы несколько, и они отличаются по сложности и необходимым инструментам.

Использование GRUB Emulator

Одним из эффективных способов визуализировать изменения в меню GRUB без перезагрузки является установка и использование GRUB Emulator (grub-emu). Этот инструмент позволяет запустить эмуляцию меню GRUB прямо в терминале:

  1. Установите GRUB Emulator, воспользовавшись командой ниже:
    sudo apt install grub-emu && sudo grub-emu

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

Использование grub2-theme-preview

Инструмент grub2-theme-preview позволяет тестировать изменения в темах GRUB без перезагрузки системы, используя возможности QEMU для эмуляции:

  1. Установите необходимые зависимости: grub-mkrescue, QEMU, OVMF, mtools и xorriso.
  2. С помощью команды ниже установите пакет:
    pip install --user grub2-theme-preview
  3. Запустите предварительный просмотр:
    grub2-theme-preview /path/to/your/theme/directory

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

Операции в терминале

Для быстрого отображения списка пунктов меню GRUB можно воспользоваться awk командой, которая выполнит парсинг файла конфигурации GRUB и выведет все доступные пункты:

awk -F\' '/(^|| )nuentry / {print $2}' /boot/grub/grub.cfg | cat -n | awk '{print $1-1,$1="",$0}'

Заключение

Каждое из предложенных решений имеет свои преимущества. Эмулятор GRUB и grub2-theme-preview позволяют увидеть визуальные изменения, что особенно полезно при тестировании тем. Команда awk — простой и эффективный метод для быстрого получения списка меню.

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

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

Капча загружается...