qvm-create – create new domain


qvm-create [-h] [–verbose] [–quiet] [–force-root] [–class CLS] [–property NAME=VALUE] [–pool POOL_NAME:VOLUME_NAME] [–template VALUE] –label VALUE [–root-copy-from FILENAME | –root-move-from FILENAME] VMNAME qvm-create –help-classes


--help, -h

show help message and exit

--verbose, -v

Increase verbosity.

--quiet, -q

Decrease verbosity.


shortcut for –class StandaloneVM, see below


shortcut for –class DispVM –label red, see below


List available qube classes and exit. See below for short description.

--class, -C

The new domain class name (default: AppVM for qubes.vm.appvm.AppVM).

--prop=NAME=VALUE, --property=NAME=VALUE

Set domain’s property, like “internal”, “memory” or “vcpus”. Any property may be set this way, even “qid”.

--template=VALUE, -t VALUE

Specify the TemplateVM to use, when applicable. This is an alias for --property template=VALUE.

--label=VALUE, -l VALUE

Specify the label to use for the new domain (e.g. red, yellow, green, …). This in an alias for --property label=VALUE.

--root-copy-from=FILENAME, -r FILENAME

Use provided root.img instead of default/empty one (file will be copied). If the provided file does not have the same size as the system volume being created, the VM will still be created but with an empty system volume, and the program will report an error. This option is mutually exclusive with --root-move-from.

--root-move-from=FILENAME, -R FILENAME

Like --root-copy-from, but remove provided root.img file after succesful copy. This option is mutually exclusive with --root-copy-from.


Pool to use for the new domain. All volumes besides snapshots volumes are imported in to the specified POOL. THIS IS WHAT YOU WANT TO USE NORMALLY.


Specify the pool to use for the specific volume

Qube classes

Qube class (or type) specify basic features of it, mostly what data persists across reboots and what properties qube have.


Default qube class, for template-based qubes. In this type, root volume is used from its template and changes made to it are discarded at qube restart. Changes in qube’s private volume are persistent.


This qube class have both root and private volumes persistent. This qube type does not have template property.


A qube that can be used as a template for AppVM. Otherwise very similar to StandaloneVM.


A disposable qube - no data persists across qube restarts. It must have template set to an AppVM instance that have dispvm_allowed property set to true (see qvm-prefs(1)).


Joanna Rutkowska <joanna at invisiblethingslab dot com>
Rafal Wojtczuk <rafal at invisiblethingslab dot com>
Marek Marczykowski <marmarek at invisiblethingslab dot com>
Wojtek Porczyk <woju at invisiblethingslab dot com>
Bahtiar kalkin- Gadimov <bahtiar at gadimov dot de>