Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • VibeCraft
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Compute Cloud
    • Все инструкции
        • Подготовить образ диска
        • Загрузить свой образ
        • Создать образ из диска
        • Создать образ из снимка диска
        • Создать образ из другого пользовательского образа
    • Просмотр операций с ресурсами
    • Просмотр метрик Monitoring
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Настройте ОС в соответствии с требованиями
  • Установите virtio-драйверы
  • Настройте серийную консоль
  • Отключите проверку облачной платформы при создании образа в Amazon EC2
  • Установите драйверы для совместимости с GPU
  • Создайте файл с образом
  1. Пошаговые инструкции
  2. Образы
  3. Создание
  4. Подготовить образ диска

Подготовить свой образ диска

Статья создана
Yandex Cloud
Улучшена
Bezuglov S.
Обновлена 24 июня 2026 г.
Открыть в Markdown
  • Настройте ОС в соответствии с требованиями
    • Установите virtio-драйверы
    • Настройте серийную консоль
  • Отключите проверку облачной платформы при создании образа в Amazon EC2
  • Установите драйверы для совместимости с GPU
  • Создайте файл с образом

Примечание

Использовать можно только образы, подготовленные по этой инструкции.

Вы также можете ознакомиться с готовыми образами в Yandex Cloud Marketplace.

Вы можете использовать собственный файл с образом диска виртуальной машины под управлением операционной системы из семейства Linux. После подготовки образа загрузите его в Compute Cloud.

Если вы подготовили программное обеспечение, которое может быть полезно другим, предложите его в Yandex Cloud Marketplace.

Совет

Чтобы использовать UEFI/EFI-загрузчик, при создании образа и виртуальной машины Compute Cloud выбирайте поколение оборудования Gen 2. Подробнее о создании ВМ, работающей на виртуализированном оборудовании поколения Gen 2, читайте в инструкции.

Чтобы загружаться с дисков объемом более 2 ТБ с разметкой GUID Partition Table (GPT) на виртуальных машинах, работающих на оборудовании поколений Gen 1.1 и Gen 1.2, используйте загрузчик GRUB 2.

Настройте ОС в соответствии с требованиямиНастройте ОС в соответствии с требованиями

Для образов загрузочного диска должны выполняться следующие требования:

  • Установлены драйверы virtio-net, virtio-blk и virtio-pci. Если вы собираетесь подключать к виртуальной машине файловые хранилища, также должен быть установлен драйвер virtiofs. Смотрите инструкцию.
  • Терминал ttyS0 (порт COM1) настроен в качестве серийной консоли. Смотрите инструкцию.
  • Сетевой интерфейс корректно запускается при старте ВМ и получает IP-адрес по DHCP.
  • Пакет cloud-init установлен и настроен для работы с нашим сервисом метаданных. Установить пакет для CentOS можно с помощью команды sudo yum install cloud-init, для Debian или Ubuntu — sudo apt update && sudo apt install -y cloud-init.
  • Если образ создан на основе Amazon Machine Image (AMI), в настройках cloud-init отключена проверка облачной платформы, на которой запускается ВМ. Смотрите инструкцию.
  • В настройках системного файрвола открыт необходимый минимум портов для работы ваших приложений, а также порт для доступа по SSH (по умолчанию это порт 22 TCP).
  • SSH-сервер запускается автоматически при старте ВМ.
  • Сервисы с вашим приложением устойчивы к перезагрузке ВМ.
  • В зависимости от поколения оборудования, которое будет закреплено за создаваемым образом, для загрузочного диска должны использоваться разные форматы размещения таблиц разделов жесткого диска:

    • поколения Gen 1.1 и Gen 1.2 — для загрузочного диска используется MBR-разбивка;
    • поколение Gen 2 — для загрузочного диска используется GPT-разбивка.
  • Диск смонтирован по UUID, а не по имени.
  • Файловая система не зашифрована.

Установите virtio-драйверыУстановите virtio-драйверы

Для успешной загрузки в ОС должны присутствовать драйверы virtio-blk, virtio-net и virtio-pci, а для работы с файловыми хранилищами Compute Cloud — virtiofs.

Большинство современных дистрибутивов по умолчанию содержит драйверы virtio. Драйверы могут быть скомпилированы в виде отдельных файлов .ko или входить в состав самого ядра.

