Uploading images for virtual machines

To upload an image

Admin panel

  1. On the Compute > Virtual machines > Images tab, click Add image.
  2. In the Add image window, do the following:

    1. Click Browse and select a file in one of the supported formats: .iso, .img, .qcow2, .raw.
    2. Specify an image name to be shown in the admin panel.
    3. Select the correct OS type from the drop-down list.

      The OS type affects VM parameters such as hypervisor settings. VMs created from an image with an incorrect OS type may not work correctly, for example, they may crash.

  3. Select Share between all projects to make the image available to all projects. With the option disabled, the image will only be visible in the admin project of the Default domain.

  4. For an image in the QCOW2, RAW, or IMG format:

    • Select UEFI boot to mark the image as UEFI bootable.
    • Select vTPM to enable a virtual Trusted Platform Module (TPM) that provides enhanced security to the guest OS. Enabling vTPM also enables UEFI boot, since vTPM requires UEFI mode.
    • These parameters cannot be changed after the image is uploaded. They will be inherited by all VMs and volumes provisioned from the image.

      For Windows 11 and Windows Server 2025, these parameters are mandatory and enabled automatically.

  5. Click Add to start uploading the image. The upload progress will be shown in the bottom right corner.

You can hide the pop-up window without interrupting the upload process. The upload progress will be available in the notification center.

Command-line interface

Use the following command:

vinfra service compute image create [--min-disk <size-gb>] [--min-ram <size-mb>] [--os-distro <os-distro>]
                                    [--protected | --unprotected] [--restricted] [--unrestricted]
                                    [--public] [--private] [--disk-format <disk_format>]
                                    [--container-format <format>] [--tags <tags>] --file <file>
                                    [--uefi] [--vtpm] [--secure-boot] <image-name>
--min-disk <size-gb>
Minimum disk size required to boot from image, in gigabytes
--min-ram <size-mb>
Minimum RAM size required to boot from image, in megabytes
--os-distro <os-distro>
OS distribution. To list available distributions, run vinfra service compute cluster show.
--protected
Protect image from deletion
--unprotected
Allow image to be deleted
--restricted
Make image download restricted
--unrestricted
Allow image to be downloaded
--public
Make image accessible to all users
--private
Make image accessible only to the owners.
--disk-format <disk_format>
Disk format: detect, iso, qcow2, raw (default: detect)
--container-format <format>
Container format: bare
--tags <tags>
A comma-separated list of tags
--file <file>
Create image from a local file
--uefi
Create image with UEFI boot
--vtpm
Enable virtual Trusted Platform Module
--secure-boot
Enable Secure Boot mode
<image-name>
Image name

For example, to create a Cirros image from the local file and upload it to the compute cluster:

# vinfra service compute image create mycirrosimg --file /distr/cirros-0.4.0-x86_64-disk.img
Uploading image to server [elapsed time: 0:00:04]... |

The upload progress will be shown in the command output. To see all of the existing images in the compute cluster, run:

# vinfra service compute image list
+---------------------+-------------+----------+--------+-------------+
| id                  | name        |     size | status | disk_format |
+---------------------+-------------+----------+--------+-------------+
| 179f45ef-c5d6-<...> | mycirrosimg | 12716032 | active | qcow2       |
| 4741274f-5cca-<...> | cirros      | 12716032 | active | qcow2       |
+---------------------+-------------+----------+--------+-------------+