You are here: Home » Инструкции » Обновление загрузчика systemd-boot в /boot

Обновление загрузчика systemd-boot в /boot

Обновление /boot

Во время установи Arch Linux на современные компьютеры с UEFI (замена БИОСу) мы создаём небольшой раздел на диске с точкой монтирования в /boot в который мы с помощью bootctl устанавливаем загрузчик. Этим загрузчиком является systemd-boot, который является частью systemd. Со временем systemd может обновляться как любой другой пакет Arch Linux. При этом загрузчик в /boot автоматически не обновляется. По этой причине, если вы уже давно пользуетесь одной установкой Arch Linux, то ваш загрузчик в /boot мог устареть.

Связанная статья: Что такое UEFI и чем он отличается от BIOS?

Эта статья расскажет, как посмотреть версию и поддерживаемые возможности, а также как обновить загрузчик systemd-boot в /boot.

Что такое systemd-boot

systemd-boot (сокращенно sd-boot) — простой менеджер загрузки UEFI. Он предоставляет графическое меню для выбора записи для загрузки и редактор командной строки ядра. Systemd-boot поддерживает системы только с прошивкой UEFI.

systemd-boot загружает информацию о загрузочной записи из системного раздела EFI (ESP), обычно монтируемого в /efi/, /boot/ или /boot/efi/ во время запуска ОС, а также из расширенного раздел загрузчика, если он существует (обычно монтируется в /boot/). Фрагменты файла конфигурации, ядра, initrds и другие образы EFI для загрузки обычно должны находиться на ESP или разделе расширенного загрузчика. Ядра Linux должны быть собраны с CONFIG_EFI_STUB, чтобы их можно было напрямую запускать как образ EFI. Во время загрузки systemd-boot автоматически собирает список загрузочных записей из следующих источников:

  • Загрузочные записи, определённые с помощью файлов описания спецификации загрузчика, расположенных в /loader/entries/ на ESP и в разделе расширенного загрузчика. Обычно они описывают образы ядра Linux со связанными образами initrd, но также могут описывать произвольные другие исполняемые файлы EFI.
  • Унифицированные образы ядра в соответствии со спецификацией загрузчика в виде исполняемых двоичных файлов EFI в /EFI/Linux/ на ESP и в разделе расширенного загрузчика.
  • Диспетчер загрузки Microsoft Windows EFI, если он установлен.
  • Диспетчер загрузки Apple MacOS X, если он установлен.
  • Бинарный файл EFI Shell, если он установлен
  • Перезагрузка в опцию настройки прошивки UEFI, если она поддерживается.

systemd-boot поддерживает следующие функции:

  • Основные изменения конфигурации диспетчера загрузки (например, настройка тайм-аута, выбор загрузочной записи по умолчанию и т. д.) Могут быть сделаны непосредственно из пользовательского интерфейса загрузчика во время загрузки, а также во время выполнения системы с переменными EFI.
  • Диспетчер загрузки интегрируется с командой systemctl для реализации таких функций, как systemctl reboot --boot-loader-entry=… (для перезагрузки в определённый пункт меню загрузки, например, «перезагрузка в Windows») и systemctl reboot --boot-loader-menu=… (для перезагрузки в меню загрузчика), реализовав интерфейс загрузчика.
  • Переменная EFI, установленная загрузчиком, сообщает ОС о разделе ESP, используемом во время загрузки. Затем она используется для автоматического монтирования правильного раздела ESP в /efi/ или /boot/ во время работы ОС.
  • Диспетчер загрузки предоставляет информацию о времени загрузки, затраченном на прошивку UEFI, с помощью Boot Loader Interface. Эта информация может быть отображена с помощью systemd-analyze
  • В диспетчере загрузки реализован подсчёт загрузки и автоматический откат к более старым рабочим записям загрузки в случае сбоя.
  • Диспетчер загрузки дополнительно считывает случайное начальное число из раздела ESP, объединяет его с «системным токеном», хранящимся в постоянной переменной EFI, и извлекает случайное начальное число для использования ОС в качестве инициализации пула энтропии, обеспечивая полный пул энтропии во время ранней загрузки.

Как обновить загрузчик в /boot

Программа bootctl может проверять прошивку EFI и статус загрузчика, выводить список доступных загрузчиков и записей загрузчика и управлять ими, а также устанавливать, обновлять или удалять загрузчик systemd-boot в текущей системе.

Чтобы проверить, используется ли в вашей системе systemd-boot выполните команду:

bootctl is-installed

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

bootctl

Вы увидите примерно следующее:

Обратите внимание на строку Product — в ней казана версия, на скриншоте это 246.6-1.

Также посмотрите на перечень Features — если вы установили свою систему достаточно давно, то некоторые функции могут быть отключены — обновление это исправит.

С помощью команды

pacman -Ss systemd

можно посмотреть актуальную версию пакета systemd. На скриншоте это 247.2-1. То есть можно обновиться до более новой версии.

Обновление загрузчика systemd-boot в /boot выполняет следующей командой:

sudo bootctl update

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo