Hello WJ!
After many days of testing and learning, I managed to install Windows Server on my OVH VPS without KVM/iLO or IPMI and just 4GB of RAM, so here is my tutorial (theoretically it should work for all suppliers who provides a LINUX/UBUNTU RESCUE IMAGE)
NOTE: I couldn't find a tutorial on the whole internet that could manage to install windows like this, so I think it's the first one.
(I make customs ISO´s and .gz of Windows Server 2025 | 2022 | 2019 | 2016 | 2012R2 Standard with GUI + VirtIO & Intel Drivers. If you want install another version of Windows you can make your own)
Thanks to BonGuides for "How to Add Drivers into a Windows ISO Installation Image"
After many days of testing and learning, I managed to install Windows Server on my OVH VPS without KVM/iLO or IPMI and just 4GB of RAM, so here is my tutorial (theoretically it should work for all suppliers who provides a LINUX/UBUNTU RESCUE IMAGE)
NOTE: I couldn't find a tutorial on the whole internet that could manage to install windows like this, so I think it's the first one.
(I make customs ISO´s and .gz of Windows Server 2025 | 2022 | 2019 | 2016 | 2012R2 Standard with GUI + VirtIO & Intel Drivers. If you want install another version of Windows you can make your own)
Thanks to BonGuides for "How to Add Drivers into a Windows ISO Installation Image"
TESTED IN OVH VPS (Success ✓) HETZNER VPS (Success ✓) AND ONEPROVIDER (Success?)
DISCLAIMER: The installation of the operating system is successful, the problem is at the time of login.
(This configuration from OneProvider has static IP, I tried with a script for the configuration but it does not work, so I suspect it is a blocking on the port "3389" by OneProvider.)
DISCLAIMER: The installation of the operating system is successful, the problem is at the time of login.
(This configuration from OneProvider has static IP, I tried with a script for the configuration but it does not work, so I suspect it is a blocking on the port "3389" by OneProvider.)
OVH VPS "VLE-4" ~ 11USD/Mo
4 vCore | 4 GB | 80 GB SSD NVMe | 1 Gbps
ONEPROVIDER ~ 10USD/Mo
Atom C2350 1.7 GHz 2c/2t | 4 GB DDR3 | 1× 250 GB (SSD SATA) | 1 Gbps
HETZNER ~ €3.29/Mo (NO VIRTUALIZATION CPU)
2 vCore | 4 GB | 40 GB SSD NVMe | 1 Gbps @ 20TB
HETZNER ~ €6.30/Mo (NO VIRTUALIZATION CPU)
4 vCore | 8 GB | 80 GB SSD NVMe | 1 Gbps @ 20TB
Let's begin the journey!
- Perform a clean installation of Ubuntu on your VPS/Dedicated Server
- Reboot in "Rescue Mode"
Log in with your user and password
Code:
sudo -i
- In my 2017 tutorial "Install Windows on Online.net Dedibox SC/XC Personal Range with QEMU" I used the RAM as a disk, but in this case we only have 4GB of RAM so we need more space to locate our ISO, then we will use the machine disk.
- sda or sdb? in my case was /dev/sda
Code:
lsblk
cgdisk /dev/sda
DELETE (ALL PARTITIONS) ➤ WRITE ➤ QUITE
Type "reboot" (wait 5 minutes and connect again)
fdisk /dev/sda
type "M" enter protective/hybrid MBR
type "t" change a partition type
Hex code (type L to list all codes): type "7"
"Changed type of partition 'GPT' to 'HPFS/NTFS/exFAT'."
type "w" to save
type "q" to exit
-----------------
lsblk
sda 8:0 0 238,5G 0 disk
└─sda1 8:1 0 238,5G 0 part
fdisk /dev/sda
type "d" to delete
type "n" to create a new one
type "p" - Primary Partition (firs sector - default)
type "+25G" to create a 25GB partition
- We already have our first partition, now we need a second one where we will download our files
type "n" to create a new one
default-default-default-default
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 25G 0 part
└─sda2 8:2 0 213,5G 0 part
type "w" to save the changes
- Now we have our second partition ready, you need to format it and mount it. (Only the second one /dev/sda2)
Code:
mkfs.ext4 /dev/sda2
mount /dev/sda2 /mnt
lsblk
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 25G 0 part
└─sda2 8:2 0 213,5G 0 part /mnt
- Download the Windows ISO and VirtIO ISO to /mnt (wiki - PROXMOX)
I make customs ISO´s of Windows Server 2025 | 2022 | 2019 | 2016 | 2012R2 Standard with GUI + VirtIO & Intel Drivers
BACKUP: GOOGLE DRIVE
I make customs ISO´s of Windows Server 2025 | 2022 | 2019 | 2016 | 2012R2 Standard with GUI + VirtIO & Intel Drivers
BACKUP: GOOGLE DRIVE
Code:
Windows Server 2012R2
wget -P /mnt https://eu1.vpssh.xyz/Windows_Server_2012R2_x64_VirtIO_Intel.iso
wget -P /mnt https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
Windows Server 2016
wget -P /mnt https://eu1.vpssh.xyz/Windows_Server_2016_x64_VirtIO_Intel.iso
wget -P /mnt https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
Windows Server 2019
wget -P /mnt https://eu1.vpssh.xyz/Windows_Server_2019_x64_VirtIO_Intel.iso
wget -P /mnt https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
Windows Server 2022
wget -P /mnt https://eu1.vpssh.xyz/Windows_Server_2022_x64_VirtIO_Intel.iso
wget -P /mnt https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
Windows Server 2025
wget -P /mnt https://eu1.vpssh.xyz/Windows_Server_2025_x64_VirtIO_Intel.iso
wget -P /mnt https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
- Install QEMU-SYSTEM
Code:
apt-get install qemu-system -y
- Launch QEMU (paste the code and tap 2 times to start)
You need to have VNC Viewer installed on your PC to control QEMU environment
You need to have VNC Viewer installed on your PC to control QEMU environment
VPS with Virtual Drive (OVH VPS):
Code:
qemu-system-x86_64 \
-m 1G \
-cpu host \
-enable-kvm \
-boot order=d \
-drive file=/mnt/WINDOWSISONAME.iso,media=cdrom \
-drive file=/mnt/virtio-win.iso,media=cdrom \
-drive file=/dev/sda,format=raw,if=virtio \
-device usb-ehci,id=usb,bus=pci.0,addr=0x4 \
-device usb-tablet \
-net nic,model=virtio-net-pci \
-net user,hostfwd=tcp::3389-:3389 \
-vnc :0 \
Dedicated Servers with Physical Drive (OneProvider):
Code:
qemu-system-x86_64 \
-m 1G \
-cpu max \
-boot order=d \
-drive file=/mnt/WINDOWSISONAME.iso,media=cdrom \
-drive file=/dev/sda,format=raw \
-device usb-ehci,id=usb,bus=pci.0,addr=0x4 \
-device usb-tablet \
-net nic,model=virtio-net-pci \
-net user,hostfwd=tcp::3389-:3389 \
-vnc :0 \
- Write the IP of your server and use "0" as port in VNC Viewer
- For VPS with virtual drivers you need "Load driver" from mounted virtio-win.iso ➤ go to amd64/yourwinversion
- Once you are in Windows, open "SERVER MANAGER" and enable "Remote desktop"
- Now go to your provider's panel and reset the server to "normal mode" and connect via remote desktop.
INSTALL WINDOWS ON HETZNER VPS
I tried to install windows with the other method, but HETNZER does not have virtualization enabled, so it is impossible.
For this I created custom Windows.gz with VirtIO & Intel Drivers (like in the old days) and it worked!
For this I created custom Windows.gz with VirtIO & Intel Drivers (like in the old days) and it worked!
EDIT: (In this case you can run the code in normal mode or rescue, its the same.)
- Go to the HETZNER control panel ➤ "Rescue"
- Go to the HETZNER control panel ➤ "Rescue"
- Copy the credentials ➤ "Power Off" ➤ "Power On" ➤ Now the system will boot in rescue mode
Open Putty ➤ Log in with root credentials ➤ paste this code to install Windows ➤ Lets the magic happens
I make customs .gz of Windows Server 2025 | 2022 | 2019 | 2016 | 2012R2 Standard with GUI + VirtIO & Intel Drivers
BACKUP: GOOGLE DRIVE
Windows Server 2012R2
Code:
wget -O- 'https://eu2.vpssh.xyz/Windows_Server_2012R2_VirtIO_Intel.gz' | gunzip | dd of=/dev/sda
Windows Server 2016
Code:
wget -O- 'https://eu2.vpssh.xyz/Windows_Server_2016_VirtIO_Intel.gz' | gunzip | dd of=/dev/sda
Windows Server 2019
Code:
wget -O- 'https://eu2.vpssh.xyz/Windows_Server_2019_VirtIO_Intel.gz' | gunzip | dd of=/dev/sda
Windows Server 2022
Code:
wget -O- 'https://eu2.vpssh.xyz/Windows_Server_2022_VirtIO_Intel.gz' | gunzip | dd of=/dev/sda
Windows Server 2025
Code:
wget -O- 'https://eu2.vpssh.xyz/Windows_Server_2025_VirtIO_Intel.gz' | gunzip | dd of=/dev/sda
Wait about 15-30 minutes to finish the process, putty should look like this:
"Power Off" ➤ "Power On" ➤ Connect via remote desktop with these credentials
Code:
USER: Administrator
PASS: MyRLSE2024
SPECIAL THANKS TO
BonGuides for "How to Add Drivers into a Windows ISO Installation Image"
BonGuides for "How to Remove Editions from a Windows 10 ISO Image | Remove a Version from Multiple Edition ISO"
Rean's Web for "Custom Windows Server Image on Digital Ocean"
David Dalton for "Creating and formatting partitions in Ubuntu Server"
IF YOU FOUND THIS THREAD HELPFUL YOU CAN HELP ME MAKING A DONATION
USDT / Network ➤ TRON | USDT / Network ➤ BSC BNB Smart Chain (BEP20) | BTC / Network ➤ BSC BNB Smart Chain (BEP20) |
TPKZiQmmyzrfn9nGR9zyLJtC7qWQfzmykF | 0x133879bb1968563a5d72df6f5621d2df98e7ef76 | 0x133879bb1968563a5d72df6f5621d2df98e7ef76 |