Unable to boot an import image of a gen 2 windows vm from azure on my open nebula

Hi Team,

I’m currently testing Windows VM migration from Azure to OpenNebula. While I’ve successfully migrated Generation 1 VMs, I’m encountering issues with Generation 2.

For the Gen 2 VM, I followed the standard preparation steps: installed VirtIO drivers and the OpenNebula context package, cleaned the system, and ran Sysprep before capturing the image. However, upon booting the imported VM in OpenNebula, I only see a black screen with the message:
“Booting from hard disk…”
and the VM does not proceed further.

My assumption is that this issue stems from a firmware mismatch—OpenNebula/KVM by default uses BIOS, while Gen 2 Azure VMs are UEFI-based and use Hyper-V features. This could be preventing the Gen 2 image from booting correctly.

If you have any insights, best practices, or suggestions for enabling UEFI support in OpenNebula/KVM or alternative approaches for Gen 2 compatibility, I’d appreciate your input.

Thanks again for your continued support and contributions.

Hello @LOKESH,

Your assumption is correct, OpenNebula/KVM defaults to BIOS (SeaBIOS), which doesn’t support UEFI booting.

To resolve this, you can enable UEFI support in your OpenNebula environment by using OVMF (Open Virtual Machine Firmware).

I don’t know if someone in the community have tried something similar.

Cheers,