По инструкции ниже вы можете проверить, установлены ли драйверы, и при необходимости добавить их в ОС.

  1. Узнайте, входят ли драйверы в конфигурацию ядра:

    Как узнать

    Выполните команду:

    grep -E -i "VIRTIO_(BLK|NET|PCI|FS)" /boot/config-$(uname -r)
    

    Если на экране не появились строки, начинающиеся на CONFIG_VIRTIO_BLK=, CONFIG_VIRTIO_NET=, CONFIG_VIRTIO_PCI= и CONFIG_VIRTIO_FS=, нужно заново скомпилировать ядро Linux с virtio-драйверами. В противном случае переходите к следующим шагам.

  2. Если на шаге 1 на экране появились строки CONFIG_VIRTIO_BLK=y, CONFIG_VIRTIO_NET=y, CONFIG_VIRTIO_PCI=y и CONFIG_VIRTIO_FS=y, проверьте, что драйверы входят в состав ядра:

    Как проверить драйверы в составе ядра

    Выполните команду:

    grep -E "virtio(_blk|_net|_pci|fs)" /lib/modules/"$(uname -r)"/modules.builtin
    
    • Если на экране появились строки с файлами virtio_net.ko, virtio_blk.ko, virtio_pci.ko и virtiofs.ko, драйверы входят в состав ядра, устанавливать их не нужно.
    • Если на экране не появились такие строки, нужно заново скомпилировать ядро Linux с virtio-драйверами.
  3. Если на шаге 1 на экране появились строки CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m, CONFIG_VIRTIO_PCI=m и CONFIG_VIRTIO_FS=m, проверьте, что драйверы установлены в качестве модулей ядра:

    Как проверить модули ядра
    CentOS/Fedora
    Debian/Ubuntu

    Выполните следующую команду:

    sudo lsinitrd /boot/initramfs-$(uname -r).img | grep -E "virtio(_blk|_net|_pci|fs)"
    
    • Если на экране появились строки с файлами virtio_net.ko.xz, virtio_blk.ko.xz, virtio_pci.ko.xz и virtiofs.ko.xz, драйверы установлены в качестве модулей ядра.

    • Если на экране не появились такие строки, создайте резервную копию файла initramfs и установите драйверы:

      sudo cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
      sudo mkinitrd -f --with=virtio_blk --with=virtio_net --with=virtio_pci --with=virtiofs /boot/initramfs-$(uname -r).img $(uname -r)
      

      Если на экране появилась ошибка Command 'mkinitrd' not found, установите драйверы с помощью утилиты dracut:

      sudo dracut -f --add-drivers "virtio_blk virtio_net virtio_pci virtiofs" /boot/initramfs-$(uname -r).img $(uname -r)
      

      После этого перезапустите ОС и проверьте, что драйверы появились в файле initramfs и загрузились:

      sudo lsinitrd /boot/initramfs-$(uname -r).img | grep -E "virtio(_blk|_net|_pci|fs)"
      find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "(blk|net|pci|fs)"
      

      После каждой из команд на экране должны появиться строки с файлами virtio_net.ko.xz, virtio_blk.ko.xz, virtio_pci.ko.xz и virtiofs.ko.xz.

    Выполните следующую команду:

    lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "virtio(_blk|_net|_pci|fs)"
    
    • Если на экране появились строки с файлами virtio_net.ko, virtio_blk.ko, virtio_pci.ko и virtiofs.ko, драйверы установлены в качестве модулей ядра.

    • Если на экране не появились такие строки, установите драйверы:

      echo -e "virtio_blk\nvirtio_net\nvirtio_pci\nvirtiofs" | sudo tee -a /etc/initramfs-tools/modules
      sudo update-initramfs -u
      

      После этого перезапустите ОС и проверьте, что драйверы появились в файле initrd и загрузились:

      lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "virtio(_blk|_net|_pci|fs)"
      find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "(blk|net|pci|fs)"
      

      После каждой из команд на экране должны появиться строки с файлами virtio_net.ko, virtio_blk.ko, virtio_pci.ko и virtiofs.ko.

Настройте серийную консольНастройте серийную консоль

Серийная консоль — это способ получить доступ к ВМ вне зависимости от состояния сети или ОС. Используйте серийную консоль, например, для устранения неисправностей ВМ или при возникновении проблем с доступом через SSH. Подробнее в разделе Серийная консоль виртуальной машины.

