Гид по технологиям

Установка и запуск виртуальной машины QEMU/KVM на Linux

8 min read Виртуализация Обновлено 22 Apr 2026
QEMU/KVM: установка и запуск виртуальной машины на Linux
QEMU/KVM: установка и запуск виртуальной машины на Linux

Что такое QEMU и KVM

QEMU — это эмулятор машины и монитор виртуальных машин, который может эмулировать архитектуру CPU и периферийные устройства. KVM — это модуль ядра Linux, обеспечивающий аппаратное ускорение виртуализации (Kernel Virtual Machine). Вместе они работают как полноценный гипервизор с аппаратной поддержкой и обычно называются QEMU/KVM.

Ключевой термин: виртуализация — запуск одной или нескольких гостевых систем (ВМ) поверх хоста, где гипервизор обеспечивает изоляцию и виртуальные устройства.

Важно: KVM требует поддержки виртуализации на уровне CPU (Intel VT-x или AMD-V). Проверяйте совместимость перед установкой.

Преимущества использования виртуальной машины

  • Изоляция гостевой ОС от хоста.
  • Быстрая проверка дистрибутивов и конфигураций без изменения физических разделов.
  • Снимки состояния, бэкапы и быстрый откат.
  • Возможность тестировать сетевые и серверные конфигурации в безопасной среде.

Проверка поддержки виртуализации на хосте

Выполните одну из команд, чтобы убедиться, что CPU поддерживает виртуализацию:

egrep -c '(vmx|svm)' /proc/cpuinfo

Если вывод больше нуля, CPU имеет аппаратную поддержку виртуализации. Также можно просмотреть поле Virtualization в выводе lscpu:

lscpu | grep Virtualization

Если поддержка есть, можно продолжать. Если нет — KVM работать не будет.

Установка QEMU/KVM на Ubuntu/Debian

Ниже приведён рекомендуемый набор пакетов для рабочего окружения с libvirt и графической утилитой virt-manager. Откройте терминал и обновите источники:

sudo apt update

Установите пакеты:

sudo apt install qemu-kvm bridge-utils libvirt-clients libvirt-daemon-system virt-manager

Объяснение пакетов:

  • qemu-kvm — бинарные файлы QEMU с поддержкой KVM.
  • bridge-utils — инструменты для настройки Ethernet-мостов (нужны для мостовой сети).
  • libvirt-clients и libvirt-daemon-system — служба и клиентская библиотека для управления ВМ через libvirt.
  • virt-manager — графический интерфейс для libvirt/QEMU.

После установки загрузите модуль KVM, соответствующий вашему CPU:

# Intel
sudo modprobe kvm-intel

# AMD
sudo modprobe kvm-amd

Добавьте вашего пользователя в группу libvirt и kvm, чтобы запускать ВМ без sudo:

sudo adduser $(whoami) libvirt
sudo adduser $(whoami) kvm

Перезапустите сессию пользователя (выйдите и войдите вновь) или перезагрузите систему, чтобы применить изменения группы.

Проверьте статус сервиса libvirt:

systemctl status libvirtd

Если нужно, включите автозапуск и запустите службу:

sudo systemctl enable --now libvirtd

Важно: если вы планируете мостовую сеть (bridge) для ВМ, настройте мост на хосте заранее или используйте NetworkManager/libvirt network.

Создание папки для виртуальных машин и виртуального диска

Создайте каталог в домашней директории для образов и конфигураций:

cd ~
mkdir -p KVM
cd KVM

Создайте виртуальный диск формата qcow2 (динамический рост):

qemu-img create manjaro_disk.img -f qcow2 12G

Пояснение форматов:

  • qcow2 — компактный формат с динамическим выделением, поддерживает снапшоты, более удобен для десктопа и тестов.
  • raw — образ без метаданных, быстрее в некоторых сценариях, проще делать перенаправления и бэкапы.

Преимущества qcow2: экономия места на хосте и встроенные снапшоты. Недостаток: небольшая производительность по сравнению с raw, но в большинстве случаев разница неощутима.

Конвертация между форматами:

