Creating the Virtual Machine
This page creates the virtual machine Koios will run on, using Hyper-V on Windows Server or Windows 10/11 Pro. It assumes you have never used Hyper-V before.
You will finish with a powered-on virtual machine booted from the Ubuntu installer, ready for Installing Ubuntu.
If you are using VMware, Proxmox, or a physical machine, skip this page — Choosing a Host lists the equivalent settings.
Everything on this page happens on the Windows host. Set aside about 15 minutes, plus the Ubuntu download.
Before You Start
Download the Ubuntu Server 26.04 LTS installer image from the Ubuntu website onto the Windows machine. It is a single file ending in .iso, roughly 3 GB. Take the standard 64-bit server image — not the desktop image, and not a cloud image.
Note where it saved. You will browse to it later.
Step 1: Enable Hyper-V
Skip this if Hyper-V Manager already opens from the Start menu.
On Windows Server, open Server Manager, choose to add roles and features, and select the Hyper-V role. Accept the management tools it offers to add alongside it. The server restarts.
On Windows 10/11 Pro, search the Start menu for Windows Features, tick Hyper-V — including both entries beneath it — and restart when prompted.
Windows Home editions cannot run Hyper-V at all — use Windows Pro, Windows Server, or one of the alternatives in Choosing a Host.
If Hyper-V refuses to enable on an edition that does support it, virtualization is usually switched off in the machine's firmware. Restart into the BIOS or UEFI settings and enable the virtualization option — Intel calls it VT-x, AMD calls it AMD-V or SVM.
Step 2: Create a Virtual Switch
The virtual switch is how the virtual machine reaches your network. Create it before the virtual machine, because the wizard will ask for it.
Open Hyper-V Manager from the Start menu. Select your server in the left-hand pane, then open the Virtual Switch Manager from the Actions pane on the right.
Create a new virtual switch of type External, name it something you will recognise later, and — this is the important part — bind it to the physical network adapter that is actually connected to your network. If the machine has several adapters, pick the one on the same network as the equipment Koios will read.
Leave Allow management operating system to share this network adapter ticked, so the Windows host keeps its own network connection.
Applying this briefly interrupts the Windows host's own network connection. That is expected. Do not do it over a remote desktop session to that host unless you are prepared to reconnect.
Step 3: Create the Virtual Machine
Back in Hyper-V Manager, start the new virtual machine wizard from the Actions pane. Work through it as follows:
Two notes on those values:
- These are starting points, not limits. 8 GB and 50 GB run a few hundred tags with a model or two. A larger site wants more of both — System Requirements gives the ranges and what pushes you up them. Set them higher here if you already know the site is big.
- Dynamic memory must be off. Koios holds recent data in memory to serve live values and trends. A host reclaiming memory from it mid-scan shows up as slow pages and gaps in data, and it is hard to trace back to this setting. Give it a fixed amount.
- The disk grows as it is used. A virtual disk consumes only what is written to it, so a larger figure here costs nothing today and saves a resize later. Sizing it too small is much the harder problem to fix.
Finish the wizard. Do not start the virtual machine yet — one setting still has to change.
Step 4: Turn Off Secure Boot
This is the step that stops most first-time installations. A Generation 2 virtual machine will not boot the Ubuntu installer with its default Secure Boot settings — it powers on, shows nothing useful, and eventually drops to a boot menu with no explanation.
With the virtual machine still shut down, open its Settings from Hyper-V Manager and go to Security.
Either untick Enable Secure Boot, or leave it on and change the template to Microsoft UEFI Certificate Authority. Both work; changing the template keeps Secure Boot active and is the better choice if your site requires it.
The default template is for Windows, and it will not accept Ubuntu's bootloader.
Step 5: Adjust the Processor Count
While you are in Settings, open Processor and set the number of virtual processors to 4 or more. The default is 1, which is below what Koios needs.
Apply the changes and close Settings.
Step 6: Start It
Select the virtual machine, start it, and then connect to it to open the console window.
Press a key as soon as it asks you to — the prompt lasts a couple of seconds, and missing it drops the machine to a boot menu with no operating system found. Reset it and try again, clicking inside the console window first so your keystrokes reach the virtual machine.
Within a minute you should see the Ubuntu installer's language selection screen. That is where the next page picks up.
A Note on the Console Window
The console is a plain window with no mouse integration — you navigate the Ubuntu installer with arrow keys, Tab, and Enter, which is how that installer is designed to work anyway.
Copy and paste do not work in this window. Hyper-V's enhanced session mode, which would provide them, needs a graphical desktop in the guest, and Ubuntu Server does not have one. So anything you want on this machine has to be typed by hand, correctly, with no way to paste it and no way to copy an error message back out.
That is not a small inconvenience — it shapes the next two pages. The Ubuntu installer asks for a network address and offers to install an SSH server, so set both there. The machine then comes up reachable, you connect from your own computer with a normal terminal, and every command after that is pasted rather than typed.
If you do get stuck typing something long, the console window's Clipboard menu can type your clipboard contents in as keystrokes. It is slow and can drop or reorder characters, so check the result rather than trusting it, and do not use it for anything indentation-sensitive.
What's Next
- Installing Ubuntu: install the operating system
