Info: Virtual Machines is in beta. Everyone can use it, and every VM it makes is a real computer on your server. Beta means we are still finishing it, so screens may change and you may find a rough edge. Read the known issues before you rely on a VM. What beta means
A VM (virtual machine) is a complete computer that runs inside your HexOS server. It has its own operating system, storage, and memory, and it shares your server's hardware. You can run Windows for a program that needs it, a Linux desktop, or a small appliance system such as Home Assistant OS, without buying another machine.
HexOS does most of the work. Choose a system from the catalog, and HexOS creates the disk, installs the operating system, installs the apps you picked, and tells you when the VM is ready.
Virtual Machines is an open beta. It is on for everyone, with no sign-up. The VMs screens show a Beta badge. Click it to read a short note about the beta.

What this means for you:
VM setup, where HexOS finishes setting up some systems after they start, is part of the same beta.
We know about these and are working on fixes. This list changes as fixes ship.
Go to VMs in the menu. From here you can:


Searching replaces the page with the systems that match. The catalog leaves out systems your server cannot run, because of its TrueNAS version, its processor, or its version of HexOS.
If nothing is left, the screen says No VMs are available for this server yet. When your TrueNAS version is the reason, it also says which version VMs need and which one your server has.
To show VMs at all, your server needs:
If any of these is short, the VMs screen says VMs are unavailable and lists all three, with the one that is short marked.

When you set up a VM:
Some systems in the catalog also need particular processor features or a newer TrueNAS. HexOS leaves out anything your server cannot run. Hardware virtualization (Intel VT-x or AMD-V) must be turned on in your server's BIOS.
If HexOS itself runs as a virtual machine on Proxmox, a few Proxmox settings make VMs run up to twice as fast. See Running HexOS on Proxmox.

HexOS says Setting up and the VM's name, and you can follow the progress in the activity center. See While it is being set up.
Custom install, on the same page, runs the same automated setup but first asks how you will access the VM. Choose it to hand a graphics card to the VM. See Passthrough requirements. Website opens the system's own site.
Info: Hardware checks do not lock the pool that holds your virtual disks. You can create a VM while a drive check runs, but a memory test restarts the whole server and makes it unavailable until the test ends. See New server checklist.
If the system is already installed, its page shows that VM's controls instead of Install. If it is installed more than once, the page asks which one you want to manage. With Expert Mode on, a New button sets up another copy.
Which steps appear depends on the system you chose.
VM details. Give the VM a name. The name can only contain letters, numbers, and underscores. Under Install media, most systems say We'll download the official image and need nothing from you. Windows needs an installer ISO:

Account. The Username and Password you will sign in to the VM with for the first time, and Confirm password. Passwords need at least 8 characters. Linux systems also take an SSH public key (optional). On Linux servers it can replace the password. You can add more users later from inside the VM. A few systems come with a built-in account, so they ask for a password but no username. Appliances skip this step.

Apps. Windows and Linux desktop systems let you choose software to have installed for you, such as a browser, chat apps, media tools, or Steam. Use Find apps to search. HexOS installs your choices once the VM is running, so they are ready when you first sign in. The step shows roughly how much disk they need.

Setup. Only for systems that HexOS can finish setting up after they start, such as Plex Media Server and Home Assistant OS. Each switch is one thing HexOS may do for you. See VM setup.
Storage. The size of the OS install disk and which pool it is on. Click Change to adjust it. You can make a disk larger later, but never smaller. Add disk gives the VM more disks, up to 8 in all, and each one can go on a different pool. If a pool does not have room for the disks on it, HexOS says so and you cannot continue until you change the size or the pool.

Resources. Sliders for Processor cores and Memory. The shaded part of each slider shows what is Reserved for HexOS. The Memory slider also shows what is In use by other VMs and apps right now. Each system has a minimum, and for processor cores HexOS points out the sweet spot: more cores than that will not make the VM faster. Set recommended puts both sliders back. If your server cannot spare what the system needs, the step says how much it needs and how much is free.

Peripherals. Optional. Hand PCI devices (optional) or USB devices (optional), such as a Zigbee stick, directly to the VM. You can pick up to 4 USB devices. Skip this step if you do not need it. See Passthrough requirements.

Review. Check each card, then click Create VM. The Devices card lists the hardware you picked. For a system that reads your folders, such as Plex Media Server, the Shared folders card says which folders the VM can read.

Info: VMs can only boot ISOs stored in your Install Media folder. If you pick a file from somewhere else, HexOS says VMs can only boot ISOs stored in Install Media. Upload or copy the file there, then pick it.
To install an operating system yourself, click Custom VM on the VMs screen, or Add VM > Create custom VM on the Installed VMs screen.


