No boot entries after update

That should be it. If it is halfway configured…I was just going to suggest the opposite approach to ditch systemd boot and return to normal/default presets for mkinitcpio but if you change the hooks to pure systemd, ergo fix it, it might also work.
Because the folder with the machineid does exist, although mkinitcpio says it doesn’t.

Also worth noting:

Does not say anything for changing the presets or the special machineid folder. So i wonder if it will work if you reset the changes to preset (and the path to the kernel points to the manjaro filesystem).
I mean, can systemdboot work both ways or does it require one or another?

What is the content of e.g. the 7.0.3-1-MANJARO file?

And possibly the content of efi/loader/loader.conf file?

I am just speculating because I have never had to troubleshoot a systemd-boot like this before.

systemd-boot is fairly simple so I am thinking that perhaps it cannot locate the entries because they are not placed in the /efi/loader/entries structure and they do not have the .conf extension.

@davodego do you remember ever running bootctl install? Perhaps check grep "bootctl" ~/.zhistory

I’ve looked through this thread some more, and you have a loader folder which is also created when you implement systemd-boot and by extension Boot Loader Specification (BLS). Ordinarily bootctl install will set this up which seems to be what has occurred on your machine. Unfortunately, that is only the first step in getting systemd-boot to function. I’ve never done this myself but from what I can tell Manjaro is setup slightly different from Arch and some extra manual configuration is required. I suggest you’ll need to have a read of:

And perhaps this reddit thread on changing a Manjaro setup to systemd-boot might help.

https://www.reddit.com/r/ManjaroLinux/comments/1pliv4q/how_to_install_and_use_systemdboot_instead_of/

Alternatively, you could workout when bootctl was run, and restore your system from prior to that which should (hopefully) put you back to the default GRUB setup.

1 Like

Actually, I tend to agree on that. For example, /boot/efi/EFI/ just seems unnecessary to me.

2 Likes

The reddit tutorial was really good. It shedded some light how this works. Note the asterisk about the uuids.

@soundofthunder
Here are the contents of /boot:

[manjaro /]# ls /boot/efi
24ba410fa0004699934f8288629b0df4  EFI  loader
[manjaro /]# ls /boot/efi/efi
BOOT  HP  Linux  systemd
[manjaro /]# ls /boot/efi/efi/boot
BOOTX64.EFI
[manjaro /]# ls /boot/efi/efi/manjaro
ls: cannot access '/boot/efi/efi/manjaro': No such file or directory
[manjaro /]# ls /boot/efi/efi/linux  
[manjaro /]# 

“linux” Folder is empty.

No, sorry. I deleted udev in mkinitcpio.conf HOOKS and added systemd but the error persists. I found a pacnew file in /etc and used this for minitcpio -P, but the error is still the same.

Mod edit: Consecutive posts merged. Please use the Edit feature when adding more info.

You have a strange construct - that path makes nonsense to the systemd-loader.

I don’t know how you ended there - but it is clearly wrong.

As I recall the instructions on the Arch Wiki - systemd-boot expects the $esp to be mounted at either /boot or /efi

All the following assumes you have mounted the root at /mnt and the $esp at /mnt/efi and that you have not entered chroot

I would do the following

Add a label to the $esp (EFI System Partition)

fatlabel /dev/nvme0n1p1

Then modify the /mnt/etc/fstab for the $esp

LABEL=EFI   /efi  vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2

Remove the efi symlink in /mnt/boot

sudo rm /mnt/boot/efi

Remove the machineid folder from /mnt/efi

sudo rm -rf /mnt/efi/24ba410fa0004699934f8288629b0df4

Remove all files in your /mnt/etc/mkinitcpio.d folder

