Данная инструкция применима для всех загрузчиков, которые реализуют Boot Loader Specification и/или Boot Loader Interface, таким примером является systemd-boot.
Если у вас современный компьютер (не старше семи лет на момент написания), то в нём скорее всего вместо БИОС используется UEFI и, следовательно, для загрузки используется systemd-boot, который обычно упоминается в инструкциях по установке Arch Linux (хотя может быть и grub).
Связанная статья: Что такое UEFI и чем он отличается от BIOS?
Программа bootctl может проверять прошивку EFI и статус загрузчика, выводить список доступных загрузчиков и записей загрузчика и управлять ими, а также устанавливать, обновлять или удалять загрузчик systemd-boot в текущей системе.
Чтобы проверить, используется ли в вашей системе systemd-boot выполните команду:
bootctl is-installed
Следующая команда покажет все доступные записи загрузчика, реализующие Boot Loader Specification, а также любые другие записи, обнаруженные или автоматически созданные загрузчиком, реализующим Boot Loader Interface.
bootctl list
- title — название. Обратите внимание, что запись со строкой «(default)» выбрана в качестве загружаемой по умолчанию
- id — идентификатор, он нужен в описанных далее командах для смены ОС загружаемой по умолчанию
- source — источник
- linux — ядро Linux
- initrd — initial RAM filesystem. Целью initramfs является загрузка системы до точки, где она может получить доступ к корневой файловой системе.
- options — опции загрузки
Следующая команда устанавливает запись загрузчика по умолчанию. В качестве аргумента принимает одну строку идентификатора записи загрузчика.
sudo bootctl set-default ИДЕНТИФИКАТОР
Команда set-oneshot установит запись по умолчанию только для следующей загрузки, set-default установит её постоянно для всех будущих загрузок.
sudo bootctl set-oneshot ИДЕНТИФИКАТОР
Необязательно, идентификатор записи загрузчика может быть указан как один из: @default, @oneshot или @current, что соответствует текущей записи загрузчика по умолчанию для всех будущих загрузок, текущей записи загрузчика по умолчанию для следующей загрузки и загруженная в данный момент запись загрузчика. Эти специальные идентификаторы преобразуются в текущие значения переменных EFI LoaderEntryDefault, LoaderEntryOneShot и LoaderEntrySelected. Эти специальные идентификаторы в первую очередь полезны как быстрый способ постоянно сделать запись загрузчика, загружаемую в настоящий момент, выбором по умолчанию или обновить запись загрузчика по умолчанию для следующей загрузки до записи загрузчика по умолчанию для всех будущих загрузок, но их можно использовать также и для других операций. Если в качестве идентификатора указана пустая строка (""), соответствующая переменная EFI не будет установлена.
Диспетчер загрузки интегрируется с командой systemctl, поэтому возможно использование следующих команд:
systemctl reboot --boot-loader-entry=ИДЕНТИФИКАТОР
Эта команда перезагрузит компьютер в указанную запись загрузчика.
Кстати, чтобы получить очень компактный список, содержащий только записи загрузчика, выполните команду:
systemctl reboot --boot-loader-entry=help
Следующая команда немедленно перезагрузит вас в меню. У этого меню будет установлен таймаут на указанное количество СЕКУНД:
systemctl reboot --boot-loader-menu=СЕКУНДЫ