qemu-img convert -O raw manjaro_disk.img manjaro_disk.raw

Изменение размера диска (qcow2 поддерживает изменение):

qemu-img resize manjaro_disk.img +10G

Замечание: увеличение размера виртуального диска не увеличит автоматически раздел в госте, нужно расширить раздел/файловую систему внутри гостя.

Скачивание ISO гостевой системы

В примере используется Manjaro XFCE. Загрузите ISO с официального сайта и поместите его в ~/Downloads (или другую папку). Пример пути:

~/Downloads/manjaro-xfce-20.2.1-210103-linux59.iso

Изображение: логотип и рабочий стол Manjaro в виртуальной машине

Запуск установки гостевой ОС через kvm (терминал)

Пример команды, аналогичной использованной в руководстве:

kvm -m 1024 -cdrom ~/Downloads/manjaro-xfce-20.2.1-210103-linux59.iso -boot d manjaro_disk.img

Объяснение опций:

  • -m 1024 — выделить 1024 МБ оперативной памяти для ВМ на время установки.
  • -cdrom — путь до ISO, выступающего как виртуальный привод.
  • -boot d — загрузка с CD/ISO.
  • manjaro_disk.img — файл виртуального диска.

Альтернатива: явное использование qemu-system-x86_64 и включение аппаратной виртуализации:

qemu-system-x86_64 -enable-kvm -m 2048 -cdrom ~/Downloads/manjaro-xfce-20.2.1-210103-linux59.iso -hda ~/KVM/manjaro_disk.img -boot d -net nic -net user
  • -enable-kvm — гарантирует использование KVM и аппаратного ускорения.
  • -net nic -net user — упрощённая NAT-сеть, интернет из гостя будет работать без дополнительной настройки.

Важно: даже если на хосте нет физического CDROM, указывайте -cdrom с ISO.

Установка через virt-install (без GUI)

Если вы предпочитаете libvirt и wants автоматизируемую установку, можно использовать virt-install:

virt-install --name manjaro --vcpus 2 --ram 2048 --disk path=~/KVM/manjaro_disk.img,format=qcow2 --cdrom ~/Downloads/manjaro-xfce-20.2.1-210103-linux59.iso --os-type linux --network network=default --graphics spice

virt-install создаст и зарегистрирует ВМ в libvirt, после чего её можно управлять через virt-manager или virsh.

Интерфейс установки Manjaro (что будете видеть)

После загрузки ISO Manjaro покажет экран загрузки — выберите “Boot with open source drivers” или аналогичный пункт, затем нажмите Enter. Вы попадёте в live-режим, откуда можете запустить установщик (Launch installer).

Экран загрузки Manjaro с опцией загрузки open source драйверов

Установщик Manjaro в live-среде

Далее выбирается язык, регион и раскладка клавиатуры.

Выбор языка в установщике Manjaro

Выбор региона и локали

Тест раскладки клавиатуры в установщике Manjaro

Разметка виртуального диска и шифрование

При установке выберите “Erase disk” для виртуального диска — это не затронет ваши физические разделы, только образ manjaro_disk.img будет отформатирован. Можно включить полное шифрование диска — полезно для ноутбуков и переносных устройств, если вы храните критичные данные.

Выбор раздела для установки Manjaro на виртуальный диск

Выбор файловой системы: установщик по умолчанию использует ext4 для простоты, но вы можете выбрать btrfs, если хотите функциональность снепшотов и дедупликации.

Создание пользователя и варианты приложений

Установщик предложит создать пользователя и при желании использовать тот же пароль для администратора. Также предложит установить офисный пакет (LibreOffice или FreeOffice) или пропустить этот шаг.

Настройка пользователя в Manjaro

Выбор офисного пакета при установке Manjaro

Процесс установки покажет прогресс. По окончании нажмите “Done”, закройте окно QEMU или завершите процесс установщика в терминале комбинацией CTRL+C.

Процесс установки Manjaro в виртуальной машине

Завершение установки Manjaro в виртуальной машине

Запуск готовой виртуальной машины

