Меню

Виртуальная машина qemu как настроить

Виртуализация операционных систем с помощью QEMU. Основы работы с эмулятором

Виртуализация — наиболее доступный способ запустить на одном ПК вторую операционную систему, не устанавливая ее непосредственно на жесткий диск. Вместо этого вторая ОС устанавливается на диск виртуальный, представленный специальным файлом-контейнером, созданным в гипервизоре — программе, позволяющей эмулировать работу гостевой системы в системе хостовой. Наибольшей популярностью среди домашних юзеров пользуются гипервизоры VirtualBox и VMware с мощным функционалом и наглядным GUI .

Но есть и другие, в чём-то даже более гибкие и продуктивные решения хотя и куда менее удобные в использовании. Например, QEMU — бесплатная программа с открытым исходным кодом, предназначенная для эмуляции программного обеспечения и операционных систем. Инструмент использует аппаратную виртуализацию, поддерживая два режима работы:

• Полная эмуляция — данный режим применяется для запуска операционных систем, в его рамках QEMU эмулирует физическое устройство со всеми его компонентами, встроенными и периферийными.

• Эмуляция пользовательского режима — дает возможность запускать программы, созданные для конкретной архитектуры на другой архитектуре, например, приложения ARM в x86 . Режим доступен только в хостовой системе Linux.

QEMU поддерживается эмуляция архитектуры x86 , ARM , MIPS , PowerPC , m68k , Alpha , SPARC , SH-4 , CRISv2 , MicroBlaze и это более солидный список, чем у того же Виртуалбокс.

Как установить QEMU в Windows

Скачать установочный файл эмулятора можно с официального сайта www.qemu.org/download/#windows,

есть редакции 32-битные и 64-битные, версию выбираем последнюю.

Устанавливается QEMU как обычная программа в папку Program Files\qemu , но можно выбрать и другое расположение.

Установку выполняем с параметрами по умолчанию, ничего менять не нужно, просто жмем в окне мастера «Next».

Виртуализация операционных систем в QEMU

В отличие от VirtualBox и подобных гипервизоров, QEMU не имеет графического интерфейса, работа с ней ведется через командную строку. Команд и параметров для создания и управления виртуальными машинами много, но для начала вам нужно знать хотя бы эти шесть.

• qemu-system — задает архитектуру виртуальной машины.
• qemu-img create — создает файл виртуального IMG -диска, на который будет устанавливаться операционная система.
• -m — выделяет виртуальной ОС указанный объем оперативной памяти.
• -hda — подключает созданный виртуальный диск.
• -boot IMG — указывает, что загрузка должна производиться с виртуального диска, вместо IMG следует указать имя IMG -файла.
• cdrom — содержит путь к установочному образу ISO , эмулирует дисковод.

Чтобы вам стало всё немного понятнее, установим и запустим с помощью QEMU какую-нибудь операционную систему. Для примера мы выбрали Windows XP, так как она легкая и занимает на диске мало места. QEMU у нас уже установлен, открываем командную строку, переходим в каталог установки и создаем виртуальный жесткий диск следующей командой:

qemu-img.exe create -f raw c.img 5000M

Файл qemu-img.exe в эмуляторе отвечает за создание IMG -образов, с — это название образа, 5000 — размер виртуального диска в мегабайтах. По умолчанию образ будет создан в папке QEMU .

Теперь сформируем следующую команду:

qemu-system-i386w.exe -boot c -m 350 -hda c.img -cdrom «E:\WinXP_SP3.iso»

Исполняемый файл в начале команды отвечает за создание виртуальной машины с архитектурой х86 , -boot с ключом сообщает, что грузиться она будет с диска, в значение параметра -hda подставляем созданный образ, а в качестве значения параметра –cdrom указываем путь к дистрибутиву Windows.

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

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

Чтобы запустить закрытую виртуальную машину, выполните команду qemu-system-i386w.exe -hda name.img , где name — название вашего виртуального диска, чтобы удалить ставшую ненужной VM, просто удалите из каталога установки QEMU созданный IMG -образ.

Управлять QEMU можно с помощью клавиатуры и мыши, для переключения между эмулятором и хостовой машиной используйте комбинацию Ctrl + Alt + G . Запущенная с минимальными настройками ОС не будет иметь доступа к аудио- и сетевой карте, не будет также возможности обмена файлами между виртуальной и хостовой системами.

Нельзя сказать, что QEMU лучше или хуже VirtualBox либо VMware, это альтернативное средство виртуализации, имеющие как свои плюсы, так и минусы. QEMU менее удобен, требует знания документации и демонстрирует весьма небольшую производительность. Для ускорения работы в Windows требуется установка и настройка Диспетчера аппаратного ускорения HAXM, в Linux – подключение загружаемого модуля ядра KVM . С другой стороны, инструмент позволяет эмулировать работу устройств на базе разных архитектур, не поддерживаемые популярными гипервизорами.

