Загрузчик systemd: различия между версиями
Дым (обсуждение | вклад) |
Дым (обсуждение | вклад) |
||
Строка 61: | Строка 61: | ||
В связи с этим настоятельно рекомендуется не удалять гарантированно загружаемое предпоследнее установленное ядро и не трогать его конфигурацию в меню загрузчика — как минимум для возможности поправить огрехи в настройке свежеустановленного, буде таковые случились. | В связи с этим настоятельно рекомендуется не удалять гарантированно загружаемое предпоследнее установленное ядро и не трогать его конфигурацию в меню загрузчика — как минимум для возможности поправить огрехи в настройке свежеустановленного, буде таковые случились. | ||
==Устранение проблем== | |||
Пока только одной — Windows заменяет очередность загрузчиков даже на запароленном UEFI, выставляя себя первой по порядку. Лечится из самой Windows следующей командой от имени админа: | Пока только одной — Windows заменяет очередность загрузчиков даже на запароленном UEFI, выставляя себя первой по порядку. Лечится из самой Windows следующей командой от имени админа: | ||
<pre>bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi</pre> | <pre>bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi</pre> | ||
То есть, Windows таки грузится первой системой, однако загрузчика выбирает не собственного, а systemd-шного. | То есть, Windows таки грузится первой системой, однако загрузчика выбирает не собственного, а systemd-шного. | ||
===Ссылки=== | ===Ссылки=== | ||
[https://wiki.archlinux.org/index.php/Systemd-boot_(Русский) Более подробно можно почитать здесь] (наткнулся уже после того, как вышеизложенное было таки вышеизложено :). | [https://wiki.archlinux.org/index.php/Systemd-boot_(Русский) Более подробно можно почитать здесь] (наткнулся уже после того, как вышеизложенное было таки вышеизложено :). | ||
{{Category navigation|title=Загрузчики|category=Загрузчики|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Загрузчики|category=Загрузчики|sortkey={{SUBPAGENAME}}}} | ||
[[category:systemd]] | [[category:systemd]] |
Версия от 06:03, 16 июля 2019
Загрузчик systemd (только для UEFI)
Подготовка
# mount | awk '/\/boot\/efi/{print $1}'
/dev/sdb1
sdb1 — у меня; у вас может быть какой-то другой диск и раздел.
# mkdir -p /boot/efi/{altlinux,loader/entries}
Установка
Состоит в:
- отдаче команды
# bootctl install
, которая разместит загрузчик systemd по нужному маршруту в разделе ESP (порой приходится добавить опцию с полным маршрутом, но меня это миновало); - размещении пар «загрузчик + образ ядра» в произвольном (под)каталоге этого раздела;
- создании/правке конфигурационных файлов по намертво прибитым маршрутам (см. Настройку).
Настройка
Каждый пункт меню, кроме автоопределяемого загрузчика 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 обязательных строки:
- название пункта — как оно должно выглядеть на экране загрузки,
- маршрут до загрузчика и
- маршрут до образа системы.
Опции загрузки меняются через файл (маршрут и имя ровно таковы и более никаковы) /boot/efi/loader/loader.conf
:
default altlinux-5.1.17
timeout 5
editor 1
Здесь указаны:
- пункт загрузки по умолчанию (по сути — имя файла с пунктом меню без расширения
.conf
), - секунды предзагрузочной задержки и
- возможность внесения изменений в выбранный пункт до загрузки (не знаю, у меня не срослось пока — необязательная опция, единичка по умолчанию).
Обновление ядра
После установки нового ядра и сноса старых приходится:
- скопировать загрузчик и образ нового ядра (
/boot/vmlinuz-<релиз>
и/boot/initrd-<релиз>.img
) в/boot/efi/altlinux/
или в другой каталог, куда решите их складывать; - добавить конфиг нового ядра в каталог
/boot/efi/loader/entries/
, скопировав и изменив или просто изменив (мой случай) конфиг старого, снесённого; - нацелив опцию default в файле
/boot/efi/loader/loader.conf
на конфиг нового ядра, перезагрузиться; - при несрабатывании нового пункта загрузить предыдущее ядро и разобраться, где опечатались.
Минусы
Ручное внесение изменений (в отличие от GRUB) как в общее меню загрузчика, так и в каждый его новый пункт с удалением устаревших, что чревато невозможностью загрузки криво отредактированного пункта.
В связи с этим настоятельно рекомендуется не удалять гарантированно загружаемое предпоследнее установленное ядро и не трогать его конфигурацию в меню загрузчика — как минимум для возможности поправить огрехи в настройке свежеустановленного, буде таковые случились.
Устранение проблем
Пока только одной — Windows заменяет очередность загрузчиков даже на запароленном UEFI, выставляя себя первой по порядку. Лечится из самой Windows следующей командой от имени админа:
bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi
То есть, Windows таки грузится первой системой, однако загрузчика выбирает не собственного, а systemd-шного.
Ссылки
Более подробно можно почитать здесь (наткнулся уже после того, как вышеизложенное было таки вышеизложено :).