Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

How to install Windows 11 on QEMU, to emulate supported hardware and get all updates, even on an unsupported host computer.

Ashley MLP Fangirl
 Share

this guide will cover installing Windows 11 on a qemu VM in linux, that allows you to emulate both secure boot and TPM 2.0 even if the host computer has no support for either. 

 

 

what do you need: 

- linux install. i recommend manjaro for this as some stuff we need is very easy to install due to it's Arch base. 

- enough drive space for the VM (i recommend 64gb)

- windows 11 iso, get that from microsoft's website. 

 

step 1: install all the packages we need. open a terminal and type: sudo pacman -S iptables-nft qemu virt-manager libtpms edk2-ovmf

 

step 2: add yourself to the kvm group to make the virtual machine manager play nicely: sudo usermod -aG libvirt ${USER} && sudo usermod -aG kvm ${USER}

 

step 3: open virt-manager and make a new VM: 

image.png.3c8ba0604a3ebec5eb091bd8287f42dc.png

 

select the following options:

local install media

select your iso file

6144 for ram (that's 6gb, 4gb on 11 is a bit slow) and as many cpu cores as you want to spare

virtual disk same thing, make one however big you wish, 64gb is minimum

check "customize hardware before install

click finish. 

 

you'll now see this: 

image.thumb.png.9486b90fbde8a515d986dd2e9a989949.png

we need to make some changes here. 

for firmware, select the one with secure boot: 

image.png.4ddd55c4000edcdcad4f17b92722f4b1.png

that will enable our virtual secure boot, which we need to make sure the VM thinks it's supported. 

 

then, go to "add hardware" on the bottom left. 

near the bottom of the list select TPM, and make sure it's configured like this: 

image.png.cf95c4ac7817f98c6a8721b200ba2435.png

this is our emulated TPM 2.0.

 

click finish at the bottom right, then begin installation at the top left. 

 

install WIndows 11 like you would in any VM, and you'll now have a fully functional VM even on unsupported hardware. 

 

here are some screenshots of it running on my dual Xeon X5650 machine, which does not have UEFI or TPM of any kind. and yet, it get full updates and no issue even joining the insider program, due to the OS thinking it's running in a supported configuration 🙂

 

here's my system specs: 

2026539684_Screenshotfrom2021-11-1318-53-11.png.24708404dc24149b49f731929a7c1725.png

 

and here is my windows 11 VM: 

1550998843_Screenshotfrom2021-11-1318-49-58.png.c2517109be2c99d1d56924f9ab875bc6.png137173920_Screenshotfrom2021-11-1318-50-32.png.b03d2ded4a83f45dc86d12451488da51.png

 

 

 

Resident Apple Sheep - She/Her

MacBook Pro 13" Early 2015 | i5 5257U | Intel Iris 6100 | 8gb Ram | 120gb SSD | macOS

Mac Pro Early 2008 | Dual Xeon E5462 | 8800GT | 22GB Ram | 250GB SSD | 1TB HDD | macOS

Link to comment
Share on other sites

Link to post
Share on other sites

Well, this is nice.
Wonder if I can get some of these packages through homebrew

Oh look, I finally found out how to add a signature

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, J-from-Nucleon said:

Well, this is nice.
Wonder if I can get some of these packages through homebrew

on macOS? i wouldn't count on it. you also won't have a gui for QEMU, but in theory it's possible to do this on macOS too, linux is just WAY easier

Resident Apple Sheep - She/Her

MacBook Pro 13" Early 2015 | i5 5257U | Intel Iris 6100 | 8gb Ram | 120gb SSD | macOS

Mac Pro Early 2008 | Dual Xeon E5462 | 8800GT | 22GB Ram | 250GB SSD | 1TB HDD | macOS

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Ashley MLP Fangirl said:

sudo usermod -aG libvirt username && sudo usermod -aG kvm username

Do want to point out you can change this to 

sudo usermod -aG libvirt ${USER} && sudo usermod -aG kvm ${USER}

to make the guide a little more copy-paste

 

Overall a pretty nice guide, I'll probably need to set that up eventually

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Ashley MLP Fangirl said:

you also won't have a gui for QEMU

Techncailly there;s UTM which is a GUI for QEMU. BUt yea, Linus seems easier

Oh look, I finally found out how to add a signature

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, RONOTHAN## said:

Do want to point out you can change this to 

sudo usermod -aG libvirt ${USER} && sudo usermod -aG kvm ${USER}

to make the guide a little more copy-paste

 

Overall a pretty nice guide, I'll probably need to set that up eventually

did that, this is what happens when i write something in 10 minutes because i'm bored lol

Resident Apple Sheep - She/Her

MacBook Pro 13" Early 2015 | i5 5257U | Intel Iris 6100 | 8gb Ram | 120gb SSD | macOS

Mac Pro Early 2008 | Dual Xeon E5462 | 8800GT | 22GB Ram | 250GB SSD | 1TB HDD | macOS

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, J-from-Nucleon said:

Techncailly there;s UTM which is a GUI for QEMU. BUt yea, Linus seems easier

will that allow you to edit the VM so that it adds the emulated TPM and stuff? or would you have to go in manually and edit the files? 

Resident Apple Sheep - She/Her

MacBook Pro 13" Early 2015 | i5 5257U | Intel Iris 6100 | 8gb Ram | 120gb SSD | macOS

Mac Pro Early 2008 | Dual Xeon E5462 | 8800GT | 22GB Ram | 250GB SSD | 1TB HDD | macOS

Link to comment
Share on other sites

Link to post
Share on other sites

28 minutes ago, Ashley MLP Fangirl said:

will that allow you to edit the VM so that it adds the emulated TPM and stuff? or would you have to go in manually and edit the files? 

I literally have no idea. I do know it'll allow for flags, but I haven't really done very much with it

Oh look, I finally found out how to add a signature

Link to comment
Share on other sites

Link to post
Share on other sites

32 minutes ago, Ashley MLP Fangirl said:

will that allow you to edit the VM so that it adds the emulated TPM and stuff? or would you have to go in manually and edit the files? 

UTM has support for adding your own QEMU flags. Whether the QEMU build they use supports vTPM and macOS builds for libtpms or swtpm (and whether it even works on macOS) are a different story.

 

It's a bit more experimental as you need to actually use swtpm or libtpms to create the vTPM socket and pass that through to QEMU with flags and figure out what model of TPM works as CRB and TIS aren't the same and guests might not support one or the other.

Link to comment
Share on other sites

Link to post
Share on other sites

44 minutes ago, J-from-Nucleon said:

Well, this is nice.
Wonder if I can get some of these packages through homebrew

It's highly unlikely this is easily feasible on macOS. The reason why this guide is very easy is because virt-manager is handling all the hard work here. It's using libtpms or swtpm to create the vTPM UNIX socket and automatically putting in the required QEMU arguments for it.

 

As also mentioned above, QEMU needs to be be compiled and built with vTPM support and it's not known if the Homebrew builds have that support in them. You also need libtpms or swtpm to work on macOS, and that's if macOS builds exist for them. 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

Newegg

×