Systemd UEFI и обновления ядра

Короче настроена загрузка у меня через bootctl. Я так понимаю это почти тоже самое, что и EFI Stub.

Но загрузка не шла пока я не положил initramfs-linux.img и vmlinuz-linux непосредственно в сам раздел esp. Теперь при обновлении ядра нужно вручную обновлять его копировав из /boot в esp.
Уже запутался читая мануалы, но вроде при таком способе оно и должно грузить ядро только с esp, а с других разделов не умеет.
Может я что-то не так настроил? Или можно как-то сделать автоматическое копирование ядра в раздел esp при обновлении?

Вот так выглядит конфиг efi/loader/entries/arch.conf
title	Arch Linux
linux	/vmlinuz-linux-ck
initrd	 /initramfs-linux-ck.img
options	root=/dev/sda3 rw

Ах да. Раздел esp вообще не монтируется при загрузке.
Мало информации,что за раздел у тебя такой esp и где он у тебя находится? Для чего ты его вообще делал,если раздела /boot вполне достаточно. Как ты устанавливал bootctl (какой командой).
esp - это efi раздел
У меня он находится на /dev/sda4 fat32 100мб
Делал его, так как загрузка через UEFI происходит.

Как ставил загрузчик я уже точно не вспомню.

https://wiki.archlinux.org/index.php/Beginners'_guide#UEFI_motherboards
Вроде по этому мануалу.
efi раздел ненужен,тебе нужно было лишь создать раздел boot и отформатировать его в fat32,и уже в boot и ставить загрузчик. набери lsblk -f в консоли и кинь сюда инфу,что бы хоть понять как у тебя разделы устроены
DeadMetaler, имею плату с EFI (вроде как). Ставил арч как будто его нету, все ок (три раздела, /, /boot, /home, инструкции для UEFI\EFI в мануале игнорил). Вроде как UEFI\EFI отключить в биосе можно. Или что-то напутал?
NAME   FSTYPE LABEL      UUID                                 MOUNTPOINT
sda
├─sda1 ext4              961f2944-7377-4045-a172-667ce2c93fb2
├─sda2 ext4   Home       6439e2da-8067-4944-9779-6fa50ebc08d3
├─sda3 ext4   Arch Linux a331b663-01f8-46a7-9ddc-8e35868782fa /
├─sda4 vfat              9D8A-BD43
├─sda5 vfat   Clonezilla 5D66-BE4A
└─sda6 ext4              6fa11183-5b09-4837-811e-724292a515e8
sdb
└─sdb1 btrfs  Extended   5be3fe1d-5457-4ffd-84b9-a16a2baa3cb0 /extended

Тут еще дело в том, что Арч я ставил второй системой к Убунту. То есть efi раздел был нужен для убунту.

UEFI отключать не нужно мне, ибо удобнее и безопаснее ставить несколько систем. У каждой свой загрузчик, а не один на всех.

Еще почитав, я понял, что в systemd встроили gummiboot и по сути я его и настраиваю. Даже команды такие же.
Видимо в мануалах под /boot и понимается отдельный раздел /boot, а не efi раздел примонтированный в /boot как я полагал.
Надо попробовать сделать отдельный раздел. Хотя можно же в fstab прописать efi раздел, чтоб подключался как /boot?
DeadMetaler
Видимо в мануалах под /boot и понимается отдельный раздел /boot, а не efi раздел примонтированный в /boot как я полагал.
Нет.
systemd-boot (bootctl(1), systemd-efi-boot-generator(8)) assumes that your EFI System Partition is mounted on /boot.

systemd автоматически монтирует efi раздел с gdisk type EF00 как /boot

Как это сделано у меня:

 # fdisk -l /dev/sda
Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Единицы: sectors по 1 * 512 = 512 байт
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Тип метки диска: gpt
Идентификатор диска: 282E70B1-0980-4322-AD88-0C54427DF5AA

Устр-во     Start Конец Секторы   Size Тип
/dev/sda1    2048    411647    409600   200M EFI System
/dev/sda2  411648 976773134 976361487 465,6G Linux filesystem
Сейчас я прописал в fstab монтировать efi раздел как /boot, для верности очистил /boot и переставил ядро. Работает. Правильно сделал вроде?

Такой вариант мне нравится.
А то grub надоел зависаниями на обновлении конфига.
systemd автоматически монтирует efi раздел с gdisk type EF00 как /boot
Даже если не монтирует, genfstab автоматом добавляет
# /dev/sda1
UUID=         /boot/efi       vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2
а вообще в /boot/efi монтируется.
хз чем вам граб насолил, может быть неправильно ставите? Я когда устанавливал обратил внимание что в вики (англ.) каша в этом разделе, в итоге сделал так
grub-install (EFI создан в gdisk и тип ef00 и уже смонтирован в /mnt/boot/efi)
а затем
grub-install --efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=grub

В этом примере загрузочный раздел EFI с каталогом EFI/ заранее смонтирован в /boot/efi, а ID загрузчика полностью совпадает с именем каталога "grub". Поэтому и образ, и файлы загрузчика будут установлены в один и тот же каталог EFI/grub/ на загрузочном разделе. Соответственно, в этом случае стартовый образ будет установлен в /boot/efi/EFI/grub/grubx64.efi, конфиг загрузчика должен быть в /boot/efi/EFI/grub/grub.cfg, а модули в каталоге /boot/efi/EFI/grub/x86_64-efi/
grub-mkconfig
grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg

еще как вариант, предположу что у вас в биосе неверные настройки, поэтому виснет
Gentoo | ArchLinux | servers and work PC
W 7 - everyday usage all PC's
W 8.1 - Lenovo IdeaPad G500 - i3 3110, R8570M
spirevillage.blogspot.com
работает ли теперь убунта у тебя?
 
Зарегистрироваться или войдите чтобы оставить сообщение.