Виртуальная машина (VM, ВМ) — это программно созданный компьютер со своим виртуальным процессором, памятью, диском и сетью, внутри которого работает отдельная операционная система. Физический компьютер, на котором она запущена, называют хостом, а систему внутри VM — гостевой ОС. Ресурсы между хостом и гостями распределяет гипервизор.
Содержание
Типичные задачи VM — учебный стенд с Linux, тестирование на разных ОС, облачные серверы (VPS — это VM у провайдера) и запуск старого ПО. Ниже — виды VM и гипервизоров, выбор программы в 2026 году, первая VM по шагам и отличие от контейнера.
Мини-словарь: четыре термина, которые путают
| Термин | Что это | Пример |
|---|---|---|
| Виртуализация | Общий подход: представить ресурс (компьютер, диск, сеть) программно | Облачный сервер, программная сеть |
| Виртуальная машина | Конкретный объект: изолированный виртуальный компьютер с гостевой ОС | Ubuntu, запущенная в VirtualBox на Windows |
| Гипервизор | Программа или слой, который создает VM и делит между ними ресурсы | KVM, Hyper-V, VMware ESXi |
| Эмуляция | Программное исполнение чужой архитектуры процессора, без прямого выполнения на CPU хоста | QEMU запускает ARM-систему на x86-ноутбуке |
Граница: при аппаратной виртуализации (Intel VT-x, AMD-V) инструкции гостя в основном выполняются прямо на процессоре хоста, и скорость близка к «родной»; при эмуляции их приходится переводить, это заметно медленнее. Поэтому «VM всегда медленная» — неверный абсолют: сильнее всего обычно проседают диск и графика.
Какие бывают виртуальные машины
Системные и процессные VM
Системная VM имитирует целый компьютер: в нее ставят полноценную ОС со своим ядром. Именно о них эта статья.
Процессная VM запускает одну программу и завершается вместе с ней. Пример — JVM: исполняет байт-код Java одинаково на разных ОС, но отдельной ОС внутри нет. Системная VM изолирует ОС, процессная дает переносимость кода.
Гипервизоры типа 1 и типа 2
| Признак | Тип 1 (bare-metal) | Тип 2 (hosted) |
|---|---|---|
| Где работает | Прямо на железе, под гостевыми ОС | Как приложение поверх обычной ОС |
| Примеры | VMware ESXi, Xen, Hyper-V, Proxmox VE (на базе KVM) | VirtualBox, VMware Workstation, Parallels Desktop |
| Где встречается | Серверы, дата-центры, облака | Ноутбук разработчика, учебный стенд |
| Накладные расходы | Ниже | Выше: между VM и железом есть хостовая ОС |
Деление на два типа — упрощение. KVM встроен в ядро Linux: ОС остается обычной, но ядро становится гипервизором, поэтому KVM чаще относят к типу 1. Hyper-V после включения запускается под Windows, а сама Windows работает как привилегированный раздел рядом с гостями.
Программы для виртуальных машин в 2026 году
Выбор зависит от ОС хоста и задачи, а не от рейтинга.
| Задача | Что взять | Когда иначе |
|---|---|---|
| Учебный стенд на Windows, Linux или macOS | VirtualBox (бесплатный, open source) | Нужна лучшая производительность графики — VMware Workstation Pro |
| Windows 10/11 Pro, Enterprise или Education | Hyper-V (встроен в систему) | Windows Home — Hyper-V недоступен, берите VirtualBox или VMware |
| Linux-хост, серверы, домашняя лаборатория | KVM + QEMU, управление через virt-manager или libvirt | Нужен веб-интерфейс и кластер — Proxmox VE |
| Mac на Apple Silicon | VMware Fusion, Parallels Desktop, UTM | Гостевая ОС должна быть под ARM; x86-систему придется эмулировать, это медленно |
Коротко о каждой:
- VirtualBox от Oracle — кроссплатформенный гипервизор типа 2, ветка 7.x. Базовый пакет под GPL; Extension Pack лицензируется отдельно.
- VMware Workstation Pro (для Windows и Linux) и Fusion Pro (для macOS) после покупки VMware компанией Broadcom стали бесплатными для личного использования в 2024 году.
- Hyper-V — гипервизор Microsoft, включается как компонент Windows. При включенном Hyper-V или WSL 2 VirtualBox и VMware работают через Windows Hypervisor Platform и могут замедляться.
- KVM/QEMU — связка в Linux: KVM дает аппаратное ускорение, QEMU эмулирует устройства (диск, сеть, видео). Без KVM QEMU работает в режиме чистой эмуляции.
Как создать первую виртуальную машину
Итог раздела — VM с Linux, снимком чистой установки и доступом по SSH. Пример на VirtualBox (есть под все три ОС хоста); в интерфейсе шаги те же, команды VBoxManage приведены для точного повтора.
Шаг 1. Проверить аппаратную виртуализацию
На Linux-хосте:
grep -Ec '(vmx|svm)' /proc/cpuinfo
Число больше нуля — процессор поддерживает Intel VT-x (vmx) или AMD-V (svm); ноль — виртуализация выключена в BIOS/UEFI или ее нет. На Windows см. «Диспетчер задач» -> «Производительность» -> ЦП, строка «Виртуализация».
Шаг 2. Создать и настроить VM
Минимальный полный скрипт: создает машину, диск на 25 ГБ, подключает ISO-образ Ubuntu Server и запускает установку.
VM=ubuntu-lab
ISO="$HOME/iso/ubuntu-24.04-live-server-amd64.iso"
VBoxManage createvm --name "$VM" --ostype Ubuntu_64 --register
VBoxManage modifyvm "$VM" --memory 4096 --cpus 2 --nic1 nat
VBoxManage createmedium disk --filename "$HOME/VMs/$VM.vdi" --size 25600
VBoxManage storagectl "$VM" --name SATA --add sata --controller IntelAhci
VBoxManage storageattach "$VM" --storagectl SATA --port 0 --device 0 --type hdd --medium "$HOME/VMs/$VM.vdi"
VBoxManage storageattach "$VM" --storagectl SATA --port 1 --device 0 --type dvddrive --medium "$ISO"
VBoxManage startvm "$VM"
После startvm откроется окно VM с установщиком Ubuntu. Что делают ключевые строки:
--memory 4096 --cpus 2— 4 ГБ памяти и 2 ядра. Оставляйте хосту не меньше половины ресурсов, иначе тормозить будут обе системы.--nic1 nat— сеть через NAT: гость выходит в интернет, но снаружи к нему напрямую не подключиться. Это безопасный режим по умолчанию.--size 25600— диск в мегабайтах, динамический: файл растет по мере заполнения.
Шаг 3. Снимок и доступ по SSH
После установки ОС выключите VM и сделайте снимок для отката:
VBoxManage snapshot ubuntu-lab take clean-install
VBoxManage modifyvm ubuntu-lab --natpf1 "ssh,tcp,127.0.0.1,2222,,22"
VBoxManage startvm ubuntu-lab --type headless
ssh -p 2222 user@127.0.0.1
Проброс слушает только 127.0.0.1: порт 2222 доступен лишь с самого хоста, не из локальной сети. --type headless запускает VM без окна. Результат — приглашение командной строки гостевой Ubuntu.
Если не получилось
| Симптом | Вероятная причина | Что сделать |
|---|---|---|
| «VT-x is not available» / «AMD-V is disabled» | Виртуализация выключена в BIOS/UEFI | Включить Intel VT-x / SVM Mode в настройках прошивки |
| VM очень медленная, в статусе значок черепахи | VirtualBox работает поверх Hyper-V | Отключить Hyper-V либо принять замедление |
| Гость не видит интернет | Выбрана «Внутренняя сеть» или host-only | Вернуть NAT на первом адаптере |
ssh: connection refused |
В госте не установлен OpenSSH или неверный проброс | sudo apt install openssh-server в госте, проверить правило --natpf1 |
| Снова запускается установщик | ISO остался подключен | Извлечь образ в настройках носителей |
Безопасность: где изоляция VM заканчивается
VM изолирует гостя от хоста лучше обычной программы, но не абсолютно: уязвимости «побега из VM» находят и закрывают, поэтому гипервизор обновляют так же, как ОС. Для подозрительных файлов минимальный набор мер:
- отключить общие папки, общий буфер обмена и drag-and-drop;
- использовать сеть «Виртуальный адаптер хоста» или отключить сеть вовсе, а не «Сетевой мост»: мост ставит VM в вашу локальную сеть наравне с другими устройствами;
- делать снимок до эксперимента и откатываться после;
- не входить внутри такой VM в личные аккаунты.
И отдельно: снимок не равен резервной копии. Снимок хранится рядом с диском VM и зависит от него; при потере файла диска пропадут оба. Для бэкапа экспортируйте машину (VBoxManage export ubuntu-lab -o ubuntu-lab.ova) и храните копию на другом носителе.
Виртуальная машина или контейнер
Контейнер (например, Docker) тоже изолирует приложение, но работает иначе: у всех контейнеров одно ядро хостовой ОС, а у каждой VM — свое.
| Признак | Виртуальная машина | Контейнер |
|---|---|---|
| Ядро ОС | Свое у каждой VM | Общее ядро хоста |
| Можно запустить другую ОС | Да: Windows на Linux-хосте и наоборот | Только с тем же типом ядра (Linux-контейнеры на Linux) |
| Старт | Десятки секунд и дольше: загружается ОС | Обычно секунды |
| Размер | Гигабайты | Часто десятки-сотни мегабайт |
| Изоляция | Сильнее: граница на уровне гипервизора | Слабее: граница на уровне ядра |
Таблица упрощает: Docker Desktop на Windows и macOS запускает Linux-контейнеры внутри служебной Linux-VM, а в облаке контейнеры обычно работают внутри VM.
Правило выбора: нужна другая ОС, свое ядро или сильная изоляция — VM; быстро упаковать и развернуть Linux-приложение — контейнер.
Выводы
- Виртуальная машина — изолированный программный компьютер со своей ОС; гипервизор делит между VM ресурсы хоста.
- Системные VM (VirtualBox, KVM) запускают целую ОС, процессные (JVM) — одну программу.
- Тип 1 работает на железе и нужен серверам, тип 2 — приложение поверх ОС для рабочего ноутбука; KVM и Hyper-V в эту схему укладываются с оговорками.
- Первая VM — это ISO, 2 ядра, 4 ГБ памяти, сеть NAT и снимок после установки; снимок не заменяет бэкап.
- Контейнер делит ядро с хостом и стартует быстрее, VM дает свою ОС и более сильную изоляцию.
Где применяется / связь с практикой
Освойте тему на практике
Виртуальные машины — ежедневный инструмент Linux-администратора: на них собирают стенды и тестируют обновления до выката на боевые серверы. Системно эту работу разбирают на курсе Administrator Linux. Professional. Разобрать отдельные темы с преподавателями вживую можно на бесплатных открытых уроках.
FAQ
Можно ли запустить VM внутри другой VM?
Да, это вложенная виртуализация. Ее поддерживают KVM, Hyper-V и VMware, но она должна быть включена для внешней VM, а производительность ниже.
Сколько VM можно запустить на одном компьютере?
Ограничение задают память и диск хоста. Суммарно выделять памяти больше физической обычно не стоит — хост уйдет в подкачку.
Нужна ли лицензия Windows для гостевой ОС?
Да, Windows в VM лицензируется так же, как на физическом компьютере.



