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


het.gala@...
 

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 ?


Pedro Falcato
 

Hi,

(cc devel)
NVRAM has nothing to do with disks or EFI partitions.
Are you using OVMF? How are you using it? OVMF itself emulates variable
storage if you run it in the wrong way.

On Tue, Oct 18, 2022 at 4:00 PM <het.gala@...> wrote:

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 ?





--
Pedro Falcato


Pedro Falcato
 

PS: With "emulates" I mean that it uses RAM to store variables. This
naturally ends up getting cleared on a reboot, which is possibly what
you're seeing.

On Tue, Oct 18, 2022 at 10:16 PM Pedro Falcato <pedro.falcato@...>
wrote:

Hi,

(cc devel)
NVRAM has nothing to do with disks or EFI partitions.
Are you using OVMF? How are you using it? OVMF itself emulates variable
storage if you run it in the wrong way.

On Tue, Oct 18, 2022 at 4:00 PM <het.gala@...> wrote:

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 ?





--
Pedro Falcato

--
Pedro Falcato