Для старта установленной ВМ используйте команду (пример):

kvm -m 2024 ~/KVM/manjaro_disk.img

Или с явным указанием ускорения и графики:

qemu-system-x86_64 -enable-kvm -m 2048 -hda ~/KVM/manjaro_disk.img -vga virtio -display sdl

Если ВМ зарегистрирована в libvirt, удобнее запускать через virsh или virt-manager:

virsh start manjaro
virt-manager

Сети: NAT, мост (bridge) и virtio

  • NAT (по умолчанию) — простая конфигурация, гостевая система получает доступ в интернет через NAT-хост.
  • Мост (bridge) — позволяет гостю иметь собственный адрес в локальной сети, требует настройки bridge-utils или NetworkManager и libvirt bridge.
  • virtio-net — высокопроизводительный сетевой драйвер для гостя, требуется соответствующая поддержка в гостевой системе.

Пример для NAT с qemu:

-netdev user,id=net0 -device virtio-net-pci,netdev=net0

Пример мостовой сети через libvirt: укажите network=default или настройте собственный мост в /etc/network/interfaces или в NetworkManager.

Важно: для некоторых корпоративных сетей запрещено использовать bridged-модели без IT-поддержки.

Снимки, бэкапы и откат

qcow2 поддерживает внутренние снимки:

qemu-img snapshot -c snapshot_name manjaro_disk.img
qemu-img snapshot -l manjaro_disk.img
qemu-img snapshot -d snapshot_name manjaro_disk.img

Через libvirt/virsh:

virsh snapshot-create-as manjaro snap1 "Перед обновлением" --disk-only --atomic
virsh snapshot-list manjaro
virsh snapshot-revert manjaro snap1

Для бэкапа копируйте файл qcow2 (при выключенной ВМ или используя live-методы):

cp ~/KVM/manjaro_disk.img ~/backups/manjaro_disk.img.bak

Для минимизации риска делайте бэкап перед крупными изменениями.

Производительность и оптимизация

Рекомендации:

  • Используйте virtio-драйверы (virtio-net, virtio-blk) для сетевого и дискового ввода-вывода. В командной строке добавьте соответствующие device-параметры или используйте virt-install с –disk и –network, указывающими virtio.
  • Выделяйте достаточный объём памяти и vCPU, но не больше, чем оставляет хост для своих задач.
  • Для GUI-гостя используйте SPICE или VNC вместе с qxl/vga-virtio для лучшей графики.
  • При высоких нагрузках рассмотрите raw-образ или размещение образа на диске с низкой задержкой (SSD).

Пример использования virtio для диска и сети:

qemu-system-x86_64 -enable-kvm -m 4096 -hda ~/KVM/manjaro_disk.img -device virtio-blk-pci,drive=d0 -drive file=~/KVM/manjaro_disk.img,if=none,id=d0,format=qcow2 -device virtio-net-pci,netdev=net0 -netdev user,id=net0

Аппаратная передача GPU (GPU passthrough)

GPU passthrough позволяет гостю работать с физическим GPU хоста. Это мощная, но сложная функция: требуется поддержка IOMMU, отдельные драйверы, отключение GPU от хоста и корректная конфигурация VFIO. Для production-решений рекомендуется отдельное детальное руководство; будьте внимательны — неправильные шаги могут сделать систему нестабильной.

Устранение неполадок

  • ВМ не видит ISO при использовании -cdrom: проверьте путь до файла и права доступа.
  • НЕТ доступа в интернет: проверьте параметры сети (NAT vs bridge), проверьте настройки firewall на хосте.
  • Ошибка KVM: проверьте, загружен ли модуль kvm-intel или kvm-amd и поддерживает ли CPU виртуализацию.
  • Низкая производительность диска: рассмотрите переход на raw или использование virtio.
  • Не работает графический доступ через virt-manager: убедитесь, что libvirtd запущен и у пользователя есть права в группе libvirt.

Критерии приёмки

  1. ВМ успешно загружается в установленную ОС без ошибок в логах.
  2. Гость получает сетевой доступ (ping до внешнего хоста или DNS разрешение).
  3. Доступ по удалённому протоколу (SPICE/VNC/SSH) работает корректно.
  4. Снимки и восстановление из снимков проходят без потери целостности данных.

