You are not logged in.

#1 2022-12-22 14:15:19

egils
Member
Registered: 2018-04-01
Posts: 10

Windows dualUEFI boot with systemd-boot does not show arch linux entry

I have a Lenovo x280
I'm new to UEFI
I have a /efi on a partition
I have an extended /boot partition (with linux and initramfs and the loader entry)
I get the systemd-book menu and Windows boots just fine.

I have / on an encrypted partition using LUKS.

I read that crypttab.initramfs has to be used for systemd-boot to pick up the encrypted root.

NAME        FSTYPE      FSVER            LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1                                                                                                  
├─nvme0n1p1 vfat        FAT32                        86AF-A39D                                           
├─nvme0n1p2                                                                                              
├─nvme0n1p3 ntfs                                     9240B06540B05229                                    
├─nvme0n1p4 ntfs                                     3A4A1CFC4A1CB69B                                    
├─nvme0n1p5 ext4        1.0                          8d6b0db5-6353-43a8-a833-d23a87cd603d                
└─nvme0n1p6 crypto_LUKS 2                            f945d9b1-4d29-4aa9-89b4-2a0b4b671122                
  └─arch    ext4        1.0                          bc8733c7-9a0d-47c6-865f-51a59f88a8ac  171.4G     3% /mnt
# cat /etc/crypttab.initramfs

# Configuration for encrypted block devices.
# See crypttab(5) for details.

# NOTE: Do not list your root (/) partition here, it must be set up
#       beforehand by the initramfs (/etc/mkinitcpio.conf).

# <name>       <device>                                     <password>              <options>
# home         UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37    /etc/mypassword1
# data1        /dev/sda3                                    /etc/mypassword2
# data2        /dev/sda5                                    /etc/cryptfs.key
# swap         /dev/sdx4                                    /dev/urandom            swap,cipher=aes-cbc-essiv:sha256,size=256
# vol          /dev/sdb7                                    none

arch	UUID=f945d9b1-4d29-4aa9-89b4-2a0b4b671122
# cat /etc/fstab

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/arch
UUID=bc8733c7-9a0d-47c6-865f-51a59f88a8ac	/         	ext4      	rw,relatime	0 1

# /dev/nvme0n1p5
UUID=8d6b0db5-6353-43a8-a833-d23a87cd603d	/boot     	ext4      	rw,relatime	0 2

/swapfile           	none      	swap      	defaults  	0 0
# bootctl
System:
      Firmware: n/a (n/a)
 Firmware Arch: x64
   Secure Boot: disabled (disabled)
  TPM2 Support: yes
  Boot into FW: supported

Current Boot Loader:
      Product: n/a
     Features: ✗ Boot counting
               ✗ Menu timeout control
               ✗ One-shot menu timeout control
               ✗ Default entry control
               ✗ One-shot entry control
               ✗ Support for XBOOTLDR partition
               ✗ Support for passing random seed to OS
               ✗ Load drop-in drivers
               ✗ Support Type #1 sort-key field
               ✗ Support @saved pseudo-entry
               ✗ Support Type #1 devicetree field
               ✗ Boot loader sets ESP information
          ESP: n/a
         File: └─n/a

Random Seed:
 Passed to OS: no
 System Token: set
       Exists: yes

Available Boot Loaders on ESP:
          ESP: /efi (/dev/disk/by-partuuid/fe43f5fa-3c67-4adc-b3d3-acb5d2910f53)
         File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 252.4-1-arch)
               └─/EFI/BOOT/bootx64.efi (systemd-boot 252.4-1-arch)

Boot Loaders Listed in EFI Variables:
        Title: Linux Boot Manager
           ID: 0x0001
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/fe43f5fa-3c67-4adc-b3d3-acb5d2910f53
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: Windows Boot Manager
           ID: 0x0000
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/fe43f5fa-3c67-4adc-b3d3-acb5d2910f53
         File: └─/EFI/Microsoft/Boot/bootmgfw.efi

Boot Loader Entries:
        $BOOT: /boot (/dev/disk/by-partuuid/4d946c7f-2f2c-4113-895e-f1440d085470)

Default Boot Loader Entry:
         type: Boot Loader Specification Type #1 (.conf)
        title: Arch Linux
           id: arch.conf
       source: /boot/loader/entries/arch.conf
        linux: /vmlinuz-linux-lts
       initrd: /initramfs-linux-lts.img
      options: root=UUID=bc8733c7-9a0d-47c6-865f-51a59f88a8ac

Any ideas why it does not work?
Can I test systemd-boot somehow or see an output somewhere, so I can debug further?

Last edited by egils (2022-12-22 14:16:35)

Offline

#2 2022-12-22 14:23:25

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: Windows dualUEFI boot with systemd-boot does not show arch linux entry

Did you install the ext4 efi driver into your ESP? You can install efifs and then  put /usr/lib/efifs-x64/ext2_x64.efi (assuming this can read ext4 as well...) in /efi/EFI/systemd/drivers/  so it can be read.

Last edited by V1del (2022-12-22 14:25:38)

Offline

#3 2022-12-22 18:06:42

egils
Member
Registered: 2018-04-01
Posts: 10

Re: Windows dualUEFI boot with systemd-boot does not show arch linux entry

V1del wrote:

Did you install the ext4 efi driver into your ESP? You can install efifs and then  put /usr/lib/efifs-x64/ext2_x64.efi (assuming this can read ext4 as well...) in /efi/EFI/systemd/drivers/  so it can be read.

Thanks for the pointer. smile

I reformated to FAT and now the entry shows up correctly!

Offline

Board footer

Powered by FluxBB