Skip to main content

🖥️ Create the First VM

MOS supports running full virtual machines (VMs) using KVM/QEMU.
This guide walks you through creating and configuring your first VM.

Prerequisite:

Before you can create a VM, you must first enable the VM Service in the settings. Navigate to Settings → Virtualization → VM Service and enable the service. For more details, refer to the VM Service documentation.

Navigate to:

VMs

VM Overview


➕ Creating a VM

Click the three-dot menu (⋮) in the bottom right corner and select + Create VM.

VM Action Button


⚙️ Basic Configuration

VM Menu VM Menu

🏷️ Name

The unique name for your VM as it appears in the overview.

Best practices:

  • Use short, descriptive names
  • Avoid spaces and special characters

🧠 Memory Size (GB)

Defines how much RAM is allocated to the VM.

Use the slider to set the desired memory size in GB.

note

Only allocate as much memory as the VM actually needs to avoid starving the host system.


📌 Core Pinning

Allows pinning vCPUs to specific physical CPU cores.

tip

Useful for performance-critical VMs to reduce CPU scheduling overhead.


🖥️ Machine Type

Defines the emulated machine architecture.

OptionDescription
q35Modern PCIe-based machine (recommended)
pcLegacy i440FX machine

🔢 Version

Defines the version of the selected machine type.

Example: q35 (default)


🔧 BIOS Type

Defines the firmware used to boot the VM.

OptionDescription
ovmfUEFI firmware (recommended for modern OS)
seabiosLegacy BIOS
note

Use ovmf for Windows 11 and modern Linux distributions that require UEFI.


💾 Disks

Click + Add Disk to add a virtual disk to the VM.

VM Disk Menu

Disk Configuration Fields

FieldDescription
SourcePath to the disk image file (e.g. /mnt/main/vms/Test/vdisk1.qcow2)
SizeSize of the virtual disk
BusController type used for the disk
FormatDisk image format
Boot OrderBoot priority (lower = higher priority)

🚌 Disk Bus Options

VM Disk Bus

BusDescription
virtioBest performance (recommended for Linux)
sataGood compatibility
usbUSB-attached disk
scsiSCSI controller
ideLegacy, slowest option

🗄️ Disk Format Options

VM Disk Format

FormatDescription
qcow2Supports snapshots, thin provisioning (recommended)
rawMaximum performance, no snapshot support

💿 CD-ROM

Click + Add CD-ROM to attach an ISO image as a virtual optical drive.

VM CD ROM

CD-ROM Configuration Fields

FieldDescription
SourcePath to the ISO file
BusController type for the CD-ROM
Boot OrderBoot priority

CD-ROM Bus Options

VM CD ROM Format

Available options: virtio, sata (default), usb, scsi, ide

tip

Use sata for best OS installer compatibility.


🪟 VirtIO Drivers

For Windows VMs, VirtIO drivers are required to use virtio disks and network adapters.

Select the VirtIO ISO from the dropdown to attach the driver disk.

note

The VirtIO ISO must be downloaded and placed on the system beforehand. It provides drivers for disk controllers, network adapters, and more inside Windows VMs.

VirtIO Drivers


🌐 Network Adapter

Click + Add Adapter to add a virtual network interface.

Create Network Adapter

Network Configuration Fields

FieldDescription
TypeNetwork connection type
SourceNetwork bridge or interface to connect to
ModelVirtual NIC model
MAC AddressOptional static MAC address

🔗 Network Type Options

TypeDescription
bridgeConnects VM to a host bridge (most common)
macvtapDirect connection via macvtap interface
networkUses a libvirt virtual network

📡 Network Source Options

SourceDescription
br0Physical network bridge (for real network access)
virbr0Virtual NAT bridge (isolated network)

🖧 Network Model Options

ModelDescription
virtioBest performance (recommended)
e1000Intel Gigabit emulation, good compatibility
rtl8139Legacy, broadest compatibility

🖼️ Graphics

Defines how the VM's display is accessed remotely.

Graphics Configuration Fields

FieldDescription
TypeRemote display protocol
KeymapKeyboard layout used inside the VM
PortPort for remote display connection (leave empty for auto)
ListenIP address to listen on (0.0.0.0 = all interfaces)

🖥️ Graphics Type Options

TypeDescription
vncBasic remote display (default, widely supported)
spiceAdvanced protocol with better performance and USB redirection
noneNo graphical output

⌨️ Keymap Options

Select the keyboard layout that matches your physical keyboard:

en-us, en-gb, de, de-ch, fr, fr-be, and more.


🔌 Host Devices

Click + Add Host Device to pass through a physical PCI device directly to the VM.

Create Host Device

warning

PCI passthrough gives the VM exclusive access to the device. The host will no longer be able to use it while the VM is running.

Common use cases:

  • GPU passthrough for gaming VMs
  • Dedicated network card passthrough
  • NVMe/storage controller passthrough

🔌 USB Devices

Click + Add USB Device to pass through a connected USB device to the VM.

Select the USB device from the dropdown — all currently connected USB devices are listed.

Create USB Device

Examples of passthrough devices:

  • Bluetooth adapters
  • USB flash drives
  • Input devices
note

USB passthrough requires the device to be physically connected to the host at VM start time.


✅ Finalizing the VM

Once all settings are configured, click Create to create the VM.

The new VM will appear in the VMs overview with a stopped state.

VM Overview


📋 VM Overview Columns

ColumnDescription
NameVM name and current state
DescriptionOptional description
CPU LoadLive CPU usage while running
DisksAttached disk and ISO paths
PortVNC/SPICE port for remote access
AutostartWhether the VM starts automatically on boot
InfoAdditional VM information

✅ Summary

To create your first VM, follow these steps:

  1. Set a Name and configure Memory
  2. Choose Machine Type and BIOS Type
  3. Add a Disk and select format + bus type
  4. Add a CD-ROM with the OS installer ISO
  5. (Windows only) Attach the VirtIO ISO
  6. Add a Network Adapter
  7. Configure Graphics for remote access
  8. (Optional) Add Host Devices or USB Devices
  9. Click Create — your VM is ready!

Parts of this documentation were created with the assistance of AI tools. All AI-generated content has undergone review, but it may still contain inaccuracies, omissions, or outdated information.