Читайте также:  Как настроить макросы рейзер

Технически современные компьютерные игры не идут ни в какое сравнение со старыми консольными игрушками, найти Читать далее

Чтобы иметь возможность наслаждаться старыми играми из 90-х, необязательно устанавливать MS DOS на ПК или Читать далее

Несмотря на унификацию интерфейсов современных операционных систем, переход с Windows на Linux может оказаться достаточно Читать далее

Что такое DOSBox? Это замечательная программа, которая позволяет эмулировать работу старенькой операционной системы DOS. Disk Читать далее

Источник



9.4 Установка и настройка QEMU-KVM

О QEMU-KVM

KVM — это модуль ядра Linux, ​обеспечивающий доступ к аппаратной виртуализации на базе Intel VT(Virtualization Technology) либо AMD SVM (Secure Virtual Machine).

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

Libvirt — свободная реализация API, демон и набор инструментов для управления виртуализацией. Позволяет управлять гипервизорами KVM, QEMU и другими.

Virtual Machine Manager — приложение для управления виртуальными машинами.

Проверка оборудования

Проверьте, поддерживается ли на вашем хосте аппаратная виртуализация. Для процессоров Intel должна быть поддержка технологии Intel VT. Для процессоров AMD поддержка AMD SVM. Так же убедитесь, что аппаратная виртуализация включена в bios материнской платы хоста.

В данном примере используется процессор Intel, по этому в выводе присутствует vmx. Если вывода у команды не было, возможно, ваш процессор не поддерживает виртуализацию, либо она отключена в bios материнской платы.

Установка и начальное конфигурирование

Установите необходимый для виртуализации набор пакетов из стандартного репозитория.
Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:

Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:

Включите автозапуск службы libvirtd

Перезагрузите компьютер для загрузки модулей ядра kvm (если у вас процессор Intel так же должен загрузиться модуль intel-kvm).

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

Так же проверьте сетевые подключения

Должен появиться дополнительное подключение vbr0.

Добавьте пользователя, используемого для управления виртуальными машинами, в группу libvirt.

На этом установка и начальное конфигурирование завершено.

Создание виртуальной машины

Для создания виртуальной машины можно воспользоваться графической утилитой Virtual Machine Manager. Найти её можно в меню Приложения — Системные — Менеджер виртуальных машин.

В меню Файл выберите Создать виртуальную машину. В открывшемся оке выберите метод, с помощью которого будет производиться установка операционной системы. В примере, установка производится из образа iso. Нажмите Вперед.

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

Выберите тип операционной системы — Linux. Версию — RHEL7. Нажмите Вперед.

Установите необходимое количество оперативной памяти и процессоров, которые будут доступны данной виртуальной машине. Минимально необходимые значения для РЕД ОС указаны на скриншоте ниже.

Выберите количество постоянной памяти, которое будет доступно виртуальной машине. Минимально рекомендуемым для РЕД ОС является 15 Гб.

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

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

Для запуска виртуальной машины кликните на неё правой кнопкой мыши и нажмите Запустить.

Для управления виртуальными машинами из консоли используйте следующие команды:

Вывести список запущенных виртуальных хостов (все доступные можно получить добавив —all):

Добавить в автозапуск:

Клонирование виртуальных машин и создание снапшотов.

Клонирование виртуальных машин

Для клонирования виртуальной машины в окне Virtual Machine Manager кликните правой кнопкой мыши на нужной машине и нажмите Клонировать.

Впишите название новой виртуальной машины и выберите клонируемое пространство данных. Нажмите клонировать

Создание снапшотов

Для создания снапшотов в главном окне Virtual Machine Manager выберите виртуальную машину и нажмите кнопку Открыть.

В открывшемся окне нажмите на значек с двумя мониторами. Откроется окно управления снимками. Нажмите + для создания снапшота.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Источник

Как пользоваться qemu

Преимущество виртуализации в том, что она позволяет запустить на одном компьютере несколько разных операционных систем на одном компьютере одновременно и при этом неважно какой они будут архитектуры. Среди домашних пользователей достаточно часто используются такие программы для эмуляции компьютера, как Virtualbox и VMware, это мощные программы с графическим интерфейсом и множеством возможностей, которые очень просто настроить.

Читайте также:  Как настроить репитер хуавей

Но существуют и другие решения, которые дают больше контроля над процессом виртуализации и при этом более сложны. Один из таких инструментов — qemu. В этой инструкции мы рассмотрим что такое qemu и как пользоваться qemu для виртуализации, кроме того, разберем его преимущества над другими программами.

Что такое qemu?

