virt-manager uses BIOS as the default option for firmware. There is an option to change this to UEFI just before installation, after the volume is set up.


However, after installation, the dropdown menu for changing the firmware disappears.


The installed system boots only with UEFI and not BIOS. The installation was a cumbersome procedure and I would like to avoid doing it all over again if possible.

Is there a way to convert the firmware to UEFI while keeping the contents of the system (disk) intact?


You must edit your vm xml using virsh and add in the <os /> section two items: <flash /> (ro efi ) and <nvram /> (rw environment).

You can read another preconfigured file for uefi in order to find more details about this two flags.


I just found out that you can move the disk (the file with the qcow2 extension) from one VM to another. So simply create another VM and add this disk. You can then do whatever you need to before the installation.


It seems you figured out your problem, but to answer: you can't do this via the UI because for an existing installed VM you can't usually switch from BIOS to UEFI and have things 'just work'. If you installed Fedora for example, the way boot is first configured is dependent on whether it was installed on BIOS or UEFI, so changing that setting at the VM level will likely mean the VM is unbootable.

  • That does make sense, but it just seems silly in this case.
    – nomad
    Oct 6 '20 at 14:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.