I don't really know which part of the stack is causing this problem, so sorry if it turns out to be completely unrelated to linux
I'm trying to use EFISTUB to boot, and every time I add the boot entries with efibootmgr they then show up properly when I run efibootmgr -u, but as soon as I power cycle the computer they are gone. I thought this was as simple as the firmware wiping NVRAM on boot for some reason, but I noticed in bcfg that there are traces of them in a different entry. The attached image is the entry for Windows Boot Manager, and you can see remnants of linux kernel args near the end. The only other bootable device on the system is GRUB, so those kernel parameters could only be from the EFISTUB entries as far as I understand
I did manage to get the new boot entries to show up once, and I have no idea why it worked when it did. I was preparing to update the motherboard firmware and they suddenly all showed up, even though those entries were added multiple power cycles ago by that point. I had to remove those entries to change a kernel parameter and I haven't been able to get them to show again since.
So is this a problem I can actually fix, or is the firmware just bad? I have an Asrock B550 phantom gaming 4 motherboard, if that info's of any use.