Qemu — это бесплатный инструмент с открытым исходным кодом для эмуляции и виртуализации работы операционных систем на компьютере. Программа может работать в Windows, Linux, MacOS и даже на Android. Ресурсы хоста, такие как процессор, жесткий диск, память, разделяются между виртуальными машинами.

Qemu использует аппаратную виртуализацию, поэтому может выполнять гостевые операционные системы почти так же быстро, как и на основном железе. Может использоваться гипервизор XEN или модуль ядра KVM в Linux. Qemu может работать в двух режимах работы:

  • Полная эмуляция системы — в этом режиме qemu полностью эмулирует устройство, например, компьютер, включая все его компоненты, процессор и различные периферийные устройства. Он может использоваться для запуска нескольких операционных систем без перезагрузки или отладки системного кода.
  • Эмуляция пользовательского режима — работает только для Linux хоста, позволяет запускать процессы Linux, скомпилированные для одной архитектуры в другой, например, ARM программы в x86. Полезно для разработки, кросс-компиляции и отладки.

Эмулировать можно такие архитектуры: x86 (32 и 64 бит), PowerPC (32 и 64 бит), ARM, MIPS (32 бит), Sprac (32 и 64 бит), Alpha, ColdFire(m68k), CRISv2 и MicroBlaze. Этот список уже более внушительный чем у Virtualbox.

Установка qemu

Перед тем как мы сможем использовать программу, необходимо ее установить. Если вы используете дистрибутив Linux, например, Ubuntu, то сможете найти программу в официальных репозиториях. Для Ubuntu команда будет выглядеть вот так:

sudo apt install qemu-kvm qemu

Для Fedora и других систем RedHat можно установить группу Virtualization:

sudo dnf install @virtualization

В ArchLinux используйте Pacman:

Для Windows или MacOS вам нужно скачать исполняемый файл из официального сайта. Программа управляется только через терминал, так что вы главном меню системы ничего не появиться после установки. А теперь перейдем к тому как настроить qemu.

Как пользоваться qemu?

Теперь, когда программа установлена и готова к использованию попытаемся разобраться как ее запустить и применять. Но сначала нужно разобраться какие команды и для чего используются. Эмулятор qemu создает много команд, но их можно разделить на группы:

  • qemu-архитектура — эмуляция окружения пользователя для указанной архитектуры;
  • qemu-system-архитектура — эмуляция полной системы для архитектуры;
  • qemu-img — утилита для работы с дисками;
  • qemu-io — утилита для работы с вводом/выводом на диск;
  • qemu-user — оболочка для qemu-архитектура, позволяет запускать программы других архитектур в этой системе;
  • qemu-system — оболочка для qemu-system-архитектура, позволяет полностью эмулировать систему нужной архитектуры.

Сначала разберемся с эмуляцией полной системы, поскольку для решения этой задачи виртуальная машина qemu используется чаще всего, а уже потом перейдем к режиму пользователя.

1. Использование qemu-system

Чтобы вы понимали что и откуда берется для начала рассмотрим опции утилиты qemu-system. Синтаксис команды такой:

$ qemu-system параметры

Куда сложнее здесь синтаксис каждого из параметров:

-имя_параметра имя_опции = значение : значение2

Мы рассмотрим только основные параметры, и их опции, которые нам понадобятся:

  • -machine указывает тип компьютера, который вы собрались эмулировать, можно выбрать ubuntu, pc, pc-q35 и другие варианты, смотрите подробнее командой -machine help;
  • -cpu — тип процессора, можно передать непосредственно тип процессора, а также дополнительные флаги;
  • -smp — включает симуляцию мультипроцессорной архитектуры;
  • -boot — позволяет настроить порядок загрузки устройств, a,b — дискета, с — первый жесткий диск, d — CDROM, n-p — загрузка через сеть, по умолчанию виртуальная машина загружается из жесткого диска;
  • -m — указывает количество оперативной памяти, доступной машине;
  • -k — раскладка клавиатуры по умолчанию;
  • -soundhw — подключить звуковую карту к системе;
  • -device — подключить указанное устройство к машине, нужно указать драйвер и его опции;
  • -name — имя гостевой системы, будет отображаться в верху окна;
  • -uuid — установить UUID для системы;
  • -fda, fdb — подключить дискету из файла;
  • -hda, hdb — подключить жесткий диск из файла;
  • -cdrom — подключить оптический диск;
  • -usb — включить поддержку USB;
  • -usbdevice — подключить USB устройство;
  • -display — выбрать тип отображения, доступно sdl, curses, gtk, none, vga и другие;
  • -full-screen — запустить в полный экран;
  • -no-acpi — отключить поддержку ACPI;
  • -net — создать сетевой интерфейс;
  • -realtime включить режим реального времени, опции mclock нужно передать значение on;
  • -gdb — ожидать подключения отладчика gdb;
  • -enable-kvm — включить поддержку kvm;
  • -loadvm — загрузить сохраненное состояние;
  • -daemonize — сделать процесс фоновым;
  • -snapshot — записывать изменения не в файл жесткого диска, а в отдельные файлы;
  • -nographic — отключить графический вывод.
  • -kernel — использовать указанный образ ядра linux.
  • -append — командная строка для ядра;
  • -initrd — файл initrd для загрузки Linux.
