Руководство по управлению VirtualBox через SSH

Board index Администрирование Программное обеспечение

Description: Заметки по различному ПО

#1by mexan » 09.12.2025, 09:55

1. Просмотр виртуальных машин
  • Список всех ВМ (коротко)
    Code: Select all
    VBoxManage list vms
  • Список всех ВМ с UUID
    Code: Select all
    VBoxManage list vms -l
  • Список запущенных ВМ
    Code: Select all
    VBoxManage list runningvms
  • Подробная информация о конкретной ВМ
    Code: Select all
    VBoxManage showvminfo "Имя_ВМ"
  • Только состояние ВМ
    Code: Select all
    VBoxManage showvminfo "Имя_ВМ" | grep -i state

2. Запуск и остановка ВМ
  • Запуск ВМ (с графическим интерфейсом)
    Code: Select all
    VBoxManage startvm "Имя_ВМ"
  • Запуск ВМ без графики (headless)
    Code: Select all
    VBoxManage startvm "Имя_ВМ" --type headless
  • Запуск ВМ в фоновом режиме (VRDP)
    Code: Select all
    VBoxManage startvm "Имя_ВМ" --type headless --vrde on
  • Элегантное выключение (ACPI)
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" acpipowerbutton
  • Принудительное выключение
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" poweroff
  • Сохранить состояние и выключить
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" savestate
  • Перезагрузка
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" reset
  • Приостановить
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" pause
  • Возобновить
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" resume
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133

#2by mexan » 09.12.2025, 10:59

3. Управление сетью
  • Показать сетевые настройки ВМ
    Code: Select all
    VBoxManage showvminfo "Имя_ВМ" | grep -A5 "NIC"
  • Изменить тип сети
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --nic1 bridged
    VBoxManage modifyvm "Имя_ВМ" --nic1 nat
    VBoxManage modifyvm "Имя_ВМ" --nic1 hostonly
    VBoxManage modifyvm "Имя_ВМ" --nic1 internal
  • Указать интерфейс для моста
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --bridgeadapter1 eth0
  • Проброс портов (NAT)
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --natpf1 "ssh,tcp,,2222,,22"
    VBoxManage modifyvm "Имя_ВМ" --natpf1 "web,tcp,,80,,80"
  • Удалить проброс порта
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --natpf1 delete ssh
  • Изменить MAC адрес
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --macaddress1 auto

4. Управление дисками
  • Список виртуальных дисков
    Code: Select all
    VBoxManage list hdds
  • Создать новый диск
    Code: Select all
    VBoxManage createhd --filename "диск.vdi" --size 20480
  • Клонировать диск
    Code: Select all
    VBoxManage clonehd "исходный.vdi" "новый.vdi"
  • Изменить размер диска
    Code: Select all
    VBoxManage modifymedium disk "диск.vdi" --resize 30720
  • Информация о диске
    Code: Select all
    VBoxManage showhdinfo "диск.vdi"
  • Присоединить диск к ВМ
    Code: Select all
    VBoxManage storageattach "Имя_ВМ" --storagectl "SATA" --port 0 --device 0 --type hdd --medium "диск.vdi"
  • Отсоединить диск
    Code: Select all
    VBoxManage storageattach "Имя_ВМ" --storagectl "SATA" --port 0 --device 0 --type hdd --medium none
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133

#3by mexan » 09.12.2025, 11:09

5. Создание и конфигурация ВМ
  • Создать новую ВМ
    Code: Select all
    VBoxManage createvm --name "Новая_ВМ" --register
  • Настроить параметры ВМ
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --memory 2048 --cpus 2
    VBoxManage modifyvm "Имя_ВМ" --vram 128
    VBoxManage modifyvm "Имя_ВМ" --acpi on --ioapic on
  • Добавить контроллер хранилища
    Code: Select all
    VBoxManage storagectl "Имя_ВМ" --name "SATA" --add sata --controller IntelAHCI
  • Примонтировать ISO для установки
    Code: Select all
    VBoxManage storageattach "Имя_ВМ" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium /путь/к/iso.iso
  • Клонировать ВМ
    Code: Select all
    VBoxManage clonevm "Исходная_ВМ" --name "Клон_ВМ" --register
  • Экспорт ВМ (OVA)
    Code: Select all
    VBoxManage export "Имя_ВМ" -o "архив.ova"
  • Импорт ВМ
    Code: Select all
    VBoxManage import "архив.ova"

6. Мониторинг и диагностика
  • Показать использование ресурсов
    Code: Select all
    VBoxManage metrics query "Имя_ВМ"
  • Получить скриншот консоли
    Code: Select all
    VBoxManage controlvm "Имя_ВМ" screenshotpng screenshot.png
  • Просмотр логов
    Code: Select all
    VBoxManage showvminfo "Имя_ВМ" | grep -i log
  • Проверить гостевые свойства (требует Guest Additions)
    Code: Select all
    VBoxManage guestproperty enumerate "Имя_ВМ"
  • Получить IP адрес ВМ (через Guest Additions)
    Code: Select all
    VBoxManage guestproperty get "Имя_ВМ" "/VirtualBox/GuestInfo/Net/0/V4/IP"
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133

