Install windows 10 with uefi on xcp-ng

Hi Guys,

I might be missing something really obvious here.

I’m trying to create an install of windows 10 on my xcp-ng server. Booting in BIOS mode works fine but I want the resulting image to be UEFI. If I create a VM with UEFI enabled then the ISO doesn’t boot. I guess there might be a way to convert after install but that sounds a bit backwards.

Anyone got any ideas?


So I installed from DVD iso image with BIOS enabled
ran mbr2gpt /convert /allowfullos
shut down windows, changed to UEFI in Advanced
booted, all seems to be good.

I would still like to install directly to UEFI if anyone knows how though.

I have never tried using UEFI try their forums

I’ll have to try this when I get back to testing, but I thought I had UEFI booting working right from VM creation. Pretty sure I loaded Server 2019 evaluation this way the last time I was testing. But that has been a while so I might be remembering wrong.

Unless you can present a solid use case as to why you need UEFI, I would avoid it at all costs for VMs. I could explain why it is a bad idea but I am not sure Tom has enough storage on his forums for the write. You could have issues with backups and will definitely have issue if you ever try to migrate between hypervisor vendors.

@sdfungi the use case is that I’m building system images to be deployed to actual hardware. Using mbr2gpt does seem to have worked and it’s booting (very slowly) UEFI now. Have yet to capture an image to test deployment though so I might still have issues.

@Greg_E It looks like you might not be able to install from the Win10 ISO but you can if you create a bootable USB maybe. I need to do some more testing but kinda need to get this image built so will leave it for another day.

@LTS_Tom fair enough, I’ll try over there if nothing else turns up here.

Thanks all.

I certainly understand the need to just get things done. That said I’ve always built my images on the actual hardware to be deployed. Not the most efficient way but it gets the work done. Capture and move to WDS for deployment.

Just for the conversation, Microsoft does suggest that when making images that you make a “golden” image on a VM and let your deployment system push out the drivers for each piece of hardware. So I would think that this is a permitted condition to run win10 as a VM. I assume that they also think the VM will be destroyed once you have the image working, but that’s a guess because I’ve never seen it written.

Sometimes just getting the job done is the right plan. Sometimes that bites you in the ass somewhere down the line…

Always built in a VM as it’s easy to make a standard base and then copy that out to customers sites and then customise on a site by site basis or to customise in the office then push to site.

I use clonezilla as most of my customers are too small for WDS or just don’t run a MS server infrastructure. I used to do a lot of school work but gave that up a few years ago, that was all WDS stuff. I am finding that Win10 just finds the drivers so no real need to push them out with the image, that helps lots.

Not sure that the VM is “correctly” licensed strictly speaking but I also don’t think MS will have too much of a problem with it given the actual use case is to deploy properly licensed machines.

Microsoft specifically mentions building the reference image on a VM in many documents, here is one I pulled up in a quick search:

I need to read up more on WDT and see if it would get me to a conclusion faster than I’m getting there the harder way. The amount of time to learn always butts up against the amount of time to do it the hard way that is already procedure. In the end the work is done, but I know there are better ways that would eventually save me time in the future.

I gave up with the WDT stuff as it assumes that all the software you have comes with an MSI and is configurable using “proper” MS methods and that you had 4 days to wait whilst each program was pushed to each machine one by one… whilst working in schools that was not the case!

Build it on xcpng, snapshot, sysprep, clonezilla capture to server, revert snap (important),
On the target machine, boot from USB or Network, deploy image, reboot.

If I may be so bold, this is my method…
(it’s an hour and a half’s worth of video but you can skip most of it)
(early days of making video too so any constructive feedback appreciated)


It is actually a pretty good use case then, I would recommend that you soldier on.

1 Like

If I didn’t have WDS running on a server, I’d probably follow right along behind you. And I probably better study up anyway.

And you just reminded me why I stopped looking at WDT, most of my stuff is not available as an MSI installer. Same goes for pushing out software with group policy.

One thing to mention (might be in your video), if you are bundling MS Office in the image, there is a separate prep tool that needs to be run or licensing count may fail. Run OSPPrearm before sysprep and do not run any office application until you get your image (especially if you use KMS to activate Office). In the newer versions of Windows and Office, MS is very aggressive about contacting the KMS server to activate, not sure about online activations.