Читайте также:  Excel как настроить автоматическую высоту ячеек

Мы рассмотрели опции для qemu-system-x86-64, для других архитектур, они могут немного отличаться. А теперь разберем несколько простых примеров как использовать qemu, как создать машину qemu и настроить ее.

Сначала нужно создать жесткий диск для установки. Вы можете использовать реальные жесткие диски, но работать с образами намного удобнее. Можно просто создать пустой файл, заполненный нулями, а затем форматировать его в нужную файловую систему во время установки, но также можно создать файл формата qcow2, этот формат используется по умолчанию в qemu. Воспользуемся командой qemu-img:

qemu-img create -f qcow2 ubuntu.qcow 10G

Опция -f указывает формат нового файла. Теперь мы можем непосредственно перейти к запуску qemu-system. Вот так будет выглядеть самая простая команда запуска системы:

qemu-system-x86_64 -hda ubuntu.qcow -boot d -cdrom

/downloads/ubuntu-17.04-server-amd64.iso -m 640

Здесь мы подключаем наш жесткий диск как hda, затем указываем что нужно загружаться с cdrom и подключаем образ системы ubuntu к нему. Последний параметр указывает сколько оперативной памяти будет выделено для машины.

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

qemu-system-x86_64 -hda ubuntu.img -m 640

Создавать виртуальную машину с другой архитектурой не очень сложно, достаточно изменить команду. Например, сделаем виртуальную машину ppc:

qemu-system-ppc -hda ubuntu.qcow -boot d -cdrom

/downloads/ubuntu-17.04-server-amd64.iso -m 640

Поскольку сейчас мы не используем kvm, то система будет работать очень медленно все можно очень сильно ускорить, если его включить с помощью опции -enable-kvm:

qemu-system-x86_64 -hda ubuntu.qcow -m 640 -enable-kvm

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

qemu-system-x86_64 -hda ubuntu.qcow -m 640 -enable-kvm -soundhw ac97

Не всегда мы запускаем машину только в качестве сервера, иногда нужно запустить обычную десктопуную систему, в таком случае нам придется настроить виртуальную видеокарту, потому что того, что идет по умолчанию хватит только на консоль. Для этого используется опция -vga:

qemu-system-x86_64 -hda ubuntu.qcow -m 640 -enable-kvm -soundhw ac97 -vga qxl

С помощью опции -global qxl-vga.vram_size можно задать объем видеопамяти, доступный машине, значение указывается в байтах, например:

qemu-system-x86_64 -hda ubuntu.qcow -m 640 -enable-kvm -soundhw ac97 -vga qxl -global qxl-vga.vram_size=4294967

Для многих машин важно чтобы из них был доступ в сеть интернет. Настройка сети qemu — это достаточно обширная тема, которую мы не будем полностью раскрывать в этой статье. Если кратко, то, в qemu используется специальный виртуальный шлюз vlan, который позволяет соединять машины с внешней сетью или между собой. Каждый vlan имеет свой номер. Самый простой способ настроить сеть — использовать такие параметры:

qemu-system-x86_64 -hda ubuntu.qcow -m 640 -enable-kvm -net nic,vlan=0 -net user,vlan=0

Здесь мы два раза вызываем опцию -net, в первый раз создаем виртуальную сетевую карту с помощью параметра -nic и подключаем ее к vlan с номером 0. Вторая же опция -net создает наш vlan 0 с типом конфигурации user, которая не требует дополнительной настройки и автоматически подключается к сети хоста.

2. Использование эмуляции окружения

Теперь рассмотрим использование qemu для эмуляции архитектуры в окружении пользователя. Команда qemu-user или qemu-архитектура позволяет выполнять программы, собранные для другой архитектуры прямо в вашей системе. Это очень часто используется для отладки программ, собранных для arm на компьютере или других подобных задач. Команде достаточно передать команду и ее параметры:

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

Выводы

В этой статье мы очень кратко рассмотрели как пользоваться qemu, основные настройки этой утилиты и опции. На самом деле там намного больше опций и возможностей. Одна только возможность эмулировать такое огромное количество архитектур чего стоит. Если для вас эмулятор qemu слишком сложен через терминал, то можно использовать графический интерфейс, например, virt-manager. А вы используете qemu? Или предпочитаете другие виртуальные машины? Почему? Напишите в комментариях!

Источник