Skip to content

Документация по BlackArch на русском языке

Инструкции, советы, новые программы

Menu
  • Главная
  • Список инструментов
  • HackWare
Menu

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

Posted on 23.12.202128.12.2021 by Alexey

Обновление /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 — в ней указана версия, на скриншоте это 249.5-3.

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

Например, список Features на скриншоте:

               ✓ Boot counting
               ✓ Menu timeout control
               ✓ One-shot menu timeout control
               ✓ Default entry control
               ✓ One-shot entry control
               ✓ Support for XBOOTLDR partition
               ✓ Support for passing random seed to OS
               ✗ Load drop-in drivers
               ✓ Boot loader sets ESP information

Большая часть списка отмечена зелёными галочками (✓), но один пункт (в вашем случае это могут быть другие пункты) отмечен красным крестиком (✗). Это означает, что systemd поддерживает все перечисленные функции, в том числе отмеченные крестиком, но установленный в данный момент загрузчик не поддерживает то, что отмечено крестиком. Для того, чтобы загрузчик начал поддерживать весь список, необходимо его обновление.

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

pacman -Ss systemd

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

Для проверки актуальной версии systemd возможно вы предпочтёте следующую команду:

pacman -Si systemd

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

sudo bootctl update

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

Близкие статьи

  • Как в Arch Linux поменять операционную систему загружаемую по умолчанию (для UEFI и systemd-boot) (100%)
  • Как включить Интернет в BlackArch (50%)
  • Варианты установки BlackArch (50%)
  • Создание загрузочной флешки BlackArch / Arch Linux (50%)
  • Установка BlackArch, часть первая: Установка BlackArch в VirtualBox (50%)
  • Установка ownCloud в Arch Linux / BlackArch (RANDOM - 50%)

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

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

wp-puzzle.com logo


Поиск


Свежие записи

  • Как настроить Python в качестве CGI модуля в Apache на Arch Linux (Manjaro, BlackArch)
  • PHP Warning: PHP Startup: imap: Unable to initialize module (РЕШЕНО). Как установить imap модуль для PHP в Arch Linux
  • Как обновить загрузчик GRUB в Arch Linux и производных дистрибутивах (Manjaro, BlackArch)
  • Ошибка «error: failed to commit transaction (invalid or corrupted package)» (РЕШЕНО)
  • Ошибка «TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’» (РЕШЕНО)

Свежие комментарии

  • Анастасия к записи Как установить и настроить OpenVPN в ArchLinux / BlackArch
  • Alexey к записи Как в Arch Linux найти все программы, установленные из AUR
  • МаксимК к записи Как в Arch Linux найти все программы, установленные из AUR
  • Vova к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Furi к записи Приложение в .AppImage не запускается в Arch Linux (РЕШЕНО)




Рубрики

  • Sniffing и Spoofing
  • Архив
  • Без рубрики
  • Взлом Wi-Fi сетей
  • Инструкции
  • Новости
  • Общая информация/новости
  • Разведка
  • Справка и подсказки




Яндекс.Метрика
© 2023 Документация по BlackArch на русском языке | Powered by Minimalist Blog WordPress Theme