Чек-листы по ролям

Администратор:

  • Проверить поддержку виртуализации на хосте.
  • Установить и настроить libvirt и bridge (если нужен).
  • Настроить права доступа для команды.
  • Обеспечить бэкапы образов.

Разработчик:

  • Создать ВМ с параметрами, соответствующими тестовой среде.
  • Установить инструменты разработки и проверить доступы.
  • Делать снапшоты перед экспериментами.

Тестировщик:

  • Проверить сеть и доступность необходимых портов.
  • Выполнить сценарии восстановления из снапшота.
  • Отметить производительность при нагрузке.

Сравнение и альтернативы

  • VirtualBox — проще для десктопа, но медленнее и менее интегрирован в Linux-ядро.
  • VMware Workstation/Fusion — платные решения с богатым функционалом и поддержкой на разных платформах.
  • Xen — гипервизор с иным стеком, используется в дата-центрах.

QEMU/KVM — стандарт для Linux‑хостов благодаря интеграции в ядро, гибкости и поддержке libvirt.

Тестовые случаи и критерии приёмки

  1. Установка ОС из ISO выполняется полностью и гостевая ОС загружается.
  2. После установки гостевая ОС получает IP-адрес и может выполнить ping в интернет.
  3. Созданный снимок можно успешно восстановить и ВМ загружается в этом состоянии.
  4. Увеличение размера диска отображается и доступно внутри гостя после расширения раздела.

Краткая справка (глоссарий)

  • KVM: модуль ядра Linux для аппаратной виртуализации.
  • QEMU: эмулятор машины и процессорный эмулятор.
  • libvirt: менеджер виртуализации с унифицированным API.
  • virt-manager: графический интерфейс для управления libvirt.
  • qcow2: формат образа с поддержкой снапшотов и динамического роста.

Безопасность и приватность

  • Шифруйте гостевые диски, если в них конфиденциальные данные.
  • Следите за обновлениями гостя и хоста, чтобы закрывать уязвимости.
  • Не передавайте хостовые устройства гостю без проверки (USB/GPU) — это повышает риск компрометации.

Советы по миграции и совместимости

  • При переносе образа между хостами проверяйте совместимость версий QEMU/KVM и libvirt.
  • Для кросс‑хостовой миграции используйте raw-формат или qemu-img convert с указанием формата.
  • Для миграции с VirtualBox конвертируйте VDI в QCOW2/RAW через qemu-img.

Заключение

QEMU/KVM — надёжный и гибкий инструмент виртуализации на Linux. Он подходит как для простых тестов дистрибутивов, так и для сложных серверных развёртываний. В руководстве показаны базовые шаги: проверка поддержки виртуализации, установка пакетов, создание qcow2-образа, установка Manjaro из ISO, запуск ВМ и ключевые рекомендации по оптимизации и безопасности.

Важно: тестируйте конфигурации на непроизводственных средах перед развёртыванием в продакшн.

Резюме:

  • Установите qemu-kvm, libvirt и virt-manager.
  • Создайте qcow2-образ и загрузите ISO гостевой ОС.
  • Запустите установку через kvm/qemu или virt-install.
  • Используйте virtio, снапшоты и регулярные бэкапы для надёжной работы.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Убрать раздражающие функции Facebook — руководство
Социальные сети

Убрать раздражающие функции Facebook — руководство

Приложения по умолчанию на Android — настройка и управление
Android.

Приложения по умолчанию на Android — настройка и управление

Установить REMnux в VirtualBox — руководство
Кибербезопасность

Установить REMnux в VirtualBox — руководство

Список выполненного: мотивация и шаблоны
Продуктивность

Список выполненного: мотивация и шаблоны

Как сохранить веб‑страницу для офлайн‑чтения
Интернет

Как сохранить веб‑страницу для офлайн‑чтения

Как подключить DualSense к Mac
Гайды

Как подключить DualSense к Mac