You are not logged in.
Pages: 1
Hi all,
my system consists of two partitions::
/dev/sda2 - which hosts Arch Linux and
/dev/sda1 - the EFI System Partition (ESP) mounted on /boot/efi
I would like to create a new UEFI entry to be able to boot Arch Linux directly, without a boot loader.
So I wrote:
efibootmgr --create --disk /dev/sda --part 2 --label 'Arch_Linux' --loader /boot/vmlinuz-linux --unicode 'root=/dev/sda2 rw initrd=\boot\initramfs-linux.img'
and of course I put this new entry at the top of the boot-order list.
But it does not work at all!
I suppose the problem is that the kernel to boot resides on a different partition from ESP. In fact, if I install Arch Linux by mounting ESP as boot partition (i.e. on /boot), then I write
efibootmgr --create --disk /dev/sda --part 1 --label 'Arch_Linux' --loader /vmlinuz-linux --unicode 'root=/dev/sda2 rw initrd=\initramfs-linux.img'
it works without any problem.
I don't understand. Any idea? Thanks in advance.
Last edited by vda (2022-01-08 15:29:35)
I'm sorry for my english: I'm still learning...
Offline
Yes that's how this works. For efistub to work your UEFI needs access to the kernel and as such it has to reside on the ESP. Your UEFI can't read kernels off of linux file systems.
If you wanted to do it the other way you need an intermediate, e.g. GRUB or refind which can read kernels of your linux file system.
Last edited by V1del (2022-01-08 15:23:04)
Offline
Ok, now it's clearer to me: like systemd-boot.
Thanks so much V1del.
Last edited by vda (2022-01-08 15:31:30)
I'm sorry for my english: I'm still learning...
Offline
Pages: 1