Skip to content

Instantly share code, notes, and snippets.

@f9n
Last active November 12, 2022 09:41
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save f9n/91bf70a2a2a27734fa5072104d2b3908 to your computer and use it in GitHub Desktop.
Save f9n/91bf70a2a2a27734fa5072104d2b3908 to your computer and use it in GitHub Desktop.
Running Windows 10 in a UEFI enabled QEMU environment with KVM.

Download qemu

$ sudo pacman -S qemu   # For Arch Linux

Download windows and setup

Download Win10 "manually" - https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced

$ wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

https://www.kraxel.org/repos/jenkins/edk2/edk2.git-ovmf-x64-0-20160509.b1788.ga93786a.noarch.rpm 
$ qemu-img create win10.hd.img.raw 40G
Formatting 'win10.hd.img.raw', fmt=raw size=42949672960

Installing

$ qemu-system-x86_64 -bios OVMF.fd -enable-kvm -cpu host -smp 4 -m 2048 \
                     -cdrom Windows10_InsiderPreview_Client_x64_en-us_14332.iso \
                     -net nic,model=virtio -net user \
                     -drive file=win10.hd.img.raw,format=raw,if=virtio -vga qxl \
                     -drive file=virtio-win.iso,index=1,media=cdrom

Installing (no KVM, UI over VNC)

$ qemu-system-x86_64 -bios OVMF.fd -smp 4 -m 2048 -vnc 0.0.0.0:1 \
                     -cdrom Windows10_InsiderPreview_Client_x64_en-us_14332.iso \
                     -net nic,model=virtio -net user \
                     -drive file=win10.hd.img.raw,format=raw,if=virtio -vga qxl \
                     -drive file=virtio-win.iso,index=1,media=cdrom

Running

$ qemu-system-x86_64 -bios /usr/share/ovmf/ovmf_x64.bin \
                     -enable-kvm -cpu host -smp 4 -m 4096 \
                     -net nic,model=virtio -net user \
                     -drive file=~/vm/win10.hd.img.raw,format=raw,if=virtio \
                     -vga qxl -usbdevice tablet -rtc base=utc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment