VM VirtualBox
VBoxManage
VBoxManage – это инструмент интерфейса командной строки, устанавливаемый по умолчанию как часть установки программного обеспечения VirtualBox.
В отличие от управления виртуальными машинами через графический интерфейс, интерфейс командной строки VBoxManage дает больше функциональных возможностей, поскольку он обеспечивает прямой доступ к механизму виртуализации, что позволяет получить доступ к дополнительным функциям, которые недоступны через графический интерфейс. К тому же, большинство серверов Linux не имеют графического интерфейса вовсе, так что виртуальными машинами можно будет управлять даже в автономном режиме.
Все команды VBoxManage начинаются со слова vboxmanage
и обычно сопровождаются подкомандой, такой как list
, controlvm
и т.д. Часто требуется указать имя виртуальной машины, которую вы хотите настроить или которой хотите управлять.
https://www.virtualbox.org/manual/ch08.htmlhttps://docs.oracle.com/en/virtualization/virtualbox/6.0/user/user-preface.html
Вывести список поддерживаемых типов ОС
vboxmanage list ostypes
Создать скелет виртуальной машины и зарегистрировать виртуальную машину
Команда vboxmanage createvm
создает новый XML-файл определения виртуальной машины.
vboxmanage createvm --name AltWorkstation-11.1 --ostype Linux_64 --register
--name
- Необходимо указать имя виртуальной машины. Это имя используется по умолчанию в качестве имени файла настроек, имеющего расширение и папку машины, которая является подпапкой папки. Обратите внимание, что имя пути к папке машины зависит от типа ОС и версии Oracle VM VirtualBox. Убедитесь, что имя виртуальной машины соответствует требованиям ОС хоста к именам файлов. Если вы позже переименуете виртуальную машину, имена файлов и папок будут автоматически обновлены в соответствии с новым именем.--ostype
- тип ОС--register
- регистрация виртуальной машины--basefolder path
- Параметр указывает путь к папке машины. Обратите внимание, что имена файла и папки не изменятся, если вы переименуете виртуальную машину.--group group-ID, ...//
- Опция назначает ВМ указанным группам. Обратите внимание, что идентификаторы групп всегда начинаются с/
, чтобы их можно было вкладывать. По умолчанию каждой ВМ назначается членство в группе.--uuid uuid
- Параметр указывает универсальный уникальный идентификатор (UUID) виртуальной машины. UUID должен быть уникальным в пределах пространства имен хоста или его членства в группах виртуальных машин. По умолчанию команда VBoxManage автоматически генерирует UUID.--default
- Опция применяет конфигурацию оборудования по умолчанию для указанной гостевой ОС. По умолчанию виртуальная машина создается с минимальным оборудованием.
Команда
registervm
позволяет импортировать определение виртуальной машины в файле XML в Oracle VM VirtualBox. Машина не должна конфликтовать с уже зарегистрированной в Oracle VM VirtualBox и не должна иметь подключенных жестких или съемных дисков. Рекомендуется поместить файл определения в папкуmachines
перед его регистрацией.
При создании новой виртуальной машины с помощью VBoxManage createvm
, вы можете напрямую указать -–register
параметр, чтобы избежать необходимости регистрировать его отдельно.
Команда unregistervm
отменяет регистрацию виртуальной машины. Если --delete
также указано, следующие файлы также будут удалены автоматически:
- Все файлы образов жесткого диска, включая файлы разностных данных, которые используются машиной и не передаются другим машинам.
- Сохраненные файлы состояния, которые создала машина. Один, если машина была в сохраненном состоянии, и один для каждого онлайн-снимка.
- XML-файл машины и его резервные копии.
- Файлы журнала машины.
- Каталог машины, если он пуст после удаления всех вышеперечисленных файлов.
Проверить ВМ
vboxmanage showvminfo AltWorkstation-11.1
Добавьте процессор, оперативную память и видеопамять:
VBoxManage modifyvm AltWorkstation-11.1 --cpus 2 --memory 4096 --vram 12
--cpus
= количество виртуальных процессоров--memory
= количество оперативной памяти в мегабайтах--vram
= количество видеомапямяти в мегабайтах
Настройка виртуального сетевого адаптера
Внутренняя сеть похожа на мостовую сеть в том, что виртуальная машина может напрямую взаимодействовать с внешним миром. Однако внешний мир ограничен другими виртуальными машинами на том же хосте, которые подключены к той же внутренней сети.
Хотя технически все, что можно сделать с помощью внутренней сети, можно сделать и с помощью мостовой сети, внутренняя сеть имеет преимущества в плане безопасности. В режиме мостовой сети весь трафик проходит через физический интерфейс хост-системы. Поэтому можно подключить анализатор пакетов, например Wireshark, к интерфейсу хоста и регистрировать весь трафик, проходящий через него. Если по какой-либо причине вы предпочитаете, чтобы две или более виртуальных машин на одной машине взаимодействовали конфиденциально, скрывая свои данные как от хост-системы, так и от пользователя, мостовая сеть не является вариантом.
Внутренние сети создаются автоматически по мере необходимости. Централизованной конфигурации нет. Каждая внутренняя сеть идентифицируется просто по своему имени. Если есть более одной активной виртуальной сетевой карты с одинаковым внутренним сетевым идентификатором, драйвер поддержки Oracle VM VirtualBox автоматически подключит карты и будет действовать как сетевой коммутатор. Драйвер поддержки Oracle VM VirtualBox реализует полный коммутатор Ethernet и поддерживает как широковещательные/многоадресные кадры, так и беспорядочный режим.
Чтобы подключить сетевую карту виртуальной машины к внутренней сети, установите ее сетевой режим на Internal Networking.
vboxmanage modifyvm "имя виртуальной машины" --nic<x> intnet
При желании вы можете указать имя сети с помощью команды:
vboxmanage modifyvm "имя виртуальной машины" --intnet<x> "сетевое имя"
<x>
— это номер порта
Если не указать имя сети, сетевая карта будет подключена к сети intnet по умолчанию.
Создать виртуальный жесткий диск
vboxmanage createhd --filename /path/to/hard_drive_image/AltWorkstation-11.1.vdi --size 5120 --variant Standard
--size
= в мегабайтах--variant Standard
= Динамически выделяемый--variant Fixed
= Предварительно выделенный
Удалить виртуальный жесткий диск
vboxmanage closemedium disk '/path/to/hard_drive_image/AltWorkstation-11.1.vdi' --delete
Добавить контроллер хранилища к виртуальной машине
vboxmanage storagectl AltWorkstation-11.1 --name "SATA Controller" --add sata --bootable on
Параметры:
uuid|vmname
= UUID или имя виртуальной машины.--name
= Указывает имя контроллера хранилища.--add
= Указывает тип системной шины, к которой должен быть подключен контроллер хранилища. (floppy | ide | pcie | sas | sata | scsi | usb)--controller
= Позволяет выбрать тип набора микросхем, который будет эмулироваться для данного контроллера хранилища. (BusLogic | I82078 | ICH6 | IntelAhci | LSILogic | LSILogicSAS | NVMe | PIIX3 | PIIX4 | USB | VirtIO)--portcount
= Здесь указывается количество портов, которые должен поддерживать контроллер хранилища.--bootable
= Указывает, является ли этот контроллер загрузочным. (on | off)--rename
= Задает новое имя для контроллера хранилища.--remove
= Удаляет контроллер хранилища из конфигурации виртуальной машины.
Подключите виртуальный жесткий диск к контроллеру виртуального хранилища
vboxmanage storageattach AltWorkstation-11.1 --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium /path/to/hard_drive_image/AltWorkstation-11.1.vdi
Добавить контроллер IDE к виртуальной машине (для последующего подключения ISO/CD/DVD)
vboxmanage storagectl AltWorkstation-11.1 --name "IDE Controller" --add ide
Прикрепить ISO-образ
vboxmanage storageattach AltWorkstation-11.1 --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium /home/user/dvd.iso
Включите протокол удаленного дисплея VirtualBox (VRDP)
vboxmanage modifyvm AltWorkstation-11.1 --vrde on
Резервное копирование
Резервное копирование является важным компонентом поддержания надежности информационной системы. VirtualBox позволяет сохранять состояние вашей виртуальной машины, чтобы у вас была возможность ее сохранить, если вдруг что-то пойдет не так.
Чтобы сделать снимок состояния виртуальной машины, вы можете запустить следующую команду, где «Christmas eve snapshot» — это имя, присвоенное вашему снимку состояния виртуальной машины.
vboxmanage snapshot AltWorkstation-11.1 take "Christmas eve snapshot"
Чтобы восстановить упомянутую выше виртуальную машину с помощью только что созданного снимка состояния, для начала остановите виртуальную машину, если она запущена, а затем восстановите снимок состояния с помощью следующей команды:
vboxmanage snapshot AltWorkstation-11.1 restore "Christmas eve snapshot"
Запуск и остановка виртуальных машин
Чтобы запустить виртуальную машину с помощью VBoxManage, воспользуйтесь подкомандой startvm
, за которой следует имя виртуальной машины или ее универсальный уникальный идентификатор. Например, вы можете выполнить команду ниже, чтобы запустить виртуальную машину с именем AltWorkstation-11.1.
vboxmanage startvm AltWorkstation-11.1
Когда дело дойдет до остановки виртуальной машины, то у вас будет несколько вариантов. У вас есть возможность полностью остановить, то есть выключить, виртуальную машину или поставить ее на паузу.
Чтобы остановить виртуальную машину, воспользуйтесь подкомандой controlvm, за которой следует имя виртуальной машины, а затем параметр poweroff
.
vboxmanage controlvm AltWorkstation-11.1 poweroff
Если вы хотите, чтобы виртуальная машина просто не потребляла системные ресурсы, то не обязательно ее выключать, вы можете приостановить ее работу и возобновить ее позже.
vboxmanage controlvm AltWorkstation-11.1 pause
Чтобы восстановить работу приостановленной виртуальной машины, воспользуйтесь следующей командой:
vboxmanage controlvm AltWorkstation-11.1 resume