multipass launch command without any argument will create and start a new instance based on the default image, using a random generated name:
$ multipass launch
You can then shell into that instance by its name:
$ multipass shell relishing-lionfish
multipass help launch output explains the available options:
$ multipass help launch
Usage: multipass launch [options] [[<remote:>]<image> | <url>]
Create and start a new instance.
-h, --help Display this help
-v, --verbose Increase logging verbosity, repeat up to three times for
-c, --cpus <cpus> Number of CPUs to allocate
-d, --disk <disk> Disk space to allocate. Positive integers, in bytes, or
with K, M, G suffix. Minimum: 512M.
-m, --mem <mem> Amount of memory to allocate. Positive integers, in
bytes, or with K, M, G suffix. Mimimum: 128M.
-n, --name <name> Name for the instance
--cloud-init <file> Path to a user-data cloud-init configuration, or '-' for
image Optional image to launch. If omitted, then the default
Ubuntu LTS will be used.
<remote> can be either ‘release’ or ‘daily‘. If <remote>
is omitted, ‘release’ will be used.
<image> can be a partial image hash or an Ubuntu release
version, codename or alias.
<url> is a custom image URL that is in http://, https://,
or file:// format.
The only, optional, positional argument is the image to launch an instance from. See the
multipass find documentation for information on what images are available. It’s also possible to provide a full URL to the image (use
file:// for an image available on the host running
You can change the resources made available to the instance by passing any of
--mem options, allowing for more CPU cores, disk space or RAM, respectively.
If you want your instance to have a name of your choice, use
--name. It has to be unique, two instances can’t share the same name.
By passing a filename to
--cloud-init, you can provide “user data” to
cloud-init to customize the instance on first boot. See their documentation for examples.