Proxmox VE Tips & Fixes Virtual Machines Virtualization Windows 10

Converting a Windows 10 VM from BIOS to UEFI on Proxmox

Man Kicking CRT Monitor with Windows 10 Logo on Display

I’ve had a Windows 10 virtual machine on Proxmox for some tasks but thought today was the day to update it so I could upgrade to Windows 11 since Windows 10 support is ending soon. This VM was running in legacy BIOS (SeaBIOS) mode with an MBR disk. It worked fine, but when I started thinking about upgrading to Windows 11 and enabling newer features like Secure Boot and TPM, I knew I’d have to make the jump to UEFI (OVMF) and GPT.

This is the story of how I did it — including the hiccups along the way.

Step 1: Running MBR2GPT

Microsoft provides a handy tool called mbr2gpt that can convert an MBR disk to GPT without data loss.

Inside the Windows 10 VM I ran:

mbr2gpt /convert /disk:0 /allowFullOS

The output was promising:

MBR2GPT: Conversion completed successfully
Call WinReRepair to repair WinRE
MBR2GPT: Failed to update ReAgent.xml, please try to manually disable and enable WinRE.
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!
  • Disk conversion succeeded.
  • Recovery Environment (WinRE) needed manual fixing. This was because I had previously removed the WinRE partition from the VM.

Step 2: Switching to UEFI in Proxmox

Next, I shut down the VM and updated its configuration:

  • BIOS: SeaBIOS → OVMF (UEFI)
  • EFI Disk: Added a new EFI disk under Hardware → Add → EFI Disk
  • Boot Order: Ensured the EFI disk was first

At this point, I expected Windows to boot… but instead, I hit my first wall.

Step 3: Startup Repair Fails

On reboot, I got the dreaded:

Startup Repair couldn't repair your PC

In the recovery environment, running diskpart showed only the CD-ROM drive. The Windows disk wasn’t visible at all. The issue? Proxmox was presenting the disk using VirtIO, which Windows recovery doesn’t see without drivers.

Step 4: Loading VirtIO Drivers

To fix this, I mounted the VirtIO driver ISO alongside the Windows 10 ISO in Proxmox. Then from the Command Prompt in recovery mode, I ran:

drvload E:\viostor\w10\amd64\viostor.inf

(Adjust the path depending on whether your disk is virtio0 or scsi0.)

After rescanning with diskpart, my Windows disk finally appeared.

Step 5: Rebuilding Boot Files

With the EFI partition visible, I assigned it a letter and rebuilt the boot files:

diskpart
list vol
sel vol <EFI volume>
assign letter=S
exit

bcdboot C:\Windows /s S: /f UEFI

Now the EFI partition contained EFI\Microsoft\Boot\bootmgfw.efi, the UEFI bootloader.

Step 6: The Secure Boot Problem

Reboot attempt #2 brought a new error:

The operating system couldn't be loaded because the digital signature of a file or one of it's depandancies couldn't be verified.

File: \Windows\System32\drivers\netkvm.sys
Error Code: 0xc0000428

This was because I had enabled Secure Boot when creating the EFI disk. Since this Windows install originated as BIOS/MBR, it didn’t have Secure Boot–friendly boot files.

Step 7: The Fix — Disable Secure Boot

The simplest solution was to disable Secure Boot in Proxmox:

  • Delete the existing EFI Disk in Proxmox
  • Recreate the EFI Disk
  • Reboot

This time, Windows booted straight into UEFI mode.

Step 8: Success

I confirmed the system was truly UEFI:

  • Run msinfo32BIOS Mode: UEFI

Success!


Lessons Learned

  • mbr2gpt does its job well, but expect cleanup tasks afterward.
  • Windows RE recovery environment needs VirtIO drivers to see your Proxmox disks.
  • Secure Boot will almost always fail unless you install Windows fresh in UEFI mode — disable it unless you specifically need it.
  • Once converted, your VM is future-proofed for Windows 11 (just add TPM 2.0 in Proxmox).

Final Thoughts

The process was a bit of a rollercoaster, but in the end my Windows 10 VM is now running in UEFI/GPT mode and ready for whatever comes next.

If you’re planning to upgrade your own Proxmox Windows VMs, I’d recommend:

  • Taking a backup first
  • Having both the Windows ISO and VirtIO ISO handy
  • Being ready to disable Secure Boot

Now my VM is ready for Windows 11 and beyond.

Check out my other Proxmox articles here, and please let a comment if this help you out.

Leave a Reply

Your email address will not be published. Required fields are marked *