thecmdrunner / quick-vm

Setup a Stealth Windows VM on any Linux system using Qemu/KVM.
GNU General Public License v2.0
50 stars 4 forks source link
kvm linux qemu windows

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 ISOwin.iso
    • VirtIO Driversvirtio-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](https://linuxhint.com/install_configure_kvm_archlinux) 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](https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF) or [Single-GPU-Passthrough](https://github.com/joeknock90/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

🔖 DIY VM (Everything From Scratch + GPU Passthrough)

🔖 Making a Stealth VM (Always being Updated)

📍 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