Вопрос или проблема
Давайте предположим, что мое меню GRUB состоит всего из двух записей:
- DailyLinux
- GameLinux
И также предположим, что я в основном использую DailyLinux, и оно является загрузочным по умолчанию, и время от времени я переключаюсь на GameLinux. Обычно, когда я хочу поиграть, мне нужно нажать кнопку перезагрузки, перейти в меню GRUB и выбрать запись GameLinux. Весь этот процесс на самом деле проходит очень быстро. Но все же, иногда мне просто хочется нажать перезагрузку, пойти взять перекус и вернуться, чтобы увидеть экран входа в GameLinux, вместо того чтобы ждать перед компьютером для выбора записи GameLinux. Интересно, есть ли способ сделать такой скрипт, или настройку, или службу.
Также мне следует добавить, что я не хочу запускать update-grub
каждый раз, когда запускается этот скрипт-перезагрузка
, так как для этого потребуется sudo, и также это займет несколько секунд для обновления меню.
В любом случае, я думаю о чем-то, что я мог бы использовать, например: reboot-entry 0
или reboot-entry 1
. Но я действительно не знаю, как сделать это хорошо работающим. Я думал о изменении опции DEFAULT-ENTRY
, но действительно был бы признателен, услышав и другие методы.
Ответ или решение
Рассмотрим возможность перезагрузки в заданный пункт меню GRUB без необходимости останавливаться на экране выбора. Это удобно, когда вы хотите быстро переключаться между операционными системами, имея только две опции на выбор: DailyLinux и GameLinux. По умолчанию загружается DailyLinux, но иногда требуется быстрое переключение на GameLinux, без физического выбора этого пункта в интерфейсе меню.
1. Теория
GRUB, что расшифровывается как Grand Unified Bootloader, является популярным загрузчиком, который управляет последовательностью загрузки и предоставляет пользователям выбор системы для загрузки при наличии нескольких операционных систем. Обычно, для изменения конфигурации GRUB, необходимо редактировать файл конфигурации и затем применять из него изменения с помощью update-grub
. При этом такие изменения могут касаться как порядка следования, так и выбора стандартной системы, что иногда требует прав администратора и занимает больше времени, чем хотелось бы.
Однако, GRUB поддерживает возможность одноразового выбора загрузочной системы с помощью параметров загрузки, которые могут игнорировать стандартные настройки и необходимы вам для текущей задачи. Эти возможности конфигурируются через grub-reboot
и grub-set-default
.
2. Пример
- Создание исполняемого скрипта: вы можете создать скрипт, который будет автоматически переключать загрузку на нужный вам пункт меню, не затрагивая при этом общий диапазон настроек GRUB. Скрипт может выглядеть следующим образом:
#!/bin/bash
# Проверка наличия аргумента
if [ -z "$1" ]; then
echo "Пожалуйста, укажите индекс пункта меню (0 для DailyLinux, 1 для GameLinux)"
exit 1
fi
# Установка единовременного загрузочного пункта меню через grub-reboot
grub-reboot "$1"
# Перезагрузка системы
reboot
-
Установка прав: установите права на выполнение этого скрипта с помощью команды
chmod +x reboot-entry.sh
. -
Использование: теперь вы можете использовать этот скрипт с командой, к примеру,
./reboot-entry.sh 1
, чтобы перезагрузиться сразу в GameLinux, минуя ожидание у экрана выбора.
3. Применение
В реальном применении использование grub-reboot
обеспечивает гибкость и простоту в управлении загрузкой без необходимости изменения глобальных конфигураций каждый раз. Это позволяет назначить желаемый для следующей загрузки пункт без длительных ожиданий. Также, поскольку это одноразовая установка на следующий запуск, по его завершении будет использоваться снова ваш стандартный Default загружаемый образ.
Это подход может быть особенно полезен не только для игровых или развлекательных целей, как в случае с GameLinux, но и для тестирования или разработки, где требуется частое переключение между различными средами или версиями программного обеспечения, установленными на разных системах. Простота и скорость настройки через скрипт — это большой плюс, особенно в профессиональной среде, где время важно, а вручную выбирать элемент из меню небезопасно и неэффективно.
Постарайтесь интегрировать этот процесс в вашу повседневную работу таким образом, чтобы переключения между системами занимали минимум времени и максимум результата приносили вашему рабочему процессу.