Темы
Запуск и выключение машин
Информация о машинах
Выбор видеоадаптера и параметров графики (Сводная матрица)
Создание виртуальной машины
Настройка сети
Изменение разрешения монитора виртуальной машины
Сжатие виртуальных дисков VirtualBox Disk Image (VDI)
Рекомендуемые компоненты и тонкая настройка параметров ВМ
Красивое разрешение консоли Fedora 44 + VirtualBox
Дополнительные материалы
Virtualbox - Установка и настройка
Запуск и выключение машин
Запуск виртуальных машин:
- Код: выделить все
VBoxManage startvm "XP"
VBoxManage startvm "XP" --type=headless
Ключ `--type=headless` необходим, если управление ВМ происходит удалённо: гостевая ОС будет запущена без отображения графического окна на хосте.
Останов через ACPI и «жёсткий» poweroff:
- Код: выделить все
VBoxManage controlvm "XP" acpipowerbutton
VBoxManage controlvm "XP" poweroff
Информация о машинах
Список всех виртуальных машин (имена и UUID):
- Код: выделить все
VBoxManage list vms
Просмотр детальной информации о конкретной ВМ:
- Код: выделить все
VBoxManage showvminfo "XP"
Вывести список поддерживаемых типов ОС:
- Код: выделить все
VBoxManage list ostypes
Выбор видеоадаптера и параметров графики
Базовое правило разработчиков VirtualBox «VMSVGA — для Linux, VBoxSVGA — для Windows» создавалось исключительно для десктопных систем с графической оболочкой (GUI).
Если рассматривать серверные системы без графики (CLI), работу через UEFI и виртуальные лаборатории (GNS3), правильный выбор зависит от матрицы «ОС + Наличие GUI + Прошивка (UEFI/BIOS)».
Сводная матрица оптимальных настроек
| Операционная система | Тип системы | Прошивка | Видеоконтроллер | VRAM | 3D-ускорение | Особенности и поведение |
| Linux / FreeBSD | CLI (Сервер) | UEFI | vboxsvga | 16 МБ | off | Идеально: консоль через EFI GOP без сброса разрешения, скачков экрана и ошибок в dmesg. |
| Linux / FreeBSD | CLI (Сервер) | BIOS | vmsvga / vboxsvga | 16 МБ | off | Стандартный сглаженный текстовый режим VBE. |
| Linux / FreeBSD | GUI (Десктоп) | UEFI / BIOS | vmsvga | 128–256 МБ | on / off | Обязателен для Guest Additions, авто-изменения размера окна, Wayland и X11. |
| Windows | GUI / CLI | UEFI / BIOS | vboxsvga | 32–256 МБ | on / off | Родной контроллер для WDDM-драйверов Windows. |
| Любая ОС (в GNS3) | Headless | Любая | none | 4–16 МБ | off | Выключает эмуляцию видеокарты. Идеально для работы строго по SSH / Serial. |
Подробный разбор контроллеров
- `vboxsvga` (VirtualBox Graphics Adapter)
- Назначение по документации: Гостевые системы Windows (WDDM драйвер).
- Поведение в Linux / FreeBSD CLI (особенно UEFI): Работает через универсальный буфер кадров UEFI (`efifb` / `simplefb`).
- Плюсы: Не активирует тяжеловесный KMS-драйвер ядра VMware (`vmwgfx`). Картинка передаётся от загрузчика (GRUB / systemd-boot) до приглашения ко входу без мигания, смены разрешений и лишних предупреждений в логах ядра.
- Минусы: Не подходит для Linux с графической оболочкой (GUI).
- `vmsvga` (VMware SVGA II)
- Назначение по документации: Гостевые системы Linux / FreeBSD с графической оболочкой.
- Поведение в Linux / FreeBSD: Использует модуль ядра `vmwgfx`.
- Плюсы: Полная поддержка VirtualBox Guest Additions (автоматический ресайз окна, буфер обмена, 3D-ускорение в X11/Wayland).
- Минусы при CLI + UEFI: При загрузке драйвер `vmwgfx` сбрасывает видеорежим, переинициализирует видеопамять (экран мигает и изменяет размер) и оставляет в `dmesg` некритичные предупреждения (попытки вызвать отсутствующие функции VMware).
- `none` (Без видеоадаптера)
- Назначение: Серверные машины без дисплея (Headless), сетевые маршрутизаторы, узлы лабораторий GNS3.
- Плюсы: Полностью снимает нагрузку по эмуляции видеокарты с хоста, экономит оперативную память.
- Требование: Доступ к ОС должен быть настроен через SSH или консоль последовательного порта (`serial`).
Создание виртуальной машины через VBoxManage
Ниже приведены сценарии развёртывания под разные задачи.
Вариант 1: CLI-сервер Linux / FreeBSD (UEFI) — Рекомендуемый
Чистая консоль, зафиксированное разрешение UEFI, отсутствие ошибок в логах `dmesg`.
- Код: выделить все
VM_NAME="Server-CLI"
# 1. Создание и регистрация ВМ
VBoxManage createvm --name "${VM_NAME}" --ostype FreeBSD_64 --register
# 2. Настройка процессора, памяти и включение UEFI
VBoxManage modifyvm "${VM_NAME}" --memory 2048 --cpus 2 --firmware uefi --acpi on --ioapic on --chipset ich9
# 3. Графика: vboxsvga + 16MB VRAM (без 3D)
VBoxManage modifyvm "${VM_NAME}" --graphicscontroller vboxsvga --vram 16 --accelerate3d off
# 4. Настройка диск-контроллера и создание VDI-диска (60 ГБ)
VBoxManage storagectl "${VM_NAME}" --name "SATA Controller" --add sata --controller IntelAhci
VBoxManage createhd --filename "${VM_NAME}.vdi" --size 61440 --format VDI --variant Standard
VBoxManage storageattach "${VM_NAME}" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "${VM_NAME}.vdi"
# 5. Подключение ISO-образа
VBoxManage storagectl "${VM_NAME}" --name "IDE Controller" --add ide
VBoxManage storageattach "${VM_NAME}" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium "/path/to/installer.iso"
# 6. Запуск
VBoxManage startvm "${VM_NAME}" --type gui
Вариант 2: GUI-десктоп Linux / FreeBSD (UEFI / BIOS)
Максимальная производительность графической оболочки (GNOME, KDE, XFCE).
- Код: выделить все
VBoxManage modifyvm "vm-name" --graphicscontroller vmsvga --vram 256 --accelerate3d on
Вариант 3: Windows (Любая версия)
- Код: выделить все
VBoxManage modifyvm "vm-name" --graphicscontroller vboxsvga --vram 256 --accelerate3d on
Вариант 4: Выделенный фоновый сервер / Lab-узел (Headless / GNS3)
- Код: выделить все
VBoxManage modifyvm "vm-name" --graphicscontroller none --vram 4 --accelerate3d off
Настройка сети
Настройка сетевого моста (Bridged):
- Код: выделить все
VBoxManage modifyvm "${VM_NAME}" --nic1 bridged --bridgeadapter1 enp42s0 --nictype1 82540EM --nicpromisc1 allow-all
Настройка NAT:
- Код: выделить все
VBoxManage modifyvm "${VM_NAME}" --nic1 nat
Включение VRDP (для доступа к консоли при отсутствии GUI-хоста):
- Код: выделить все
VBoxManage modifyvm "${VM_NAME}" --vrde on
Изменение разрешения монитора виртуальной машины
Для машин с BIOS:
- Код: выделить все
VBoxManage controlvm "${VM_NAME}" setvideomodehint 1280 720 32
Разрешение меняется на включенной ВМ, после чего требуется её перезапуск.
Для машин с UEFI:
- Код: выделить все
VBoxManage setextradata "${VM_NAME}" VBoxInternal2/EfiGraphicsResolution 1600x900
Сжатие виртуальных дисков VirtualBox Disk Image (VDI)
Со временем динамический VDI-диск разрастается до максимального размера из-за удалённых файлов внутри гостевой ОС. Чтобы вернуть неиспользуемое пространство хосту, свободное место забивается нулями, после чего выполняется процедура сжатия.
Шаг 1: Обнуление свободного места в гостевой ОС
Для Linux:
- Код: выделить все
dd if=/dev/zero of=/zero.zero bs=4M || rm -f /zero.zero
При работе с ZFS с включённым сжатием полностью нулевой файл эффективно сворачивается за счёт компрессии.
Для Windows:
Используется утилита [SDelete](https://www.google.com/search?q=https:/ ... s/bb897443):
- Код: выделить все
sdelete.exe -z c:
Шаг 2: Сжатие VDI на хосте
После выключения ВМ выполните на хост-системе:
- Код: выделить все
VBoxManage modifymedium disk "/path/to/disk.vdi" --compact
Рекомендуемые компоненты и тонкая настройка параметров ВМ
ТАЙМЕРЫ И ПРОЦЕССОР
Включает HPET (High Precision Event Timer) — высокоточный таймер. Полезно для минимизации джиттера и точных задержек в виртуальных сетях и серверах.
- Код: выделить все
VBoxManage modifyvm "server-gns" --hpet on
Включает PAE (Physical Address Extension).
Для 64-битных систем обычно включено по умолчанию, необходимо для некоторых 32-битных ОС.
- Код: выделить все
VBoxManage modifyvm "server-gns" --pae on
МАТЕРИНСКАЯ ПЛАТА И ЧИПСЕТ
Варианты: piix3 (умолчание для BIOS) или ich9 (рекомендуется для UEFI / современных Linux).
- Код: выделить все
VBoxManage modifyvm "server-gns" --chipset ich9
СЕТЬ И ВВОД-ВЫВОД (I/O)
Тип адаптера VirtIO — обеспечивает максимальную производительность сети в Linux/FreeBSD за счёт паравиртуализации (минимальная нагрузка на ЦП хоста по сравнению с e1000/82540EM).
- Код: выделить все
VBoxManage modifyvm "server-gns" --nictype1 virtio
Включает кэширование ввода-вывода на стороне хоста для SATA-контроллера. Повышает скорость дисковых операций в гостевой ОС.
- Код: выделить все
VBoxManage storagectl "server-gns" --name "SATA Controller" --hostiocache on
ГРАФИКА И ВИДЕОПАМЯТЬ
Доступные значения: none, vboxvga, vmsvga, vboxsvga
Выбор контроллера:
- vboxsvga : Идеален для CLI-серверов (Linux/FreeBSD + UEFI) и Windows. Загружается
без мигания экрана и без ошибок/предупреждений vmwgfx в dmesg. - vmsvga : Обязателен для Linux/FreeBSD с графической оболочкой (GUI / Desktop).
- none : Для фоновых Headless-серверов и узлов GNS3 (эмуляция GPU отключена).
- Код: выделить все
VBoxManage modifyvm "server-gns" --graphicscontroller vboxsvga
Объём видеопамяти (VRAM):
- Для CLI-сервера: 16–32 МБ (более чем достаточно для консоли любого разрешения).
- Для GUI (GNOME/KDE) / Windows: 128–256 МБ.
- Код: выделить все
VBoxManage modifyvm "server-gns" --vram 32
Ускорение 3D (включать только для GUI-десктопов с VMSVGA или Windows с VBoxSVGA)
- Код: выделить все
VBoxManage modifyvm "server-gns" --accelerate3d off
