💻 Эмулятор Qemu | Установка и настройка (заметки)
Qemu - это бесплатный инструмент с открытым исходным кодом для эмуляции и виртуализации работы операционных систем на компьютере.
Программа может работать в Windows, Linux, MacOS и даже на Android.
Вот основные области, для которых может пригодиться Qemu:
- Запуск различных ОС (например, Linux, Windows, BSD) на одном физическом компьютере.
- Возможность экспериментировать с различными ОС и системными настройками, не опасаясь повредить основную систему.
- Тестирование приложений, предназначенных для разных архитектур и платформ.
Ну и в первую очередь, если вы ОС разработчик, то с помощью именно этого эмулятора вы сможете тестировать свои системы без загрузочной флешки.
Можно впринципе считать, что Qemu - самый лучший эмулятор на данных момент (кроме VirtualBox и VMWare). Давайте же разберёмся как его установить и эмулировать в нём операционные системы.
Установка
Для Linux:
Для Windows:
Скачайте установщик с официального сайта qemu.org и следуйте инструкциям. QEMU будет работать через PowerShell.
Проверка установки: После установки выполните qemu-system-x86_64 --version для проверки версии.
Если у вас всё получилось, то самое время научиться работать с Qemu.
Запускаем Ubuntu
В качестве самого первого примера я продемонстрирую запуск Ubuntu на Qemu. Всё довольно просто.
QEMU запускается с помощью команды qemu-system-архитектура, например, qemu-system-x86_64.
После архитектуры мы можем указать различные опции эмулятора
Например:
В данной команде:
- -system это архитектура
- -cdrom это iso образ
- -hda это диск, на который будет установлена Ubuntu
Создать img файл вы можете командой:
Вместо 10G вы можете указать необходимый вам размер виртуального диска.
Вместо img, при запуске эмулятора вы можете указать реальный USB накопитель или диск.
После запуска эмулятора вы увидите вё то же самое, что бы вы увидели при запуска Ubuntu с загрузочного носителя.
Вам остается лишь запустить установщик Ubuntu и система установится на img диск.
Когда всё уже установлено, qemu можно запускать без параметра cdrom: qemu-system-x86_64 -hda disk.img
Подробнее про параметры
Сейчас я приведу список всех основных опций, которые вы можете указать для запуска эмулятора:
- -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.
Обратите внимание: Не указывайте кол-во оперативной памяти или ядер процессора больше, чем у вас есть на компьютере или хосте.
Проверяем работу эмулятора
Давайте же запустим эмулятор с нужными нам параметрами, а после проверим, сработали ли они.
Я создам виртуальную машину, и выставлю там определённые параметры процессора.
Далее запущу на ней операционную систему x16-PRos
Итак, вот команда для запуска, которую я буду использовать:
- -smp 4 - указываем кол-в ядер процессора
- -m 1 - выделяем 1МБ оперативной памяти
- -hda x16pros.img - запускаем систему из виртуального диска
- -full-screen - запускаем эмулятор в полноэкранном режиме
После запуска x16-PRos в его терминале вводим команду CPU. Она нам покажет информацию о процессоре.
И видим, что процессор у нас действительно на 4 ядра (как мы и прописали в команде), а вот имя процессора у нас отобразилось стандартное (qemu virtual cpu).
Но если в команду запуска добавить -cpu n270-v1, то будет эмулироваться именно тот процессор, который мы указали после -cpu.
Ну а если хочется указать такой же процессор, какой стоит у тебя в компьютере, то добавь в команду -enable-kvm -cpu host
Список доступных для эмуляции процессоров будет показан при вводе команды qemu-system-x86_64 -cpu help
Список процессоров (2025 год):
Работа с дисковыми образами
Если по каким либо причинам вам надо изменить ваш образ диска, то сделать это можно через qemu-img
Основные операции с qemu-img:
Совет: Формат qcow2 поддерживает снимки состояния и динамическое выделение места.
Автоматизация
Чтобы каждый раз не вводить длинные команды, создайте bash скрипт на подобии этого:
Сохраните данный текст в файл start_qemu.sh и выдайте ему право на исполнение: chmod +x start_qemu.sh
Теперь запускать эмулятор можно командной ./start_qemu.sh
Заключение
Qemu — один из лучших эмуляторов, который только существует.
И пусть вас не пугает то, что взаимодействие с ним происходит в командной строке. Также я хотел бы сказать, что это не весь функционал данного эмулятора.
Подробнее о нём можно узнать на сайте qemu.org/docs
❂ Полезные ссылочки: Telegram Канал | ВК Групп
✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤ ✤
⌨ Теги: