Boot partition mount point (/boot vs /boot/efi)

Hi! I am not sure how to tell the installer that my boot partition has an EFI partition subdirectory. That is, I want to mount /dev/nvme1n1p1 to /boot, because that (vfat, EFI System) partition has the following subdirectories:

'$RECYCLE.BIN'   BOOT   EFI   loader   NIXOS.txt   'System Volume Information'

This has worked with systemd-boot on NixOS, Arch, etc. I understand that grub is required for the time being, and am happy to change things, but I don’t want to mess up the partition for Windows dual booting.

If I try to specify /boot as the mount point, the installer says

Failed to find a suitable stage1 device: EFI System Partition must be mounted on one of /boot/efi; EFI System Partition cannot be of type None; …

But I don’t want to create a second EFI partition, and I don’t think I can mount the existing one to /efi as is. Or can I?

I have a dual-boot (Windows/Linux) LUKS-on-LVM layout as follows:

NAME               SIZE TYPE  MOUNTPOINTS
nvme0n1            954G disk
├─nvme0n1p1          2G part  /boot          [EFI System]
├─nvme0n1p2         16M part
├─nvme0n1p3        240G part                 [Windows]
├─nvme0n1p4 + p5   531G part
│ ├─vg0-lvarch      50G lvm                  [Old system, ignore]
│ ├─vg0-lvswap      19G lvm
│ │ └─swap          19G crypt [SWAP]
│ ├─vg0-lvhome     400G lvm
│ │ └─home         400G crypt /home
│ └─vg0-lvroot      72G lvm
│   └─root          72G crypt /nix/store
│                             /
└─nvme0n1p6       1000M part                 [Windows Recovery]

I’m pretty sure Silverblue requires both /boot/efi and /boot to exist, as written in their documentation.

You also might want to check the Bazzite guide for dual-booting:

1 Like