#4by mexan » 09.12.2025, 11:13

7. Обслуживание VirtualBox
  • Проверка версии
    Code: Select all
    VBoxManage --version
  • Обновить Extension Pack
    Code: Select all
    VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack
  • Список Extension Pack
    Code: Select all
    VBoxManage list extpacks
  • Настройки глобальные
    Code: Select all
    VBoxManage setproperty machinefolder /путь/к/директории
    VBoxManage setproperty vrdeauthlibrary default

8. Поиск и устранение неисправностей
  • Если команда не найдена
    Code: Select all
    /usr/lib/virtualbox/VBoxManage list vms
  • Поиск виртуальных машин по файлам
    Code: Select all
    find / -name "*.vbox" 2>/dev/null
  • Проверка, запущена ли ВМ
    Code: Select all
    ps aux | grep -i vbox

    Очистка ARP кэша для поиска ВМ
    Code: Select all
    ip neigh flush dev eth0
  • Поиск ВМ по MAC адресу
    Code: Select all
    arp -an | grep -i "ваш:mac:адрес"
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133

#5by mexan » 09.12.2025, 11:16

9. Полезные однострочники
  • Запустить все остановленные ВМ
    Code: Select all
    for vm in $(VBoxManage list vms | awk -F'"' '{print $2}' | grep -v "^$"); do VBoxManage startvm "$vm" --type headless; done
  • Остановить все запущенные ВМ
    Code: Select all
    for vm in $(VBoxManage list runningvms | awk -F'"' '{print $2}'); do VBoxManage controlvm "$vm" poweroff; done
  • Показать все ВМ с их состоянием
    Code: Select all
    VBoxManage list vms -l | grep -E "Name:|State:"
  • Найти IP всех запущенных ВМ
    Code: Select all
    for vm in $(VBoxManage list runningvms | awk -F'"' '{print $2}'); do echo -n "$vm: "; VBoxManage guestproperty get "$vm" "/VirtualBox/GuestInfo/Net/0/V4/IP" 2>/dev/null || echo "N/A"; done
  • Создать backup всех ВМ
    Code: Select all
    mkdir backup_$(date +%Y%m%d); for vm in $(VBoxManage list vms | awk -F'"' '{print $2}'); do VBoxManage export "$vm" -o "backup_$(date +%Y%m%d)/${vm}.ova"; done

10. Работа с разными пользователями
  • Если ВМ создана другим пользователем (например, vbox)
    Code: Select all
    sudo -u vbox VBoxManage list vms
  • Перерегистрировать ВМ под текущим пользователем
    Code: Select all
    VBoxManage registervm /полный/путь/к/файлу.vbox
  • Сменить владельца файлов ВМ
    Code: Select all
    sudo chown -R ваш_пользователь:ваша_группа /путь/к/ВМ/
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133

#6by mexan » 09.12.2025, 11:21

11. Безопасность
  • Установить пароль на VRDP
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --vrdeproperty VNCPassword=ваш_пароль
  • Включить аутентификацию
    Code: Select all
    VBoxManage modifyvm "Имя_ВМ" --vrdeauthtype external
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133

#7by mexan » 09.12.2025, 11:26

Примеры использования:

Пример 1: Найти и запустить ВМ
  • Найти все ВМ
    Code: Select all
    VBoxManage list vms
  • Запустить ВМ в фоновом режиме
    Code: Select all
    VBoxManage startvm "MyUbuntuVM" --type headless
  • Проверить состояние
    Code: Select all
    VBoxManage showvminfo "MyUbuntuVM" | grep State

Пример 2: Настроить сеть для ВМ
  • Переключить на мостовой режим
    Code: Select all
    VBoxManage modifyvm "MyVM" --nic1 bridged --bridgeadapter1 eth0
  • Добавить проброс порта SSH
    Code: Select all
    VBoxManage modifyvm "MyVM" --natpf1 "ssh,tcp,,2222,,22"
  • Проверить настройки
    Code: Select all
    VBoxManage showvminfo "MyVM" | grep -A3 NIC

Пример 3: Резервное копирование
  • Экспорт ВМ
    Code: Select all
    VBoxManage export "ImportantVM" -o "backup_$(date +%Y%m%d).ova"
  • Импорт из бекапа
    Code: Select all
    VBoxManage import "backup_20231209.ova"
Image
mexan
Администратор
Reputation: 0
Posts: 174
Topics: 133


Return to Программное обеспечение

cron