quick-vm
quick-vm copied to clipboard
Setup a Stealth Windows VM on any Linux system using Qemu/KVM.
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
-
Download Windows 10 or Windows 11, along with VirtIO Drivers (Stable)
-
Place the ISOs in either
~/WindowsVM/or/var/lib/libvirt/images/. -
Rename the ISOs as shown below:
- Windows 10/11 ISO ➜
win.iso - VirtIO Drivers ➜
virtio-win.iso
- Windows 10/11 ISO ➜
UPDATE: Windows 11 has been tested and works just as well, and the support will be added soon!
- 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:
Linux Kernel 5.4 LTS or newer is recommended
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)
Default specs of the VM
⚔️ Advanced Install
🔖 DIY VM (Everything From Scratch + GPU Passthrough)
🔖 Making a Stealth VM (Always being Updated)
📍 Check KVM Compatibility
AMD-V or VT-d/VT-x is supported on your AMD/Intel CPU.virt-host-validate.
📍 Install 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
Executes the following commands only if systemd is present and running.📍 Enable Libvirt Service & Virtual Networking
# 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
win10.iso and virtio-win.iso exist in ~/WindowsVM or /var/lib/libvirt/imagesrsync to copy the ISOs to /var/lib/libvirt/images ($HOME subdirectories might cause permission issues)
Ideal for Gaming, Content Creation and other heavy duty applications. Adobe Creative Cloud 3d Printing Software: CHITUBOX 360 Photo/Video Software: VeeR Editor Ideal for Office 365, and some light Photoshop. Ideal for basic stuff that requires Windows. Printer Software, CNC Application Tax Software in Banks Ideal for DRM/Anticheat Programs like Valorant, Rainbow Six: Siege📍 Selecting a VM Profile
1. Serious Business
Part
Specification
CPU
6 vCPU
Memory
8 GiB
Storage
1 TiB
2. Decently Powerful [Default]
Part
Specification
CPU
4 vCPU
Memory
6 GiB
Storage
1 TiB
3. Lightweight and Barebones
Part
Specification
CPU
2 vCPU
Memory
4 GiB
Storage
1 TiB
4. Stealth VM (Beta)
Part
Specification
CPU
4 vCPU
Memory
8 GiB
Storage
1 TiB
If 📍 Reload KVM Kernel Modules
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
-
Looking Glass by Wendell from Level1Techs
-
Single GPU Passthrough:
-
NVIDIA GPU Passthrough:
-
Intel iGPU Passthrough - Lan Tian
🎁 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
- The Entire r/VFIO Community!
- Wendell from Level1Techs
- SomeOrdinaryGamers - For Video guide
- Zeptic - For Stealth VM stuff
- joeknock90 (and everyone mentioned in their repository) - For Single GPU Passthrough Central Point
- More Credits...