Problems with automatic boot on fresh installation HP 15S

Hi

tl;dr -I have a nearly successful installation of QubeS-OS 4.1 on a HP 15s laptop. However I have an issue with EFI/Grub which I don’t know how to resolve and which makes the booting process a bit convoluted. Basically. after installation I can boot the system manually if I go to my laptop boot menu and manually navigate to an EFI file. Looks like something is wrong either with my EFI or grub yet I can’t figure out what it is. Any help will be greatly appreciated.

Target is a HP Laptop 15s with Amd Ryzen7 CPU. There’s no legacy boot option available. Secure boot is disabled.
Here’s what I’ve done during the installation:

1st installation on entire disk and automatic partitioning with LUKS encryption. The installer doesn’t complain about anything, after restart I get “No OS installed”. I reinstalled again in the ‘troubleshooting’ mode and before the restart I jumped into shell, mounted the boot and EFI partitions and copied efi files:
cp -r /mnt/sysroot/boot/efi/EFI/qubes/. /mnt/sysroot/boot/efi/EFI/BOOT

Then I restarted the system and was greeted with ‘no operating system installed’ again.
So I booted qubes USB wih rescue mode, provided luks passphrase and then it said ‘no linux installation found’. I hit enter and jump to shell.
I mounted /dev/nvme0n1p2 as /mnt/boot and /dev/nvme0n1p2 as /mnt/boot/efi and then then I run the following commands:

[root@dom0 ~]# efibootmgr -v -c -u -L QubeOS -l /EFI/qubes/grubx64.efi -d /dev/nvme0n1 -p 1
Timeout: 0 seconds
BootOrder: 0000
Boot0000* QubeOS	HD(1,GPT,8fd96567-a6c5-4dbf-923c-3ec4b59d161f,0x800,0x12c000)/File(\EFI\qubes\grubx64.efi)
[root@dom0 ~]# efibootmgr -v
Timeout: 0 seconds
BootOrder: 0000
Boot0000* QubeOS	HD(1,GPT,8fd96567-a6c5-4dbf-923c-3ec4b59d161f,0x800,0x12c000)/File(\EFI\qubes\grubx64.efi)
[root@dom0 ~]#

restarted and still ‘no operating system found’. Restarted the laptop again and went into laptop boot menu. All of a sudden I have new option available (and the only one) ‘boot from EFI file’. Once I hit enter I could navigate to /EFI/BOOT/grubx64.efi and booted system!

However, after I boot the system and run efibootmgr from the dom0 shell, I get nothing :expressionless:

[root@dom0 ~]# efibootmgr -v
Timeout: 0 seconds
No BootOrder is set; firmware will attempt recovery

I have the same files in /boot/EFI/BOOT and /boot/EFI/qubes. It doesn’t matter which grubx64.efi file I choose, they both boot the system just fine.

So I can boot the system but each time I need to go to laptop boot menu, choose ‘boot from efi file’ navigate to grubx64.efi and hit enter. I’m then presented with grub menu and I can boot the system.
There’s no option in the bios menu to enable legacy mode either.

I there a way to fix this so that the system would boot ‘by itself’?

Thanks in advance!

After copying this, you should add uefi entry point to that new folder.

do this again, and i believe /mnt/boot/efi should be /dev/nvme0n1p1.

then rename grubx64.efi to bootx64.efi and grub.cfg to bootx64.cfg in /mnt/efi/EFI/BOOT folder.

lastly run create uefi entry :
efibootmgr -v -c -u -L "Qubes" -l /EFI/boot/bootx64.efi -d /dev/nvme0n1 -p 1

It worked! Thanks a lot!
For the record below is what I’ve done, maybe it will help someone else with similar problem.

Since I was able to boot the system manually off the hard drive, I’ve done the following from inside the Qubes dom0 terminal:

  1. inside /boot/efi/EFI/BOOT I renamed grubx64.efi to bootx64.efi and grub.cfg to bootx64.cfg

  2. run:
    efibootmgr -v -c -u -L "Qubes" -l /EFI/boot/bootx64.efi -d /dev/nvme0n1 -p 1

Not all laptop has this fallback feature so they can manually boot efi file and proceed to dom0, manually change in qubes rescue / other os is required.