Чтобы к ВМ можно было подключаться с помощью серийной консоли, настройте для образа терминал ttyS0 (порт COM1) в качестве системной консоли:

  1. В файле с настройками GRUB /etc/default/grub добавьте в значение параметра GRUB_CMDLINE_LINUX опцию console=ttyS0. Строка с этим параметром должна иметь такой вид:

    GRUB_CMDLINE_LINUX="foo=bar baz console=ttyS0"
    
  2. Убедитесь, что в файле /etc/securetty с перечислением терминалов, через которые пользователь root может войти в ОС, есть строка ttyS0. Если файла не существует, создайте его.

    Примечание

    В некоторых ОС файл /etc/securetty не используется, и пользователю root по умолчанию разрешен доступ ко всем терминалам. Если вы хотите настраивать доступ с помощью этого файла, нужно добавить в файл /etc/pam.d/login указание на модуль pam_securetty.so. Подробнее смотрите man pam_securetty и man pam.d.

  3. Выполните следующие команды:

    CentOS/Fedora
    Debian/Ubuntu
    sudo stty -F /dev/ttyS0 9600 # Устанавливает рекомендуемую скорость терминала ttyS0 — 9600 бод.
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Генерирует конфигурационный файл для GRUB.
    sudo systemctl start getty@ttyS0 # Запускает getty на терминале ttyS0.
    sudo systemctl enable getty@ttyS0 # Указывает, что getty нужно запускать при каждом включении ОС.
    
    sudo stty -F /dev/ttyS0 9600 # Устанавливает рекомендуемую скорость терминала ttyS0 — 9600 бод.
    sudo update-grub # Генерирует конфигурационный файл для GRUB.
    sudo systemctl start getty@ttyS0 # Запускает getty на терминале ttyS0.
    sudo systemctl enable getty@ttyS0 # Указывает, что getty нужно запускать при каждом включении ОС.
    
  4. Перезапустите ОС.

После создания ВМ из образа ее нужно будет дополнительно настроить для работы с серийной консолью.

Отключите проверку облачной платформы при создании образа в Amazon EC2Отключите проверку облачной платформы при создании образа в Amazon EC2

Если вы создаете образ в Amazon EC2 на основе Amazon Machine Image, cloud-init проверяет, что ВМ запускается в Amazon EC2. ВМ в Yandex Compute Cloud не пройдут проверку и могут работать некорректно.

Чтобы этого не произошло, отключите проверку метаданных на ВМ. Для этого создайте в директории /etc/cloud/cloud.cfg.d конфигурационный файл, например 99-ec2-datasource.cfg, и добавьте в него код:

#cloud-config
datasource_list: [Ec2]
datasource:
  Ec2:
    strict_id: false

Внимание

В релизах пакета cloud-init, начиная с версии 25.1.4, а также 24.4.1-0ubuntu0~20.04.3+esm1 и 23.1.2-0ubuntu0~18.04.1+esm1, были внесены изменения, которые могут повлиять на работу существующих виртуальных машин, созданных из пользовательских образов.

После обновления у таких виртуальных машин может наблюдаться проблема с запуском из снимка или образа загрузочного диска.

Чтобы исправить эту проблему, на существующей ВМ выполните команду:

echo "datasource_list: [Ec2]" | sudo tee /etc/cloud/cloud.cfg.d/99999_ds_list.cfg

Установите драйверы для совместимости с GPUУстановите драйверы для совместимости с GPU

Если при работе с ВМ потребуется GPU, во время подготовки образа установите драйверы NVIDIA.

Создайте файл с образомСоздайте файл с образом

Поддерживаемые форматы: Qcow2, VMDK, RAW и VHD.

Рекомендуется использовать формат Qcow2 с оптимизированным размером кластера, чтобы ускорить импорт. Сконвертировать образ из других форматов можно с помощью утилиты qemu-img:

qemu-img convert -p -O qcow2 -o cluster_size=2M <имя_вашего_файла_образа> <имя_нового_файла_образа>

Примечание

Не используйте программы для сжатия или архивирования при подготовке файла с образом. Для увеличения скорости создания ВМ из образа, вы можете его оптимизировать.

Была ли статья полезна?

Предыдущая
Создать ВМ из публичного образа DSVM
Следующая
Загрузить свой образ
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»