Skip to main content

How to configure QEMU template preferences

QEMU is the most complex node type in GNS3. It has the most configuration options. It supports full hardware virtualization.

Create a Template

This example uses a Cisco IOSv image to show how to create a QEMU template.

  1. Click the "QEMU" option to enter.

    Enter QEMU
  2. Click the + button at the top right to add a new template.

    Click add
  3. Follow the wizard steps. Click "QEMU VM Name".

    Wizard start
  4. Enter the template name. Then click "Platform and memory".

    Enter name
  5. Choose Platform and RAM. Then click "Console type".

    Platform and memory
  6. Set Console type to telnet. Then click "Auxiliary console type".

    Console type
  7. Set Auxiliary console type to none. Then click "Disk image".

    Auxiliary console
  8. Upload the image file.

    Upload disk
  9. If you already have an image, choose Existing Image and the image file. Click "Add Template" to finish.

    Choose existing image
  10. After creation, you can see the new template in the list.

    Creation done
  11. Click the three-dot button on the right to choose Delete, Copy, or Edit.

    Action menu

Differences from Other Node Types

The main difference is that QEMU has the most features and the most configuration options. For specific comparisons between node types, please see the template documentation for each type.

Supported Platforms (28 types)

Architecture seriesPlatforms includedCount
x86i386, x86_642
ARMarm, aarch642
MIPSmips, mips64, mips64el, mipsel4
PowerPCppc, ppc64, ppcemb3
SPARCsparc, sparc642
SuperHsh4, sh4eb2
Xtensaxtensa, xtensaeb2
Microblazemicroblaze, microblazeel2
Otheralpha, cris, lm32, m68k, moxie, or32, s390x, tricore, unicore329

Common Platforms

PlatformArchitectureTypical usePerformance
x86_6464-bit x86General PC/server VMs (recommended)5 stars (KVM acceleration)
i38632-bit x86Old OS (Windows XP, old Linux)3 stars
aarch6464-bit ARMARM servers, Raspberry Pi 4+, modern phones4 stars
arm32-bit ARMRaspberry Pi, embedded devices3 stars
mips6464-bit MIPSMIPS routers (OpenWrt)3 stars
ppc6464-bit PowerPCIBM Power servers2 stars
s390xIBM System zMainframe simulation2 stars

Suffix Meaning

SuffixDescription
(none)Default byte order
elLittle Endian
ebBig Endian

For example: mips64 = MIPS64 big endian, mips64el = MIPS64 little endian

NIC Types (25 types)

SeriesCountTypes
e1000 series4e1000, e1000-82544gc, e1000-82545em, e1000e
i8255x series11i82550, i82551, i82557a/b/c, i82558a/b, i82559a/b/c/er, i82562, i82801
Other Intel1igb
Legacy NICs3ne2k_pci, pcnet, rtl8139
High-performance NICs4virtio, virtio-net-pci, vmxnet3, rocker

The default NIC type is e1000. This is the most common Intel Gigabit Ethernet emulation. It works with most Linux/Windows guest OS.

Disk Interface Types (10 types)

Interface typeTypical usePerformanceGuest support
ideTraditional hard drive, CD/DVDLow (simulated IDE)General, all OS support it
sataModern SATA hard drive, CD/DVDMedium (AHCI)Windows Vista+, Linux 2.6+
scsiSCSI hard drive, tape driveHigh (LSI Logic)Server OS, Linux
virtioParavirtualized disk (best performance)Highest (virtio-blk)Linux/KVM/BSD recommended
nvmeNVMe SSDVery high (modern SSD)Linux 3.19+, Windows 8+
sdSD card (embedded devices)LowARM embedded, Raspberry Pi
mtdMemory Technology Device (Flash)Very lowEmbedded Linux, OpenWrt
floppyFloppy disk driveVery lowOld OS (MS-DOS, Windows 95)
pflashParallel Flash (BIOS/UEFI firmware)N/AUEFI firmware storage
noneNo drive attached (define only, no connection)N/AAdvanced use (manual hotplug)

Console Types (7 types)

TypeDescription
vncVNC protocol
telnetTelnet (default)
sshSSH
spiceSPICE protocol
spice_agentSPICE with guest agent
noneNo console

Boot Priority

Single choice: c (hard disk), d (CD/DVD), n (network) Combinations: cn, cd, dn, dc, nc, nd

