База знаний (цифровой суверенитет)
  • Bash - виртуализация

    Команды BASH
    1 3 12

    A
    1,168
    0

    Содержание

  • A
    1,168
    0

    Полный и актуальный (2025 год) набор самых полезных команд VBoxManage для VirtualBox (версия 7.0–7.1).


    Работают в Linux, Windows и macOS одинаково.

    1. Увеличение размера виртуального диска (VDI, VHD, VMDK)

    # Увеличить до 100 ГБ (в мегабайтах!)
    VBoxManage modifymedium disk "/home/user/VirtualBox VMs/Debian/Debian.vdi" --resize 102400
    
    # До 200 ГБ
    VBoxManage modifymedium disk "Debian.vdi" --resize 204800
    
    # Для VMDK и VHD тоже работает
    VBoxManage modifymedium disk "Windows10.vmdk" --resize 153600   # 150 ГБ
    

    После этого в гостевой ОС обязательно растяни разделы через GParted Live, gparted, cfdisk или fdisk + resize2fs/ntfsresize.

    2. Создание нового диска

    # Динамический VDI 80 ГБ
    VBoxManage createvdi --filename "~/VirtualBox VMs/NewVM/disk.vdi" --size 81920 --variant Standard
    
    # Фиксированный (быстрее)
    VBoxManage createvdi --filename "fixed.vdi" --size 50000 --variant Fixed
    

    3. Конвертация между форматами

    VBoxManage clonemedium disk "old.vdi" "new.vmdk" --format VMDK
    VBoxManage clonemedium disk "disk.vdi" "disk.raw" --format RAW   # для физического диска
    

    4. Полный список всех ВМ и их UUID

    VBoxManage list vms
    VBoxManage list vms --long        # с подробностями
    

    5. Запуск и управление ВМ из терминала

    VBoxManage startvm "Debian 12" --type headless      # без GUI
    VBoxManage startvm "Windows 11" --type gui          # с окном
    
    VBoxManage controlvm "Debian 12" poweroff           # выключить
    VBoxManage controlvm "Debian 12" reset              # перезагрузить
    VBoxManage controlvm "Debian 12" pause              # приостановить
    VBoxManage controlvm "Debian 12" resume             # продолжить
    VBoxManage controlvm "Debian 12" savestate          # сохранить состояние и выключить
    

    6. Изменение количества ядер и памяти на лету (если ВМ выключена)

    VBoxManage modifyvm "Debian 12" --cpus 6 --memory 8192
    VBoxManage modifyvm "Windows 11" --vram 256 --accelerate3d on
    

    7. Включение/отключение 3D-ускорения и настройка видео

    VBoxManage modifyvm "VM_name" --graphicscontroller vmsvga
    VBoxManage modifyvm "VM_name" --accelerate3d on
    VBoxManage modifyvm "VM_name" --vram 128
    

    8. Проброс USB-устройства (например, флешка)

    # Сначала создать фильтр
    VBoxManage usbfilter add 0 --target "Windows 11" --name "Kingston 64GB" --vendorid 0x0951 --productid 0x1666
    
    # Удалить все фильтры
    VBoxManage usbfilter remove 0 --target "Windows 11"
    

    9. Создание и управление снапшотами

    VBoxManage snapshot "Debian 12" take "После установки обновлений"
    VBoxManage snapshot "Debian 12" list
    VBoxManage snapshot "Debian 12" restore "Чистая система"
    VBoxManage snapshot "Debian 12" delete "Старый снапшот"
    

    10. Экспорт и импорт ВМ (OVA)

    # Экспорт
    VBoxManage export "Debian 12" -o Debian12-backup.ova
    
    # Импорт
    VBoxManage import Debian12-backup.ova
    

    11. Подключение физического диска (опасно, но бывает нужно)

    # Создать raw-диск
    sudo VBoxManage internalcommands createrawvmdk -filename ~/raw-disk.vmdk -rawdisk /dev/sda
    
    # Потом подключаешь raw-disk.vmdk как обычный диск
    

    12. Полезные однострочники

    # Показать все запущенные ВМ
    VBoxManage list runningvms
    
    # Выключить все запущенные ВМ сразу
    VBoxManage list runningvms | awk -F '"' '{print $2}' | xargs -I {} VBoxManage controlvm {} poweroff
    
    # Показать сколько памяти и CPU использует каждая ВМ
    VBoxManage metrics list
    
    # Изменить порядок загрузки (CD → HDD → сеть)
    VBoxManage modifyvm "VM_name" --boot1 dvd --boot2 disk --boot3 none
    

    13. Где лежит VBoxManage

    • Linux: /usr/bin/VBoxManage или /usr/lib/virtualbox/VBoxManage
    • Windows: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe
    • macOS: /Applications/VirtualBox.app/Contents/MacOS/VBoxManage
  • A
    1,168
    0

    Проверка поддержки аппаратной виртуализации


    Вот самый полный и актуальный на 2025 год набор команд для проверки поддержки и состояния аппаратной виртуализации в Linux (Intel VT-x / AMD-V / SVM).

    1. Самые точные и быстрые (работают везде)

    # Количество ядер с поддержкой виртуализации (Intel = vmx, AMD = svm)
    egrep -c '(vmx|svm)' /proc/cpuinfo
    
    # Если результат > 0 → железо поддерживает
    # Если 0 → либо процессор старый, либо виртуализация выключена в BIOS/UEFI
    
    # Более человекочитаемо
    lscpu | grep -i virtualization
    # или
    lscpu | grep -E "Flags|Virtualization"
    

    Пример нормального вывода:

    Flags: ... vmx ...                  ← Intel
    Flags: ... svm ...                  ← AMD
    Virtualization:        VT-x         ← Intel (новые ядра)
    Virtualization:        AMD-V        ← AMD
    

    2. Полная проверка: поддержка есть + включена ли в BIOS

    # Универсальная команда 2025 года (самая надёжная)
    kvm-ok
    

    Установка (Debian/Ubuntu/Mint/Fedora):

    sudo apt install cpu-checker    # Ubuntu/Debian/Mint
    # или
    sudo dnf install libvirt-clients cpu-checker   # Fedora
    

    Вывод kvm-ok:

    INFO: /dev/kvm exists
    KVM acceleration can be used    ← всё отлично
    

    Если выключено в BIOS:

    INFO: Your CPU supports KVM extensions
    INFO: KVM is disabled by your BIOS/UEFI
    HINT: Enter your BIOS/UEFI setup and enable Virtualization Technology
    

    3. Проверка через специальные утилиты

    # Intel
    cat /proc/cpuinfo | grep -E "vmx|VT-x"
    
    # AMD
    cat /proc/cpuinfo | grep -E "svm|AMD-V"
    
    # Подробно с названиями флагов
    grep --color -E "vmx|svm" /proc/cpuinfo
    

    4. Если используешь VirtualBox

    VBoxManage list vms | grep -i running   # косвенно
    # или прямо:
    egrep -q "vmx|svm" /proc/cpuinfo && echo "VirtualBox будет работать с ускорением"
    

    5. Проверка из-под Windows перед установкой Linux (если dual-boot)

    PowerShell (как админ):

    Get-VMProcessor | Select VMName, ExposeVirtualizationExtensions
    # или
    systeminfo | findstr "Виртуализация"
    

    6. Однострочник, который я вставляю в свои скрипты установки

    if [ $(egrep -c '(vmx|svm)' /proc/cpuinfo) -gt 0 ]; then
        if [ -e /dev/kvm ] && kvm-ok 2>/dev/null | grep -q "can be used"; then
            echo "Виртуализация полностью работает (KVM + VT-x/AMD-V)"
        else
            echo "Виртуализация поддерживается железом, но выключена в BIOS/UEFI!"
        fi
    else
        echo "Процессор НЕ поддерживает аппаратную виртуализацию"
    fi
    

    Что делать, если показывает 0 или «disabled by BIOS»

    1. Перезагружаемся → входим в BIOS/UEFI (обычно Del, F2, F10, F12)
    2. Ищем и включаем:
      • Intel → Intel Virtualization Technology или VT-x, VT-d
      • AMD → AMD-V, SVM Mode, Virtualization
    3. Сохраняем (F10 → Yes) и перезагружаемся

    После этого kvm-ok покажет зелёный свет, а VirtualBox/QEMU/KVM будут летать в 10–20 раз быстрее.

    Запомни всего две команды — и всегда будешь знать статус виртуализации:

    egrep -c '(vmx|svm)' /proc/cpuinfo   # поддерживает ли процессор
    kvm-ok                               # включено ли в BIOS + работает ли KVM