Boot Order not persistent : UEFI variables not getting stored in NVRAM disk ?


Hi EDK2 community,

I have a used case, where I am trying to change boot order for multiboot (multiple OS) systems and for singleboot systems. I was able to change the boot order and set auto boot time-out only if there is EFI partition available in a disk. The boot order is not persisted i.e. on a VM reboot, the boot order sets back to default in absence of disk or EFI partition in disk. Even though there is a NVRAM disk available, I am not able to change the boot order in UEFI firmware settings. So, I have a couple of doubts regarding this, so decided to start with a discussion.
1. Is it necessary to have EFI partition in disks to store UEFI variables like boot order / auto boot time-out and others ?
2. Does the workflow of OVMF demands to store the UEFI variables only into EFI partition and not into NVRAM disk ?