A custom VM does not install the operating system for you. Once it starts, open its console and complete the installer yourself, as you would on a physical PC. The VM boots the installer while its disk is blank, and boots the disk once something is installed on it.
If you chose Provide a download link, HexOS first downloads the ISO. This shows in the activity center as Downloading image, Configuring the VM, and Starting the VM. The VM then appears under Installed VMs.
Setting up a VM takes a while, and Windows can take an hour or more. You can close the window and let it run. Progress appears in the activity center and on the system's page in the catalog, one step at a time. Depending on the system, the steps include Allocating disk, Downloading image, Verifying image, Writing disk image, Configuring the VM, Starting the VM, Installing the operating system (or Installing Windows), Waiting for this VM to come online, Installing apps, and Installing Windows updates. The VM's own page under Installed VMs also shows a live preview of its screen.

When it is done, the activity center says Successfully set up VM. If it fails, HexOS says Failed to set up VM and the VM's name. Open the activity center for the reason.
While automated setup runs, the console and power controls are locked so a stray click cannot interrupt it, and the button reads Setting up. They unlock when setup completes. For Windows they unlock once setup reaches Installing Windows updates.
Windows setup starts by itself. In the rare case that it cannot, HexOS shows Action needed and asks you to open the VM's screen and press a key at the "Press any key to boot from CD or DVD" prompt.
Sometimes setup stops but keeps the VM and its disks. For example, when the system inside never reported that it was ready, HexOS says The VM and its disks were kept and explains why. Once the VM exists, HexOS never removes it or its disks by itself. If setup fails after that, HexOS keeps them and says so, for example Setup stopped. Your VM and disks were kept. You can open the VM to check it, or uninstall it and try again.
Cancel setup is on the system's page in the catalog while it installs. What it does depends on whether the VM exists yet:
Before the VM exists, it asks once. Click Yes, cancel setup. Setup stops and what it made so far is removed. If HexOS made the VM while the dialog was open, it says The VM already exists, so cancelling setup removes it. Reload the page and confirm with the VM's name. Reload the page and click Cancel setup again.

Once the VM exists, it removes the VM. The dialog lists the VM's disks the same way Uninstall does, and asks you to type the VM's name. Click Cancel setup and remove VM. Ticked disks are deleted for good, and unticked disks are kept. See Uninstall.

Either way, installer files HexOS downloaded are kept, so a second attempt is faster.
A custom VM started from a download link has no Cancel setup. Wait for it to finish or fail, then uninstall it.
Go to VMs > Installed VMs and click a VM to open its details. VMs also show on the dashboard. To hide one there, turn off Show on dashboard on its Options tab.
The top of the details shows a Preview of the VM's screen while it runs, its Status, Operating System, Storage, and IP Address. A stopped VM shows its last known address. After you start a VM from HexOS, it can read Starting for a few minutes while its operating system comes up.


On some servers, your server's usual address does not work from inside its own VMs. On those servers each VM also shows Address inside this VM. Use that address from inside the VM to reach your server's shared folders and apps. From any other device, use the server's usual address.
Click Connect to open the VM. When there is more than one way to open it, the arrow beside Connect lists them. The check mark on each row makes it the default:
Clicking the IP Address of a running Windows VM also downloads a Remote Desktop file.

Info: The console and Web UI run on your server, so opening them needs a connection from your own network.
The console has a bar across the top:
Sound from the VM plays through the console.

Copy Files to VM…, or dragging files onto the console, copies files from your computer into the VM. Windows saves them on the Desktop, and Linux in the Downloads folder. A folder arrives as a .zip file. This needs the SPICE guest agent inside the VM. On Windows, install the VirtIO guest tools. On Linux, install spice-vdagent and sign in to the desktop.
Slow Network Mode sends fewer, smaller screen updates, for a slow or distant connection.
Only one browser can use a VM's console at a time. If you open it somewhere else, the first one shows Another Active Session Detected and a Use Here button to take it back. If the VM is off, the console says Virtual Machine Stopped with a Start VM button. If it says Console Session Expired, close the tab and open the console from HexOS again.
You can also use the console from a phone or tablet, with touch gestures, your device's keyboard, and a row of extra keys. See Using a VM's console from a phone or tablet.
The Live metrics tab shows CPU, RAM, Network, and Disk I/O while the VM is running.
You can save while the VM is running. The changes take effect the next time it starts.
The Attached hardware card on the same tab lists any graphics card, USB controller, or other device handed to this VM.


