Skip to content

Setup a Stealth Windows VM on any Linux system using Qemu/KVM.

License

Notifications You must be signed in to change notification settings

thecmdrunner/quick-vm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Arch Fedora Debian Ubuntu Terminal Windows

Quick VM [ALPHA]

- New GUI is in progress here (private repo)


Setup a Windows VM on Linux in under 100 seconds with just one command, with Virtualization enabled (see how-to)

It is possible to invent a single machine which can be used to compute any computable sequence.

~ Alan Turing, 1936

πŸš€ Getting Started

➊ Getting ISOs Ready

  1. Download Windows 10 or Windows 11, along with VirtIO Drivers (Stable)

  2. Place the ISOs in either ~/WindowsVM/ or /var/lib/libvirt/images/.

  3. Rename the ISOs as shown below:

    • Windows 10/11 ISO ➜ win.iso
    • VirtIO Drivers ➜ virtio-win.iso

UPDATE: Windows 11 has been tested and works just as well, and the support will be added soon!

  1. Enter the command shown below in the terminal.

βž‹ One-liner to Setup KVM

Paste this in your terminal

bash <(wget -qO- https://git.io/JOeOs)

Here is the Script

➌ Installing Windows with VirtIO:

Step by Step Guide - Click Me!

πŸŽ‰ That's it, You have successfully created a VM!


πŸ–₯ Host System Requirements:
  • Ubuntu 18.04 or newer
  • Fedora 30 or newer
  • Arch (Read this Guide by LinuxHint for permissions and User Group setting)
  • 4 CPU Threads (2 Multi-Threaded Cores at minimum)
  • 8 GiB Memory (more = better)
  • 40+ GiB of Free Storage typically (SSD Recommened)

Linux Kernel 5.4 LTS or newer is recommended

Default specs of the VM

CPU: 4 vCPUs Allocated

GPU: VirtIO or VFIO GPU Passthrough - ArchWiki or Single-GPU-Passthrough

Memory: Total 6 GiB, 1 GiB Allocated initially

Storage Drive: 1 TB VirtIO Disk (Dynamically Allocated)

DVD Drive: Windows ISO

Other Drives: VirtIO Drivers ISO, Essential Tools ISO (to optimize VM performance)

Network Card: VirtIO (Recommended Disabled until debloated)

βš”οΈ Advanced Install

πŸ“ Check KVM Compatibility
  1. Checks if AMD-V or VT-d/VT-x is supported on your AMD/Intel CPU.
  2. Checks if kvm is enabled using virt-host-validate.

πŸ“ Install required packages
  • Updates repositories (Debian and Fedora only) and installs required packages.
# Debian
sudo apt update -q && sudo apt install -y qemu qemu-kvm libvirt-bin libvirt-daemon libvirt-clients bridge-utils virt-manager

# Fedora
sudo dnf -y install qemu-kvm libvirt bridge-utils virt-install virt-manager

# Arch
sudo pacman -S --noconfirm qemu libvirt bridge-utils edk2-ovmf vde2 ebtables dnsmasq openbsd-netcat virt-manager

πŸ“ Enable Libvirt Service & Virtual Networking

Executes the following commands only if systemd is present and running.

# Libvirt service and socket
sudo systemctl enable --now libvirtd

# Virtlogd
sudo systemctl enable --now virtlogd

# Virtual Networking
sudo virsh net-autostart default
sudo virsh net-start default

πŸ“ Locate ISOs
  1. Checks if win10.iso and virtio-win.iso exist in ~/WindowsVM or /var/lib/libvirt/images
  2. Uses rsync to copy the ISOs to /var/lib/libvirt/images ($HOME subdirectories might cause permission issues)

πŸ“ Selecting a VM Profile

1. Serious Business

Ideal for Gaming, Content Creation and other heavy duty applications.

Adobe Creative Cloud

3d Printing Software: CHITUBOX

360 Photo/Video Software: VeeR Editor

Part Specification
CPU 6 vCPU
Memory 8 GiB
Storage 1 TiB

2. Decently Powerful [Default]

Ideal for Office 365, and some light Photoshop.

Part Specification
CPU 4 vCPU
Memory 6 GiB
Storage 1 TiB

3. Lightweight and Barebones

Ideal for basic stuff that requires Windows.

Printer Software, CNC Application

Tax Software in Banks

Part Specification
CPU 2 vCPU
Memory 4 GiB
Storage 1 TiB

4. Stealth VM (Beta)

Ideal for DRM/Anticheat Programs like Valorant, Rainbow Six: Siege

Part Specification
CPU 4 vCPU
Memory 8 GiB
Storage 1 TiB

πŸ“ Reload KVM Kernel Modules

If kvm is enabled correctly, then executes the following commands depending upon the CPU.

# AMD
sudo modprobe -r kvm_amd kvm      # safely unloads the modules
sudo modprobe kvm                 # enables kvm first
sudo modprobe kvm_amd nested=1    # then kvm_amd module with nested enabled

# INTEL
sudo modprobe -r kvm_intel kvm    # safely unloads the modules
sudo modprobe kvm                 # enables kvm first
sudo modprobe kvm_intel nested=   # then kvm_intel module with nested enabled

Some more useful stuff

🎁 Contribute/Help

Stuff changes all the time, and I can only do so much.

If you want to help, THANK YOU, that will be wonderful! πŸ’œ

This project is aimed at making a Windows VM for gaming/content creation, paired with WinApps to make it easier for people to switch to Linux while still being able to use their Adobe CC apps, MS Office, Play Games etc.

Here's a list of things that will make this project way better!

Now that NVIDIA has enabled GPU Passthrough for Windows based Virtual Machines (no more Code 43!), this project will also include easy setup and configuration for passing through NVIDIA GPUs in KVM and interfacing Windows apps from linux via WinApps.

Till then, read Arch Wiki - PCI Passthrough and this.

πŸ“£ Credits

Support

ko-fi

PayPal.Me

πŸ“¬ Facing Issues? Contact me

visitors

Telegram

Mail Me

Secure Mail Me

GitHub

Twitter

Instagran