Using Windows on KVM plans lets you deploy a Windows VPS, complete its first boot from a browser console, and manage it over Remote Desktop. The setup usually takes about 15 minutes when a Windows template is available, or longer when you install from an ISO.
Prerequisites
- A VPSLake KVM service with enough RAM, disk, and CPU for your chosen Windows edition and workload; a graphical Windows installation needs more headroom than a minimal server role.
- Client-area access at
https://my.vpslake.com, the VPS public IPv4 address, and access to the service’s VPS Control Panel (Virtualizor). - A Windows template offered for your service, or a licensed Windows ISO and product key if you will install manually. Use only a license you are entitled to use.
- Browser access to the Virtualizor VNC/console and a separate computer with an RDP client. Keep the console available until the first remote login succeeds.
- Local administrator credentials for the Windows guest. For a Windows VPS with administrator access, see VPSLake Windows RDP hosting.
Step 1: Open Virtualizor and record the recovery details
The browser console is your out-of-band access, so collect the address and keep it available before changing the operating system.
- Sign in to
https://my.vpslake.comand open Services → My Services. - Select the KVM service, choose Manage, and open VPS Control Panel to launch Virtualizor.
- Record the public IP, current disk contents, and any DNS or application details you need. A reinstall can erase the virtual disk.
- In Virtualizor, open Manage → VNC and confirm that the browser console launches. Do not close this recovery path after Windows is installed.
If the control-panel link or VNC action is missing, open a client-area ticket before starting. Do not reboot while a reinstall task is running.
Step 2: Deploy a Windows template
A provider template is the quickest route because the image and its virtual hardware drivers are prepared together.
- In Virtualizor, open Manage → Reinstall.
- Select the Windows image that matches your license and application requirements. Choose a graphical desktop option when you need local Windows tools; choose Server Core only when you are prepared to administer it without the full desktop.
- Read the erase warning, confirm the reinstall, and wait for the task to report completion before opening VNC.
- Open Manage → VNC. Complete the regional setup, accept the license terms, and create a strong local Administrator password. Do not reuse your client-area password.
- Once the desktop appears, open Settings → System → About or Server Manager → Local Server and confirm that the installed edition is the one you selected.
The VPS may be offline while the image is written. Finish the first-boot wizard in VNC before troubleshooting RDP.
Step 3: Install Windows from an ISO when no template is available
An ISO install gives you control over the edition, but the virtual disk and network adapter may need drivers before Windows can use them.
- In Virtualizor, open the service’s CD-ROM/ISO or Media screen and mount the Windows ISO. If a VirtIO driver ISO is available in the media list, attach it as a second CD-ROM.
- Power off the VPS from Power Control, set the boot device to the CD-ROM, and power it on.
- Immediately open Manage → VNC. When the console asks whether to boot from the CD/DVD, press a key inside the VNC window.
- Follow Windows Setup. If no disk is listed, choose Load driver, browse the attached VirtIO ISO, and select the
amd64storage-driver folder that matches the Windows release. Continue only after the installer shows the VPS disk. - Select the unallocated VPS disk, let Setup create its required partitions, and allow the guest to reboot. Remove the ISO or restore the disk-first boot order after Setup no longer needs the media.
If the panel does not provide a driver ISO, use the VirtIO Windows guest-driver repository, attach the ISO through the panel, and select the matching signed driver. Never switch the virtual disk controller without its driver installed.
Step 4: Install and check VirtIO drivers
VirtIO drivers let Windows use the KVM storage and network devices directly instead of relying on slower emulated hardware.
After Windows reaches the desktop, attach the VirtIO ISO if it is not already mounted. If it contains virtio-win-guest-tools.exe, run it as Administrator and install the drivers appropriate for the Windows version. Otherwise, update each missing device from Device Manager → Other devices → [device] → Update driver → Browse my computer for drivers, selecting the mounted ISO and enabling Include subfolders.
Restart Windows after the driver installation. Then open an elevated PowerShell window and run:
Get-NetAdapter | Format-Table Name,Status,LinkSpeed
Get-Disk | Format-Table Number,FriendlyName,OperationalStatus,Size
Healthy output contains an enabled network adapter and an online system disk:
Name Status LinkSpeed
---- ------ ---------
Ethernet Up 1 Gbps
Number FriendlyName OperationalStatus Size
------ ------------ ----------------- ----
0 VirtIO Block Device Online 60 GB
Names vary by release; confirm network connectivity and no yellow warning icon for storage or networking in Device Manager.
Step 5: Enable RDP and allow only the required service
RDP is commonly disabled on a fresh Windows installation, and the Windows Firewall must allow the listener before an external client can connect.
From Windows PowerShell → Run as administrator in VNC, run:
$TerminalServerKey = 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server'
Set-ItemProperty -Path $TerminalServerKey -Name fDenyTSConnections -Value 0
Set-Service -Name TermService -StartupType Automatic
Start-Service -Name TermService
Enable-NetFirewallRule -DisplayGroup 'Remote Desktop'
Get-ItemProperty -Path $TerminalServerKey -Name fDenyTSConnections
Get-Service -Name TermService | Select-Object Name,Status,StartType
The setting should be 0, and TermService should be Running with an Automatic start type:
fDenyTSConnections : 0
Name Status StartType
---- ------ ---------
TermService Running Automatic
The default RDP endpoint is TCP 3389. Microsoft documents the supported GUI and PowerShell methods in its Remote Desktop allow-access guide. On a non-English Windows installation, enable the rules manually at Windows Defender Firewall with Advanced Security → Inbound Rules → Remote Desktop if the English display-group name is not found.
Step 6: Activate, update, and create a safer daily login
Activation, updates, and a separate daily account make the fresh installation safer to operate.
- Open Settings → System → Activation and activate with the license supplied for the service or your valid product key. If the VPS uses a provider-managed license, follow the activation instructions in the client area instead of entering a personal key.
- Open Settings → Windows Update and install available updates. Reboot when Windows requests it, then reconnect through VNC if RDP is temporarily unavailable.
- Create a named administrator account under Settings → Accounts → Other users → Add account. Use the built-in Administrator account only when required.
- Restrict the Remote Desktop firewall rule to a trusted source: open Windows Defender Firewall with Advanced Security → Inbound Rules → Remote Desktop → Properties → Scope, then add
TRUSTED_IP_OR_CIDRunder Remote IP addresses.
Verify the Windows KVM VPS
Check the guest locally, then test the public RDP path from another computer. In elevated PowerShell, run:
Get-ComputerInfo -Property WindowsProductName,WindowsVersion,OsBuildNumber
Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.IPAddress -notlike '169.254.*'} | Select-Object IPAddress,InterfaceAlias
Get-NetTCPConnection -LocalPort 3389 -State Listen | Select-Object LocalAddress,LocalPort,State
cscript.exe $env:SystemRoot\System32\slmgr.vbs /xpr
You should see the expected product, a non-link-local IPv4 address, a Listen row for port 3389, and an activation dialog or message indicating the license status. From a separate Windows computer, test the public address:
Test-NetConnection -ComputerName SERVER_IP -Port 3389
Replace SERVER_IP with the public address. Success includes:
ComputerName : SERVER_IP
RemotePort : 3389
TcpTestSucceeded : True
Now open Remote Desktop Connection, enter SERVER_IP, and sign in with the Windows account you configured. Keep VNC open until the desktop loads through RDP.
Troubleshooting
Windows Setup shows no disk
The installer cannot see a VirtIO storage controller without its driver. Mount the VirtIO ISO, choose Load driver in the disk-selection screen, select the matching amd64 storage driver, and rescan. If you cannot attach a driver ISO, ask VPSLake support which media is available for the service rather than changing controller settings at random.
Windows has no network adapter after installation
The NetKVM driver is missing or the virtual adapter is not attached. Install the signed network driver from the VirtIO ISO through Device Manager, reboot, and check Virtualizor → Network for the service’s assigned interface or IP settings.
TcpTestSucceeded : False
Confirm the listener and active-profile firewall rules first. If both pass, inspect any provider-side firewall rule for TCP 3389 and verify SERVER_IP is current.
RDP reaches the server but rejects the login
The account may have the wrong password, be disabled, or be using a client edition that does not provide an incoming RDP host. Sign in through VNC, reset the password locally, confirm the edition under Settings → System → About, and use the exact local account name. Do not disable Network Level Authentication as a permanent fix.
FAQ
Can I use any Windows ISO on a KVM VPS?
Use an ISO that matches the architecture and edition you are licensed to run, and confirm that the service supports customer-supplied media. A template is simpler because its storage and network drivers are normally prepared for the virtual hardware.
Why do I need VNC if I plan to use RDP?
VNC works before Windows networking and RDP are configured, so it is the recovery path for installation, password setup, driver repair, and firewall mistakes. Keep it available until an external RDP login has succeeded.
Is VirtIO required for Windows on KVM?
Windows can sometimes boot with emulated IDE or network hardware, but a VirtIO-backed configuration needs the correct guest drivers. If Windows cannot see the disk or network adapter, load the matching VirtIO storage or NetKVM driver before troubleshooting RDP.
Does changing the RDP port make Windows secure?
Changing the port can reduce basic scanning but does not replace strong credentials, updates, Network Level Authentication, or source-IP restrictions. If you change it later, update the Windows Firewall rule and test the new address before closing your existing session.