The Disks tab lists the VM's disks and their size. Click Update disk usage to see how full each one is.
Update disk usage and Detect from VM need the VM to be running with its guest agent. The systems in the catalog install the guest agent for you.


A VM has a disc drive, like the DVD drive of a physical PC. To put an ISO in it:
If the VM is running and has a free disc drive, the ISO goes in right away. Otherwise the VM sees it after its next restart. A VM can have up to 5 ISOs attached. An older VM, or one made in TrueNAS, may have no disc drive yet. Attaching an ISO adds one, and a running VM sees it after its next restart.
To take one out, open the ISO's menu on the Disks tab and click Eject for a running VM or Remove for a stopped one. An ejected ISO reads Ejected. Goes away at the next start. until the VM starts again. Only the VM's disc drive changes. The ISO file is never deleted.

Info: VMs can only boot ISOs stored directly in your Install Media folder. See Install media for VMs.
The Options tab has:

| Action | What it does |
|---|---|
| Power on | Starts a stopped VM |
| Power > Reboot | Asks the operating system to shut down, then starts the VM again |
| Power > Shut down | Asks the operating system to shut down normally |
| Power > Force off | Cuts power immediately, like holding the power button. Anything unsaved inside the VM is lost |
| Rename | Changes the name the VM is shown under. Stop the VM first |
| Run setup | Runs VM setup again, for systems that have it |
| Uninstall | Removes the VM. Deletes only the disks you tick |
A running VM shows the Power menu. A stopped VM shows Power on instead.
Warning: Reboot, Shut down and Force off act as soon as you click them, with no question first. If the operating system has not shut down in time, Shut down and Reboot turn the VM off anyway. Save your work inside the VM first. The power button in the console asks before each action.

If Rename says Old TPM data for this name is still on the server, choose a different name.
To uninstall a VM, click Uninstall. The Uninstall VM dialog lists the VM's disks under Disks:
Tick the disks you want deleted, type the VM's name, and click Remove this VM. HexOS shuts the VM down, removes it, and deletes each ticked disk with its snapshots. Unticked disks are kept.

Danger: Ticked disks are deleted for good, with their snapshots. This cannot be undone. Check every tick before you click Remove this VM.
HexOS checks each ticked disk again just before it deletes it. If another VM or a share started using the disk meanwhile, or another disk was copied from it, the disk is kept and HexOS says VM removed. Some disks you ticked were kept.
HexOS asks the VM to shut down and never forces it off. If the VM does not shut down, nothing is removed and HexOS says The VM did not shut down, so nothing was removed. Turn it off, then try again. Click Power > Force off, then click Uninstall again.
Uninstall also removes the setup files HexOS made for the VM, its Windows security data, and the account a system such as Plex Media Server uses to read your folders. Your own ISO files, and the installer files HexOS downloaded, are kept.
VMs you made in the TrueNAS web interface also show under Installed VMs. You can start, stop, and open them from HexOS like any other VM.
Info: Uninstall lists the disks of a VM made in TrueNAS with none of them ticked, because HexOS did not make them. A disk you leave unticked is kept, so a disk you attached from an earlier server or a replication stays on your pool.
VM disks are thin-provisioned: the size you choose is a limit, and the disk only takes up space as it fills. Making a disk bigger later is easy and making it smaller is not possible, so there is no need to over-allocate.
VMs use two locations under Settings > Locations > Virtualization: Virtual Disks for VM disks, and Install Media for ISOs. When you place a disk on a different pool, during setup or with Add disk, HexOS creates a Virtual Disks folder on that pool.
Info: A location cannot be changed while VMs are using it. Uninstall those VMs first.
HexOS has no snapshot choice or snapshot screen right now:
Your VMs keep running when your server cannot reach HexOS. The server's own Command Deck, the one you open at home, keeps showing VMs using the last check it got from HexOS. That check lasts 30 days.
If your server has not reached HexOS in the last 30 days, or has not reached it since Virtual Machines opened to everyone, its own deck hides VMs until it reconnects. Connect the server to the internet once and VMs come back.
| I want to… | Guide |
|---|---|
| Add an ISO or find my Install Media folder | Install media for VMs |
| Hand a graphics card or USB devices to a VM | Passthrough requirements |
| Let HexOS finish setting up Plex or Home Assistant | VM setup |
| Run Plex Media Server as a VM | Plex Media Server VM |
| Use a VM's screen from my phone | Using a VM's console from a phone or tablet |
| Keep a nightly copy of a VM | App backups |
| Bring VMs back after the apps drive fails | When the apps drive fails |