Note: I want this guide to be simple, while also allowing anyone to follow it, regardless of their technical skills. If you have any issues, or any ideas that could improve this guide for yourself and others, please leave a comment!
About Vultr and this guide
Vultr is a Digital Ocean competitor which offers cheap, KVM based VPSes across Europe, Asia and North America.
One major advantage Vultr has over Digital Ocean is the fact they allow custom ISOs, so we can use Vultr as a cheap Windows VPS in almost any part of the World. However, with Windows you need to integrate VirtIO drivers into the ISO before you can install it. In this guide I will explain how to do this easily. I am going to assume that you are able to access/download an original Windows ISO.
The first thing you will need to do is sign up to Vultr. You can sign up by using this link. You can also check my post on Vultr coupons to get some free credit.
Next, we’re going to create integrate the VirtIO drivers into the ISO, and upload it to Vultr. The ISO will be about 3GB, so if you have a slow internet connection it would take a long time to upload. To speed up the process and make it easier, we can integrate the drivers on a Vultr instance, and take advantage of the gbit connection for just a few cents (as we only need the instance for an hour or two).
Note: If you have a fast internet connection, you can integrate the drivers on your own computer and skip this next part.
Spinning up a Vultr instance (if you have a slow internet connection)
Once you have created a Vultr account and made a deposit, go to the Deploy tab and choose a location close to you, then for the Operating System choose Windows 2012 R2 x64) and click Place Order.
Note: this will show up as being more expensive due to the license costs, however since we only need it for a couple of hours, it will only cost around $0.10.
Once the VPS is setup (this will take a minute or so) you can click Manage and then View Console to finish setting up Windows.
When this is complete, you will have access to a Windows desktop (note: the default password wlll be shown in the Vultr control panel) with a 1gbit connection. The next thing to do is enable downloads, so you can download the original ISO.
Once Windows has finished installing, and you are logged in, open Internet Explorer then go to Settings (the little cog top right) then Internet Options then Security then Internet then click Custom Level.
Then, in the list find File Downloads and click Enable. Then find Allow Scripting and click Enable. Then click OK and restart Internet Explorer. You should now be able to properly browser the web and download files.
Once you’ve done this you can proceed to the next step.
Downloading, modifying and preparing the ISO
Now the explanation and boring parts are over with, here’s what you’re really looking for.
The first step is to get an original copy of the Windows OS you want (this guide is confirmed to work with Windows 10, Server 2008 and Windows 7). It should be a 64-bit (x64) ISO. You can either insert the DVD into your computer and copy the files over from My Computer, download an ISO from Microsoft (you will need a serial key for this) or if you just want a trial version, you can find it on a torrent site (note: make sure it’s a reputable upload from a reputable user on a reputable site).
If you have a disc, simply copy the files into a folder on the desktop called Windows. If you have an ISO, then you can install WinRAR and extract the files from the ISO (extract them into a folder and rename the folder to Windows).
Next, download the VirtIO ISO from here. Once the ISO has downloaded, extract the files using WinRAR into a folder called VirtIO and copy the VirtIO folder into the Windows folder.
Building the ISO
Now you have done most of the hard work, it’s time to build the ISO and upload it to Vultr. To build the ISO, we will use ImgBurn so download and install it from here.
Once it’s installed, open it up and choose Create image file from files/folders.
Then, to the right of Source click on the folder icon with a magnifying glass and navigate to your Windows folder (the one you extracted the ISO to).
Click the same icon next to Destination and choose a location for the ISO. Call it something like WinVirtIO.iso
Then click on the Options tab and set File System to UDF.
Then click on the Labels tab and next to UDF type WindowsVirtIO.
Then click on the Advanced tab and click Bootable Disc.
Enable the following options
- Emulation Type: None (Custom)
- Boot Image: (click the folder icon, navigate to your Windows ISO folder and choose etfsboot.com in the boot folder.
- Developer ID: Microsoft Corporation
- Sectors To Load: 8
Then click Build (the image with the folder and an arrow pointing to a DVD) and wait for it to finish.
Uploading the ISO to Vultr
Now you have the ISO, download Mongoose Web Server from here and place the .exe file in the same folder as your new ISO (WinVirtIO.iso). Once you’ve done that, double-click on it and it will take you to a webpage with a list of files on. Your ISO should be in the list.
After that, go to the Windows Control Panel then click Windows Firewall then Allow programs to communicate through Windows Firewall then Allow another program then Browse then navigated to mongoose.exe and click Add.
Now, from your local machine, access http://<YOUR VULTR IP>:8080 and see if it loads your files. If you can see your ISO, it’s working.
Now, log into the Vultr control panel, go to My Servers, then ISOs, then in the Remote URL box enter the following:
http://<YOUR VULTR IP>:8080/WinVirtIO.iso and click Upload.
Installing the custom ISO
Once the ISO has finished installing, you’re ready to deploy an instance. Go to the Deploy tab, choose your location, then for Operating System choose Custom and select your ISO from the dropdown menu.
After about a minute, click Manage then View Console and wait for the installation screen. Select your language, and click OK.
When it asks what type of installation you want, choose Custom (advanced) then click Load Driver, then Browse and navigate to your the VirtIO folder (on the DVD), then expand viostor and then WIN7 (or WIN8.1 for Windows 10 and WIN8 for Windows 8, Server 2012) and click AMD64 then click OK.
After that, select the Red Hat VirtIO driver from the list and click Next. Once Windows has been installed, you will need to go into the device manager (type devmgmt.msc in the search bar next to the Windows button on the taskbar and press enter).
Then right click on the ethernet adapter (with an exclamation mark next to it) go to update driver software then Browse then navigate to the Windows DVD (usually D:), then your virtio folder, then NetKVM then WIN7 (or WIN8 for Windows Windows 10, Windows 8, Server 2012) and click AMD64 then click OK.
When it asks what type of installation you want, choose Custom (advanced) then click Load Driver, then Browse and navigate to your VirtIO folder (on the DVD), then expand WIN7 (or WIN8 for Windows Windows 10, Windows 8, Server 2012) and click AMD64 then click OK.
After that, select both Red Hat VirtIO drivers from the list (hold Ctrl down on the keyboard while you click on them) and click Next.
After that, continue the Windows setup like normal.
That’s it, you’re all done. Enjoy your cheap Windows VPS, and if you have any issues please leave a comment below.
Thanks for reading.