Key Features

  1. Linked Clone -- uses qcow2 backing file. Multiple VMs share the same base image. Only saves changed data
  2. Config Disk -- automatically creates a config disk on the HDD interface. Uses mcopy to import and export config
  3. Hardware Acceleration Detection -- detects KVM on Linux, HAXM on macOS. Falls back to TCG software emulation
  4. Security Limits -- blocked QEMU parameters (to prevent escape): -blockdev, -drive, -hda, -hdb, -hdc, -hdd, -fsdev, -virtfs, -nic, -netdev
  5. Network State Sync -- automatically sends set_link commands to simulate cable plug/unplug

QEMU Template Configuration Details

General Settings

FieldTypeUse
Template nameTextName of the template, shown in the list
Default name formatTextAuto-naming format for instances, e.g. {name}-{0}
CategoryDropdownDevice category: Router/Switch/End devices, etc.
SymbolText + buttonTopology icon, can be chosen from the icon library
TagsChip inputTags for sorting/filtering
PlatformDropdownSystem architecture, 35 types total. Must match the image architecture
RAMNumber (MB)Memory to give to the VM
vCPUsNumberNumber of virtual CPU cores
Boot priorityDropdownBoot order: HDD / CD/DVD-ROM / Network
On closeDropdownWhat to do when the VM is closed
Console typeDropdownMain console type: telnet / ssh / vnc / spice / none
Auxiliary console typeDropdownAuxiliary console type
Auto start consoleCheckboxAutomatically opens the console when the VM starts
General settings

HDD Configuration

Supports 4 IDE channels (HDA/HDB/HDC/HDD). Each channel is configured separately:

ChannelDescription
HDA (Primary Master)Main disk, usually the system disk
HDB (Primary Slave)Primary slave disk
HDC (Secondary Master)Secondary master disk
HDD (Secondary Slave)Secondary slave disk

Each disk includes:

Sub-fieldTypeUse
Disk imageText + autocompletePath to the disk image file
Disk interfaceDropdownInterface type: ide / sata / scsi / sd / virtio / nvme / mtd / floppy / pflash / none

Interface type description:

  • ide -- Traditional IDE interface, good compatibility, low performance
  • sata -- Modern SATA interface, recommended for Windows/Linux VMs
  • scsi -- SCSI interface, high performance, used for server systems
  • virtio -- Paravirtualized driver, best performance, needs virtio drivers installed in the OS
  • nvme -- NVMe SSD interface, very high performance, modern Linux and Windows 10+ support
HDD configuration

CD/DVD Configuration

FieldTypeUse
UploadButtonUpload a local ISO image
ImageText + autocompleteISO image path
CD/DVD configuration

Network Configuration

FieldTypeUse
AdaptersNumberNumber of network adapters
First portTextName of the first port, e.g. eth0
Name formatTextPort naming format, e.g. eth{0}
Segment sizeNumberPort segment size
Base MACText (format xx:xx:xx:xx:xx:xx)Base MAC address
TypeDropdownNIC model, 24 types total
Configure custom adaptersButtonSet a different NIC model for each port
Replicate network connection stateCheckboxCopy network connection state when saving/restoring

Common NIC models: e1000 series, virtio (best performance), rtl8139 (very good compatibility), vmxnet3 (VMware optimized)

Network configuration

Custom Adapter Configuration

Click "Configure custom adapters" to open the dialog. One adapter per row:

ColumnField typeUse
AdapterRead-only labelAdapter number, auto-increment
Port nameText inputPort name, can be customized
TypeDropdownNIC model, can override the template default
MAC addressText inputMAC address, leave empty for auto-generation
ActionDelete buttonDelete this adapter

The dialog uses incremental saving: it only saves adapter configurations that are different from the default.

Custom adapters

Advanced Settings

Linux Boot Specific Settings

FieldTypeUse
Initial RAM disk (initrd)File + uploadLinux initrd image
Kernel imageFile + uploadLinux kernel image
Kernel command lineTextKernel boot parameters, e.g. console=ttyS0

BIOS

FieldTypeUse
Bios imageFile + uploadCustom BIOS image (e.g. SeaBIOS, UEFI firmware)

Optimization

FieldTypeUse
Activate CPU throttlingCheckboxEnable CPU throttling
Percentage of CPU allowedNumberAllowed CPU usage percentage (0-100)
Process priorityDropdownQEMU process priority

Additional Settings

FieldTypeUse
Custom Qemu binary pathTextCustom path to the QEMU executable
OptionsTextExtra QEMU command line parameters
Use as a linked base VMCheckboxLinked clone mode, shares the base image
Enable TPMCheckboxTPM 2.0 module, required for Windows 11
Enable UEFI boot modeCheckboxUEFI boot mode (needs OVMF firmware)
Max CPUs (hot-plug)NumberMaximum number of CPUs (hot-plug limit)
Auto-create config diskCheckboxAutomatically create a config disk
Advanced settings