sudo rm /mnt/etc/mkinitcpio.d/*

Enter chroot

sudo manjaro-chroot /mnt /bin/bash

Then reinstall the kernels and the package systemd-boot-manager to automate adding entries for the kernel(s)

pacman -Syu linux618 linux670 systemd-boot-manager

You should now have some .conf files in /efi/loader/entries

Please check

1 Like

Darn, it didn’t work out. The installation isn’t completing successfully. Your instructions looked so good. An error message appears at the end, and there are no .conf files in entries:

(...skiped)
==> Initcpio image generation successful
Running in a chroot, skipping cmdline generation
(5/9) Installing mkinitcpio presets...
Not booted with EFI or running in a container, skipping EFI variable modifications.
:: Generating /etc/mkinitcpio.d/linux618.preset
Not booted with EFI or running in a container, skipping EFI variable modifications.
:: Generating /etc/mkinitcpio.d/linux70.preset
(6/9) Refreshing PackageKit...
Error connecting: Could not connect: No such file or directory
error: command failed to execute correctly
(7/9) Updating icon theme caches...
(8/9) Updating systemd-boot entries
Not booted with EFI or running in a container, skipping EFI variable modifications.
Error: There are no boot loader entries after entry generation
error: command failed to execute correctly
(9/9) Updating the desktop file MIME type cache...
[manjaro /]# ls /efi/loader/entries
[manjaro /]# 

This would indicate that you have booted the system in BIOS/MBR mode.

1 Like

And systemd-boot is efi only by the way. So obviously, you had to make sure your firmware is set to efi only, and not to csm, legacy, compatibility mode or whatever names and mixes there are.

1 Like

Elevated privileges are required to successfully ask for a directory from root; so, presuming the directory exists:

sudo ls /boot/efi/efi/manjaro
  • manjaro is the default directory created to hold the Grub UEFI stub – any other variation infers a non-standard Manjaro installation.

Please provide the output of;

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

and your system information:


[Mini-HowTo] Provide System Information

Basic details provided by *-fetch type apps might give enough information for someone wishing to buy a computer, however, for Support purposes it’s best to ask your system directly.

Output of the inxi command will generate more useful and detailed information for those who may wish to help:


Suggested inxi command (use either):

inxi -zv8 (short-form)
inxi --filter --verbosity=8 (long-form)

Command output should be presented as pre-formatted text in accordance with forum guidelines. :eyes:


Running inxi within a chroot environment

  • Add --color=0 to the long-form command, or…
  • Change the short-form command to inxi -zv8c0

Your privacy is respected


He is already root judging by the prompt. But the manjaro folder is either not there (because he is not using grub) or the ESP is not mounted or he booted in legacy.

@OP: Is there actually any reason not to use a standart, default config with grub, besides experimenting? And which guide did you use to set it up. Because there is a lot of manual work to set it up, according to the tutorial on reddit. Or did you use other guide?

1 Like

No, systemd-boot will try to locate the ESP at /efi, /boot, and /boot/efi when running bootctl install.

Or, from the Arch wiki on systemd-boot

bootctl refrains from operating on UEFI variables/boot entries when running in pid namespace, which is the case for arch-chroot(8)'s non-systemd mode. To create the boot entry in the chroot environment, use arch-chroot -S instead.

OPTIONS

-S: Run in systemd mode. This will spawn a transient systemd service via systemd-run(1) and delegates namespace/chroot management to the service manager.

Standard chroot doesn’t have the -S option, and whist I can find a few mentions of manjaro-chroot it doesn’t seem to be installed by default or have an -S mode.

But, AFAIK we haven’t yet established what caused all this in the first place - so do we actually know what we’re fixing? It is highly unlikely that the update caused this on its own or at all. From the info provided it appears as though the system was partially converted to systemd-boot (this is different to systemd hook in /etc/mkinitcpio.conf), which is generally done either by running bootctl install or manually making the changes. OP has not confirmed or denied this and as far as I can tell there is nothing in the update that would trigger a migration to systemd-boot (otherwise surely there would be a bunch of similar questions in the forum) - but if it has been setup (correctly) the system will manage it.

Hence my comment:

It seems to me that systemd-boot isn’t recommended or even documented on Manjaro. The wiki entry is woefully inadequate (systemd-boot - Manjaro) and the tools Arch employs (arch-chroot) to enable recovery and setup of systemd-boot from other boot media I presume are untested on Manjaro (although available via arch-install-scripts in extra).

There are enough anomalies in OP’s information that don’t match either a standard GRUB or systemd-boot setup that trying to untangle all this manually may be a fruitless exercise.

Edit: In case you decide to keep systemd-boot and get it running I have just found this old post (Replacing grub with systemd-boot (UEFI system)) which links to a systemd-boot manager utility for Manjaro. I’m not sure if it would still work as there doesn’t seem to be any activity but you’ll likely need something like this to automatically update the profile files each time the kernel updates or changes.

1 Like

Pretty sure we’re untangling at least 2 different problems here. Cause systemdboot cannot cause mkinitcpio to be unable to read somewhere.

I still think it will be extremely helpful if the OP describes how exactly he (tried to) convert.

2 Likes

This is an improvement and good to know, there was a time when bootctl install would not consider /boot/efi. Perhaps this improvement has been made to enable a smoother transition from grub to systemd-boot - no matter what - it is an improvement I wasn’t aware of.

Thank you for enlightening me.

@davodego
In any case - as it has been established

that your system is not always booted in EFI mode - and the fact that systemd-boot is an UEFI loader mechanism - you MUST ensure your system does not boot in BIOS/MBR mode.

If you fail to do that - you will continue to struggle with the system.

2 Likes

This hasn’t been established, only theorised based on the error (see my last comment above, and this bug report on systemd github). TLDR this error can be generated when in UEFI mode.

@davodego can you please confirm whether you’re in UEFI mode with the following:

ls -d /sys/firmware/efi - if it returns the folder name you’re using UEFI. If it returns cannot access or similar you are using BIOS.

I do think that several occurrences of this specific error message establish exactly that

1 Like

Sorry, I’ve been really busy at work and couldn’t reply. Thanks to everyone for participating. Since so many similar questions have been asked, I’d like to summarize the answers in a single post to make things clearer.

@linux-aarhus
No, my system has been booting in UEFI mode for years. I suspect the error message is related to chroot. I just double-checked the BIOS to be sure; Legacy Mode is disabled.

[manjaro etc]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
UEFI
[manjaro etc]#

@soundofthunder
Here are the system informations:

[manjaro etc]# inxi -zv8
System:
  Kernel: 6.18.18-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.2.1 clocksource: tsc
    avail: acpi_pm parameters: BOOT_IMAGE=/boot/vmlinuz-x86_64 lang=de_DE keytable=de
    tz=Europe/Berlin misobasedir=manjaro misolabel=MANJARO_KDE_2604 quiet systemd.show_status=1
    splash driver=free nouveau.modeset=1 i915.modeset=1 radeon.modeset=1
  Console: pty pts/3 Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop System: HP product: HP Pavilion All-in-One 27-xa0xxx v: N/A serial: <filter>
    Chassis: type: 13 serial: <filter>
  Mobo: HP model: 84EE v: 1100 serial: <filter> part-nu: 5CQ02EA#ABD
    uuid: b320fe03-e34b-6fb4-0393-37465df47598 Firmware: UEFI vendor: AMI v: F.34 date: 12/07/2023
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M275/M280 serial: <filter>
    charge: normal status: discharging
Memory:
  System RAM: total: 16 GiB available: 15.4 GiB used: 3.52 GiB (22.9%) igpu: 64 MiB
  Array-1: capacity: 32 GiB slots: 2 modules: 2 EC: None max-module-size: 16 GiB note: est.
  Device-1: DIMM0 type: DDR4 detail: synchronous size: 8 GiB speed: 2666 MT/s volts: curr: 1.2
    min: 1.2 max: 1.2 width (bits): data: 64 total: 64 manufacturer: Samsung
    part-no: M471A1K43CB1-CTD serial: <filter>
  Device-2: DIMM1 type: DDR4 detail: synchronous size: 8 GiB speed: 2666 MT/s volts: curr: 1.2
    min: 1.2 max: 1.2 width (bits): data: 64 total: 64 manufacturer: Micron
    part-no: 8ATF1G64HZ-2G6E1 serial: <filter>
PCI Slots:
  Slot: 0 type: PCIe status: in use info: J6B2 length: long volts: 3.3 bus-ID: 00:01.0
  Slot: 1 type: PCIe status: in use info: J6B1 length: short volts: 3.3 bus-ID: 00:1c.3
CPU:
  Info: model: Intel Core i5-8400T socket: LGA1151 (U3E1) note: check bits: 64 type: MCP
    arch: Coffee Lake gen: core 8 level: v3 note: check built: 2018 process: Intel 14nm family: 6
    model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xFA
  Topology: cpus: 1x dies: 1 clusters: 6 cores: 6 smt: <unsupported> cache: L1: 384 KiB
    desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB L3: 9 MiB desc: 1x9 MiB
  Speed (MHz): avg: 800 min/max: 800/3300 base/boost: 1700/1700 scaling: driver: intel_pstate
    governor: powersave volts: 0.7 V ext-clock: 100 MHz cores: 1: 800 2: 800 3: 800 4: 800 5: 800
    6: 800 bogomips: 20399
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_capabilities arch_perfmon art
    avx avx2 bmi1 bmi2 bts clflush clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de
    ds_cpl dtes64 dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu fsgsbase
    fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid lahf_lm lm mca
    mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq
    pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep
    smap smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust
    tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology
    xtpr
  Vulnerabilities:
  Type: gather_data_sampling mitigation: Microcode
  Type: ghostwrite status: Not affected
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: KVM: Split huge pages
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT disabled
  Type: old_microcode status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: disabled; RSB filling;
    PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds mitigation: Microcode
  Type: tsa status: Not affected
  Type: tsx_async_abort status: Not affected
  Type: vmscape mitigation: IBPB before exit to userspace
Graphics:
  Device-1: Intel CoffeeLake-S GT2 [UHD Graphics 630] vendor: Hewlett-Packard driver: i915
    v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: eDP-1 empty: HDMI-A-1
    bus-ID: 00:02.0 chip-ID: 8086:3e92 class-ID: 0300
  Device-2: Quanta HP 2.0MP High Definition Webcam driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-5:5 chip-ID: 0408:5380 class-ID: 0e02
    serial: <filter>
  Display: server: X.org v: 1.21.1.22 with: Xwayland v: 24.1.11 compositor: kwin_wayland driver:
    X: loaded: intel unloaded: modesetting dri: i965 gpu: i915 tty: 110x26
  Monitor-1: eDP-1 model: HP ALL-in-One serial: <filter> built: 2018 res: 1920x1080 dpi: 82
    gamma: 1.2 chroma: red: x: 0.671 y: 0.322 green: x: 0.220 y: 0.671 blue: x: 0.145 y: 0.075
    white: x: 0.314 y: 0.329 size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9
    modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris device: 1 drv: swrast gbm:
    drv: iris surfaceless: drv: iris inactive: wayland,x11
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 26.0.6-arch1.1 note: console (EGL sourced)
    renderer: Mesa Intel UHD Graphics 630 (CFL GT2), llvmpipe (LLVM 22.1.3 256 bits)
  API: Vulkan v: 1.4.341 layers: 8 device: 0 type: integrated-gpu name: Intel UHD Graphics 630
    (CFL GT2) driver: mesa intel v: 26.0.6-arch1.1 device-ID: 8086:3e92 surfaces: N/A device: 1
    type: cpu name: llvmpipe (LLVM 22.1.3 256 bits) driver: mesa llvmpipe v: 26.0.6-arch1.1 (LLVM
    22.1.3) device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo de: kscreen-console,kscreen-doctor
    wl: wayland-info x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
    bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
  API: ALSA v: k6.18.18-1-MANJARO status: kernel-api with: aoss type: oss-emulator
    tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.6.4 status: n/a (root, process) with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet vendor: Hewlett-Packard
    driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 4000 bus-ID: 01:00.0
    chip-ID: 10ec:8168 class-ID: 0200
  IF: enp1s0 state: down mac: <filter>
  Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter vendor: Hewlett-Packard
    driver: rtw88_8822be v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 02:00.0
    chip-ID: 10ec:b822 class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  WAN IP: <filter>
Bluetooth:
  Device-1: Realtek Bluetooth 4.2 Adapter driver: btusb v: 0.8 type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-7:7 chip-ID: 0bda:b00b class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 711.74 GiB used: 85.21 GiB (12.0%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: PC SN520 SDAPNUW-256G-1006
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 15.8 Gb/s lanes: 2 tech: SSD
    serial: <filter> fw-rev: 20120006 temp: 54.9 C scheme: GPT
  SMART: yes health: PASSED on: 17d 6h cycles: 5,996 read-units: 16,399,958 [8.39 TB]
    written-units: 9,975,448 [5.10 TB]
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD Blue SA510 2.5 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B sata: 3.2 speed: 6.0 Gb/s tech: SSD
    serial: <filter> fw-rev: 6100 temp: 28 C scheme: GPT
  SMART: yes state: enabled health: PASSED on: 100 hrs cycles: 1388 read: 1 MiB written: 996 KiB
  ID-3: /dev/sdb maj-min: 8:16 vendor: SanDisk model: Cruzer size: 7.5 GiB block-size:
    physical: 512 B logical: 512 B type: USB rev: 2.0 spd: 480 Mb/s lanes: 1 mode: 2.0 tech: N/A
    serial: <filter> fw-rev: 8.01 scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 226.14 GiB size: 222.03 GiB (98.18%) used: 84.73 GiB (38.2%) fs: ext4
    block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A
    uuid: ba3612ad-1d9b-4aa9-8d9d-30c289d58a3d
  ID-2: /efi raw-size: 4.02 GiB size: 4.01 GiB (99.80%) used: 494.2 MiB (12.0%) fs: vfat
    block-size: 512 B dev: /dev/nvme0n1p1 maj-min: 259:1 label: EFI uuid: E9BE-C97E
  ID-3: /home raw-size: 465.76 GiB size: N/A (hidden?) used: N/A (hidden?) fs: ext4
    dev: /dev/sda1 maj-min: 8:1 label: home uuid: 4529cf83-37cd-414e-af87-1b8789a35877
Swap:
  Alert: No swap data was found.
Unmounted:
  ID-1: /dev/nvme0n1p3 maj-min: 259:3 size: 8.31 GiB fs: swap label: N/A
    uuid: f398d1b0-eda5-485d-8ae7-3d76db696a83
  ID-2: /dev/sdb1 maj-min: 8:17 size: 5.28 GiB fs: iso9660
  ID-3: /dev/sdb2 maj-min: 8:18 size: 4 MiB fs: vfat label: MISO_EFI uuid: 33B4-40D1
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 16 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s)
    lanes: 1 mode: 2.0 chip-ID: 1d6b:0002 class-ID: 0900
  Hub-2: 1-2:2 info: Genesys Logic Hub ports: 4 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 100mA chip-ID: 05e3:0608 class-ID: 0900
  Device-1: 1-2.3:4 info: Logitech Nano Receiver type: mouse,HID
    driver: logitech-djreceiver,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1
    mode: 1.1 power: 98mA chip-ID: 046d:c52f class-ID: 0300
  Device-2: 1-2.4:6 info: Areson Corp 2.4G Wireless Receiver type: keyboard,mouse
    driver: hid-generic,usbhid interfaces: 2 rev: 1.1 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1
    power: 100mA chip-ID: 25a7:fa70 class-ID: 0301
  Device-3: 1-3:3 info: SanDisk Cruzer Micro U3 type: mass storage driver: usb-storage
    interfaces: 1 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 200mA
    chip-ID: 0781:5406 class-ID: 0806 serial: <filter>
  Device-4: 1-5:5 info: Quanta HP 2.0MP High Definition Webcam type: video driver: uvcvideo
    interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 500mA
    chip-ID: 0408:5380 class-ID: 0e02 serial: <filter>
  Device-5: 1-7:7 info: Realtek Bluetooth 4.2 Adapter type: bluetooth driver: btusb
    interfaces: 2 rev: 1.1 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 500mA
    chip-ID: 0bda:b00b class-ID: e001 serial: <filter>
  Hub-3: 2-0:1 info: super-speed hub ports: 8 rev: 3.1 speed: 10 Gb/s (1.16 GiB/s) lanes: 1
    mode: 3.2 gen-2x1 chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 39.0 C pch: 54.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Repos:
  Packages: 2874 pm: dpkg pkgs: 0 pm: pacman pkgs: 2830 libs: 661 tools: pamac,paru,yay pm: rpm
    pkgs: 0 pm: flatpak pkgs: 44
  Active pacman repo servers in: /etc/pacman.d/chaotic-mirrorlist
    1: https://cdn-mirror.chaotic.cx/$repo/$arch
    2: https://geo-mirror.chaotic.cx/$repo/$arch
    3: https://de-3-mirror.chaotic.cx/$repo/$arch
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: https://mirror.alpix.eu/manjaro/stable/$repo/$arch
    2: https://ftp.gwdg.de/pub/linux/manjaro/stable/$repo/$arch
Processes:
  CPU top: 5 of 258
  1: cpu: 14.3% command: firefox pid: 3429 mem: 324.1 MiB (2.0%)
  2: cpu: 13.4% command: firefox pid: 2807 mem: 673.9 MiB (4.2%)
  3: cpu: 10.6% command: firefox pid: 3052 mem: 122.4 MiB (0.7%)
  4: cpu: 5.0% command: kwin_wayland pid: 1407 mem: 221.6 MiB (1.4%)
  5: cpu: 4.2% command: firefox pid: 3698 mem: 314.7 MiB (1.9%)
  Memory top: 5 of 258
  1: mem: 673.9 MiB (4.2%) command: firefox pid: 2807 cpu: 13.4%
  2: mem: 375.4 MiB (2.3%) command: plasmashell pid: 1572 cpu: 0.4%
  3: mem: 328.5 MiB (2.0%) command: firefox pid: 3317 cpu: 3.2%
  4: mem: 324.1 MiB (2.0%) command: firefox pid: 3429 cpu: 14.3%
  5: mem: 314.7 MiB (1.9%) command: firefox pid: 3698 cpu: 4.2%
Info:
  Processes: 258 Power: uptime: 32m states: freeze,mem,disk suspend: deep avail: s2idle wakeups: 0
    hibernate: platform avail: shutdown, reboot, suspend, test_resume image: 6.07 GiB
    services: org_kde_powerdevil, power-profiles-daemon, upowerd Init: systemd v: 260
    default: graphical tool: systemctl
  Compilers: clang: 22.1.3 gcc: 15.2.1 Shell: Bash v: 5.3.9 running-in: pty pts/3 inxi: 3.3.40

@teo
I stumbled across it about two years ago, thought it looked interesting, it fit my setup, so I gave it a try. I followed the instructions—I don’t remember which ones—and it worked. The computer boots up much faster. It doesn’t help me to have to justify a decision I made years ago—whether that’s necessary or not. It worked for years! Until the update four days ago, when kernel 6.9 was removed and the installation of 7.0 caused all entries in the bootloader to disappear…

The BIOS accesses UEFI and displays the boot loader, but it no longer contains any entries—only the “Reboot into Firmware Interface” option is there. Since I followed @aarhus’s instructions, I now have two Linux entries in the firmware interface: hd2,gpt1 /efi/systemd/systemd-bootx64.efi and hd2,gpt1 /efi/boot/bootx64.efi. However, neither of them has any boot entries.


While troubleshooting, I tried to create the entries using bootctl install/update/remove and sdboot-manage gen/update. The commands run without creating any entries.
I reinstalled the kernel again. Once again, I received the following error message:

Not booted with EFI or running in a container, skipping EFI variable modifications.
Couldn't find EFI system partition. It is recommended to mount it to /boot/ or /efi/.
Alternatively, use --esp-path= to specify path to mount point.
Error: /loader/loader.conf does not exist

So I entered the path manually

bootctl --esp-path=/efi --boot-path=/efi install

Then I get this error message

/dev/nvme0n1p1: Partition has wrong PART_ENTRY_TYPE=c12a7328-f81f-11d2-ba4b-00a0c93ec93b for XBOOTLDR partition.

Where does bootctl get the path from? Then I could use the correct UUID.

It reads the partition table to find a partition of a specific type - designated with a reserved UUID - and there is no matching partition.

bootctl will use the first partition with a partition type uid of c12a7328-f81f-11d2-ba4b-00a0c93ec93b

See http://www.uefi.org/specifications and UAPI.2 Discoverable Partitions Specification | UAPI Group Specifications

It would seem that you have been experimenting - possibly from systemd-boot - ArchWiki but the use of XBOOTLDR is not needed unless you are having hardware related constraints. XBOOTLDR is not a requirement for normal Manjaro Linux system.

:candle: this shines a little light to your issue.

It appears that your partition has the wrong partition type uuid.

To set the partition to the correct partition type you can do this in your rescue environment.

gdisk and other partition tools uses the short form of the EFI partition type ef00.

This command will assign the typecode ef00 to the first partition on the nvme0n1 device - thus it should fix your issue. To avoid kernel messages about using the old partition info - execute the command on the unmounted filesystem.

sgdisk --typecode=1:ef00 /dev/nvme0n1

Example from my workstation

 $ lsblk -o name,parttype,parttypename,partuuid
NAME        PARTTYPE                             PARTTYPENAME        PARTUUID                                                            
nvme0n1                                                              
├─nvme0n1p1 c12a7328-f81f-11d2-ba4b-00a0c93ec93b EFI System          8edbb59f-7f31-478d-8335-4c73eadadbcd
├─nvme0n1p2 4f68bce3-e8cd-4db1-96e7-fbcaf984b709 Linux root (x86-64) de0c9749-c372-43f4-a952-f4d3e0d6eaf4
└─nvme0n1p3 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f Linux swap          729acdc6-4cc2-4f95-9637-823721c45caf

This is efi stubs, that is they are executable - and their presence is correct - but your partition information is wrong and therefore the entries has not been created.

They will/must be created in the /efi/loader/entries path