import type { Metadata } from "next" import Link from "next/link" import Image from "next/image" import { ArrowLeft, Monitor, Settings, Zap, Sliders, HardDrive, ExternalLink, Server, Target } from "lucide-react" export const metadata: Metadata = { title: "ProxMenux Documentation: Windows Virtual Machines", description: "Guide for creating and configuring Windows virtual machines on Proxmox VE using ProxMenux, including UUP Dump ISO and local ISO options.", openGraph: { title: "ProxMenux Documentation: Windows Virtual Machines", description: "Guide for creating and configuring Windows virtual machines on Proxmox VE using ProxMenux, including UUP Dump ISO and local ISO options.", type: "article", url: "https://macrimi.github.io/ProxMenux/docs/virtual-machines/windows", images: [ { url: "https://macrimi.github.io/ProxMenux/vm/menu_windows.png", width: 1200, height: 630, alt: "ProxMenux Windows VM Menu", }, ], }, twitter: { card: "summary_large_image", title: "ProxMenux Documentation: Windows Virtual Machines", description: "Guide for creating and configuring Windows virtual machines on Proxmox VE using ProxMenux, including UUP Dump ISO and local ISO options.", images: ["https://macrimi.github.io/ProxMenux/vm/menu_windows.png"], }, } interface ImageWithCaptionProps { src: string alt: string caption: string } function ImageWithCaption({ src, alt, caption }: ImageWithCaptionProps) { return (
ProxMenux provides automated scripts that create and configure Windows virtual machines on Proxmox VE. These scripts simplify the process by handling the necessary configurations and optimizations for Windows installations, including VirtIO drivers setup and TPM configuration.
The Windows VM creation script automates the process of setting up virtual machines optimized for running Windows operating systems. The script handles all aspects of VM configuration, including hardware allocation, disk setup, and boot options.
The script simplifies the VM creation process by offering the following options:
The script offers two configuration modes:
If you select default configuration, the script will automatically apply the following values:
Parameter | Default Value |
---|---|
Machine Type | q35 |
BIOS Type | OVMF (UEFI) |
CPU Type | Host |
Core Count | 4 |
RAM Size | 8192 MB |
Bridge | vmbr0 |
MAC Address | Automatically generated |
TPM | Enabled (v2.0) |
Start VM on Completion | No |
If you want to customize the configuration, select the Advanced Settings option in the menu.
If you select advanced configuration, the script will allow you to customize each parameter:
Parameter | Options |
---|---|
Machine Type | q35 or i440fx |
BIOS Type | OVMF (UEFI) or SeaBIOS (Legacy) |
CPU Type | Host or KVM64 |
Core Count | Number of CPU cores |
RAM Size | Amount of memory allocated to the VM |
Bridge | Network bridge for connection |
MAC Address | Custom MAC address |
VLAN | VLAN tag (if used) |
MTU | Maximum Transmission Unit size |
TPM | Enable or disable TPM |
The script allows you to choose the disk interface type for both virtual and physical disks:
Interface Type | Description | Best For |
---|---|---|
SCSI | Modern interface with good performance and features | Recommended for Windows 10/11 (includes discard/trim support) |
SATA | Standard interface with high compatibility | Good general-purpose choice (includes discard/trim support) |
VirtIO | Paravirtualized interface with highest performance | Advanced users seeking maximum performance (includes discard/trim support) |
IDE | Legacy interface with maximum compatibility | Legacy Windows systems only (no discard/trim support) |
Once the machine is configured, the script allows you to choose between two types of disks:
When UEFI BIOS (OVMF) is selected, the script automatically configures an EFI system disk to ensure compatibility with modern bootloaders:
For Windows systems, a TPM 2.0 device is also added automatically to meet installation requirements for modern versions like Windows 11 and Windows Server 2022.
The script also handles ISO mounting automatically for both installation media and optional drivers:
ide2
)ide3
)The script automatically configures QEMU Guest Agent support:
ProxMenux offers two methods for installing Windows on your virtual machine:
The UUP Dump ISO Creator script is a utility included in ProxMenux that allows you to download and create Windows installation media directly from Microsoft's Windows Update servers. This option provides access to the latest Windows builds, including Insider Preview versions.
Learn more about UUP Dump ISO Creator
This option allows you to use your own Windows ISO file that's already uploaded to your Proxmox server's local storage. Ideal if you have custom or specific Windows installation media.
After configuring the VM settings and selecting your installation method, the script will:
For optimal performance, Windows VMs require VirtIO drivers. The script automatically handles this by:
If you select a SCSI or VirtIO disk interface for the virtual machine,
Windows installation will not detect the disk by default. In this case, you must click "Load Driver" during the disk selection
step and browse to the mounted VirtIO ISO to install the necessary storage drivers.
These interfaces offer significantly better performance compared to traditional SATA disks,
and are therefore recommended for optimal disk I/O.
Important:
Without the VirtIO network driver, the virtual machine will not have internet access during installation, which may prevent Windows from completing activation or downloading necessary updates.
During Windows installation, if no disks are shown on the “Where do you want to install Windows?” screen, it means the required storage drivers for your selected disk interface (such as SCSI or VirtIO) are not available. You'll need to load them manually.
Click the “Load driver” button to browse the mounted VirtIO ISO. This will allow you to load the necessary storage drivers so Windows can detect the virtual disk.
On the mounted VirtIO ISO, navigate to the appropriate driver folder that matches your selected disk interface and Windows version.
For example, the viostor
folder contains storage drivers, and you'll find subfolders organized by version (e.g., Windows 10, 11, Server).
After selecting the folder, Windows will list the available drivers. Choose the appropriate one — usually “Red Hat VirtIO SCSI controller” — and click “Next” to proceed with the installation.
Pro Tip: If you selected VirtIO as the network interface, Windows will not recognize it by default. To enable internet access during installation, load the VirtIO network driver from the ISO by browsing to the NetKVM
folder and selecting the correct subfolder for your Windows version.
After the Windows installation is complete, it's recommended to install the remaining VirtIO drivers for full hardware support and optimal performance.
To do this, open the mounted VirtIO ISO in File Explorer and run the installer named{" "}
virtio-win-guest-tools.exe
. This will install drivers for network, display, input, ballooning, and other virtualized components.