Загрузчик systemd: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{span|font-size: 180%|Загрузчик systemd (только для UEFI)}} | {{span|font-size: 180%|Загрузчик systemd (только для UEFI)}} | ||
=== | ===Подготовка=== | ||
# Удостовериться, что раздел ESP существует и смонтирован по правильному маршруту: | |||
<source lang=bash> | |||
= | # mount | awk '/\/boot\/efi/{print $1}' | ||
/dev/sdb1 | |||
</source> | |||
<code>/dev/sdb1</code> — это у меня так; у вас может быть какой-то другой диск и раздел. | |||
# Создать каталоги для размещения загрузчиков, образов и настроек меню: | |||
<source lang=bash># mkdir -p /boot/efi/{altlinux,loader/entries}</source> | |||
===Установка=== | ===Установка=== | ||
Состоит в: | Состоит в: | ||
* | * размещении пар «загрузчик + образ ядра» в произвольном (под)каталоге на разделе ESP, смонтированном по маршруту <code>/boot/efi</code>; | ||
* создании/правке конфигурационных файлов по намертво прибитым маршрутам (см. следующий раздел); | |||
* создании/правке конфигурационных файлов по намертво прибитым маршрутам (см. следующий раздел). | * отдаче команды <code># bootctl install</code> (порой приходится добавить опцию с маршрутом до раздела ESP, но мне делать такого не пришлось). | ||
===Настройка=== | ===Настройка=== | ||
Опции загрузки меняются через файл <code>/boot/efi/loader/loader.conf</code> | Опции загрузки меняются через файл (маршрут и имя ровно таковы и более никаковы) <code>/boot/efi/loader/loader.conf</code>: | ||
<source> | <source> | ||
default altlinux-5.1.17 | default altlinux-5.1.17 | ||
Строка 45: | Строка 49: | ||
* маршрут до образа системы. | * маршрут до образа системы. | ||
Как видно по второму файлу, есть и необязательная строка опций, через которую можно, к примеру, задать точку монтирования корневой ФС и/или подгрузить образ с микрокодом процессора (мне подобным опять же пользоваться не доводилось). | Как видно по второму файлу, есть и необязательная строка опций, через которую можно, к примеру, задать точку монтирования корневой ФС и/или подгрузить образ с микрокодом процессора (мне подобным опять же пользоваться не доводилось). | ||
===Обновление ядра=== | |||
После установки нового ядра (и сноса старых) приходится: | |||
* скопировать | |||
===Минусы=== | ===Минусы=== |
Версия от 08:53, 15 июля 2019
Загрузчик systemd (только для UEFI)
Подготовка
- Удостовериться, что раздел ESP существует и смонтирован по правильному маршруту:
# mount | awk '/\/boot\/efi/{print $1}'
/dev/sdb1
/dev/sdb1
— это у меня так; у вас может быть какой-то другой диск и раздел.
- Создать каталоги для размещения загрузчиков, образов и настроек меню:
# mkdir -p /boot/efi/{altlinux,loader/entries}
Установка
Состоит в:
- размещении пар «загрузчик + образ ядра» в произвольном (под)каталоге на разделе ESP, смонтированном по маршруту
/boot/efi
; - создании/правке конфигурационных файлов по намертво прибитым маршрутам (см. следующий раздел);
- отдаче команды
# bootctl install
(порой приходится добавить опцию с маршрутом до раздела ESP, но мне делать такого не пришлось).
Настройка
Опции загрузки меняются через файл (маршрут и имя ровно таковы и более никаковы) /boot/efi/loader/loader.conf
:
default altlinux-5.1.17
timeout 5
editor 1
Здесь указаны:
- пункт загрузки по умолчанию (по сути — имя файла меню без расширения
.conf
), - секунды предзагрузочной задержки и
- возможность внесения изменений в выбранный пункт перед загрузкой (не знаю, у меня не срослось пока).
Каждый пункт меню (кроме автоматически определяемого загрузчика Windows) настраивается отдельным файлом.
В моём случае их два (маршрут к каталогу именно таков, имена же файлов произвольные — обязательно лишь расширение .conf
):
/boot/efi/loader/entries/altlinux-5.1.16.conf
title ALT Linux 5.1.16
linux /altlinux/vmlinuz-5.1.16-un-def-alt2
initrd /altlinux/initrd-5.1.16-un-def-alt2.img
/boot/efi/loader/entries/altlinux-5.1.17.conf
title ALT Linux 5.1.17
linux /altlinux/vmlinuz-5.1.17-un-def-alt1
initrd /altlinux/initrd-5.1.17-un-def-alt1.img
#options root=/dev/disk/by-label/root rw initrd=\EFI\altlinux\intel-ucode.img
В каждом из них 3 обязательных строки:
- название пункта, как оно должно выглядеть на экране загрузки,
- маршрут до загрузчика и
- маршрут до образа системы.
Как видно по второму файлу, есть и необязательная строка опций, через которую можно, к примеру, задать точку монтирования корневой ФС и/или подгрузить образ с микрокодом процессора (мне подобным опять же пользоваться не доводилось).
Обновление ядра
После установки нового ядра (и сноса старых) приходится:
- скопировать
Минусы
Ручное внесение изменений (в отличие от GRUB) как в общее меню загрузчика, так и в каждый его пункт, что потенциально может привести к невозможности загрузки некорректно отредактированного пункта (кроме автоопределённой Windows).
В связи с этим настоятельно рекомендуется не удалять предпоследнее установленное ядро, не трогая его конфигурацию в загрузчике systemd, как минимум для возможности поправить огрехи в настройке свежеустановленного, буде таковые случились.
Устранение проблем
Пока только одной — Windows заменяет очередность загрузчиков даже на запароленном UEFI. Лечится из самой Windows следующей командой от имени админа:
bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi