Оглавление
Как кратко упоминалось в разделе “Alternative front-ends”, VBoxManage является интерфейсом командной строки для управления VirtualBox. С его помощью, вы можете полностью управлять VirtualBox из командной строки операционной системы хоста. VBoxManage поддерживает все функции которые предоставляет пользовательский графический интерфейс (GUI), а также предоставляет дополнительные. Он предоставляет все реальные возможности системы виртуализации, даже те которые не возможно использовать через GUI.
Вы должны использовать командную строку, если вы хотите
использовать отличный от основного пользовательский интерфейс (например, VBoxSDL или VBoxHeadless);
управлять расширенными и экспериментальными настройками ВМ.
Существует две основные вещи, которые вы должны помнить при использовании VBoxManage
: Первое, VBoxManage
используется всегда с указанием "операции ", такой как "list", "createvm" или "startvm". Все операции VBoxManage
подробно описаны в Главе 8, VBoxManage .
Второе, большая часть операций требует указания идентификатора виртуальной машины после имени операции. Существует два способа его указания:
Вы можете указать имя ВМ, как оно отображается в списке виртуальных машин. Заметьте, что имена содержащие пробелы, вы должны заключить в двойные кавычки (как это всегда требуется в командной строке для параметров содержащих пробелы).
Например:
VBoxManage startvm "Windows XP"
Вы можете указать UUID, который является внутренним идентификатором VirtualBox и используется для ссылки на конкретную виртуальные машину. Допустим, что вышеупомянутая ВМ с именем "Windows XP" имеет UUID приведенный ниже, то тогда следующая команда сделает то же, что и предыдущая:
VBoxManage startvm 670e746d-abea-4ba6-ad02-2a3b043810a5
Вы можете выполнить команду VBoxManage list vms
для получения списка имен зарегистрированных виртуальных машин, а также с их UUID.
Ниже, приведены некоторые типичные примеры, использования командной строки для управления VirtualBox:
Для создания новой ВМ и немедленной ее регистрации в базе VirtualBox, используйте команду VBoxManage createvm
с параметром --register
,[34] , например:
$ VBoxManage createvm --name "SUSE 10.2" --register VirtualBox Command Line Management Interface Version 4.1.0 (C) 2005-2011 Oracle Corporation All rights reserved. Virtual machine 'SUSE 10.2' is created. UUID: c89fc351-8ec6-4f02-a048-57f4d25288e5 Settings file: '/home/username/.VirtualBox/Machines/SUSE 10.2/SUSE 10.2.xml'
Как вы видите, в вышеприведенном выводе команды, новая ВМ была создана с новым UUID и с новым конфигурационным файлом формата XML.
Для просмотра конфигурации конкретной ВМ, используйте команду VBoxManage showvminfo
; примеры см. в раздел “VBoxManage showvminfo”.
Для изменения настроек ВМ, используйте VBoxManage modifyvm
, т.к. показано ниже:
VBoxManage modifyvm "Windows XP" --memory "512MB"
За подробностями обращайтесь к разделу “VBoxManage modifyvm”.
Для изменения настроек хранилищ (например, добавление дискового контроллера и виртуального диска), используйте VBoxManage storagectl
и VBoxManage storageattach
; подробности смотрите в раздел “VBoxManage storagectl” и раздел “VBoxManage storageattach”.
Для управления ВМ, используйте одну из следующих команд:
Для запуска выключенной ВМ, используйте команду VBoxManage startvm
; см. раздел “VBoxManage startvm”.
Для остановки и сохранения состояния работающей ВМ, используйте VBoxManage controlvm
; см раздел “VBoxManage controlvm”.
Когда вы запускаете VBoxManage без параметров или с неправильными параметрами, то будет показана синтаксическая диаграмма, приведенная ниже. Вид диаграмм может быть немного другим, в зависимости от платформы хоста; если вы сомневаетесь в функциональности вашей версии, то проверьте вывод VBoxManage
на предмет доступных команд на вашем хосте.
Usage: VBoxManage [-v|--version] print version number and exit VBoxManage [-q|--nologo] ... suppress the logo VBoxManage list [--long|-l] vms|runningvms|ostypes|hostdvds|hostfloppies| bridgedifs|hostonlyifs|dhcpservers|hostinfo| hostcpuids|hddbackends|hdds|dvds|floppies| usbhost|usbfilters|systemproperties|extpacks VBoxManage showvminfo <uuid>|<name> [--details] [--machinereadable] VBoxManage showvminfo <uuid>|<name> --log <idx> VBoxManage registervm <filename> VBoxManage unregistervm <uuid>|<name> [--delete] VBoxManage createvm --name <name> [--ostype <ostype>] [--register] [--basefolder <path>] [--uuid <uuid>] VBoxManage modifyvm <uuid|name> [--name <name>] [--ostype <ostype>] [--memory <memorysize in MB>] [--pagefusion on|off] [--vram <vramsize in MB>] [--acpi on|off] [--pciattach 03:04.0] [--pciattach 03:04.0@02:01.0] [--pcidetach 03:04.0] [--ioapic on|off] [--pae on|off] [--hpet on|off] [--hwvirtex on|off] [--hwvirtexexcl on|off] [--nestedpaging on|off] [--largepages on|off] [--vtxvpid on|off] [--synthcpu on|off] [--cpuidset <leaf> <eax> <ebx> <ecx> <edx>] [--cpuidremove <leaf>] [--cpuidremoveall] [--hardwareuuid <uuid>] [--cpus <number>] [--cpuhotplug on|off] [--plugcpu <id>] [--unplugcpu <id>] [--cpuexecutioncap <1-100>] [--rtcuseutc on|off] [--monitorcount <number>] [--accelerate3d on|off] [--accelerate2dvideo on|off] [--firmware bios|efi|efi32|efi64] [--chipset ich9|piix3] [--bioslogofadein on|off] [--bioslogofadeout on|off] [--bioslogodisplaytime <msec>] [--bioslogoimagepath <imagepath>] [--biosbootmenu disabled|menuonly|messageandmenu] [--biossystemtimeoffset <msec>] [--biospxedebug on|off] [--boot<1-4> none|floppy|dvd|disk|net>] [--nic<1-N> none|null|nat|bridged|intnet|hostonly| generic] [--nictype<1-N> Am79C970A|Am79C973| 82540EM|82543GC|82545EM| virtio] [--cableconnected<1-N> on|off] [--nictrace<1-N> on|off] [--nictracefile<1-N> <filename>] [--nicproperty<1-N> name=[value]] [--nicspeed<1-N> <kbps>] [--nicbootprio<1-N> <priority>] [--nicpromisc<1-N> deny|allow-vms|allow-all] [--nicbandwidthgroup<1-N> none|<name>] [--bridgeadapter<1-N> none|<devicename>] [--hostonlyadapter<1-N> none|<devicename>] [--intnet<1-N> <network name>] [--natnet<1-N> <network>|default] [--nicgenericdrv<1-N> <driver> [--natsettings<1-N> [<mtu>],[<socksnd>], [<sockrcv>],[<tcpsnd>], [<tcprcv>]] [--natpf<1-N> [<rulename>],tcp|udp,[<hostip>], <hostport>,[<guestip>],<guestport>] [--natpf<1-N> delete <rulename>] [--nattftpprefix<1-N> <prefix>] [--nattftpfile<1-N> <file>] [--nattftpserver<1-N> <ip>] [--natbindip<1-N> <ip> [--natdnspassdomain<1-N> on|off] [--natdnsproxy<1-N> on|off] [--natdnshostresolver<1-N> on|off] [--nataliasmode<1-N> default|[log],[proxyonly], [sameports]] [--macaddress<1-N> auto|<mac>] [--mouse ps2|usb|usbtablet [--keyboard ps2|usb [--uart<1-N> off|<I/O base> <IRQ>] [--uartmode<1-N> disconnected| server <pipe>| client <pipe>| file <file>| <devicename>] [--guestmemoryballoon <balloonsize in MB>] [--gueststatisticsinterval <seconds>] [--audio none|null|dsound|solaudio|oss|alsa|pulse| oss|pulse|coreaudio] [--audiocontroller ac97|hda|sb16] [--clipboard disabled|hosttoguest|guesttohost| bidirectional] [--vrde on|off] [--vrdeextpack default|<name> [--vrdeproperty <name=[value]>] [--vrdeport <hostport>] [--vrdeaddress <hostip>] [--vrdeauthtype null|external|guest] [--vrdeauthlibrary default|<name> [--vrdemulticon on|off] [--vrdereusecon on|off] [--vrdevideochannel on|off] [--vrdevideochannelquality <percent>] [--usb on|off] [--usbehci on|off] [--snapshotfolder default|<path>] [--teleporter on|off] [--teleporterport <port>] [--teleporteraddress <address|empty> [--teleporterpassword <password>] VBoxManage clonevm <uuid>|<name> [--snapshot <uuid>|<name>] [--mode machine|all] [--options link|keepallmacs|keepnatmacs| keepdisknames] [--name <name>] [--basefolder <basefolder>] [--uuid <uuid>] [--register] VBoxManage import <ovf/ova> [--dry-run|-n] [--options keepallmacs|keepnatmacs] [more options] (run with -n to have options displayed for a particular OVF) VBoxManage export <machines> --output|-o <ovf/ova> [--legacy09] [--manifest] [--vsys <number of virtual system>] [--product <product name>] [--producturl <product url>] [--vendor <vendor name>] [--vendorurl <vendor url>] [--version <version info>] [--eula <license text>] [--eulafile <filename>] VBoxManage startvm <uuid>|<name> [--type gui|sdl|headless] VBoxManage controlvm <uuid>|<name> pause|resume|reset|poweroff|savestate| acpipowerbutton|acpisleepbutton| keyboardputscancode <hex> [<hex> ...]| setlinkstate<1-N> on|off | nic<1-N> null|nat|bridged|intnet|hostonly|generic [<devicename>] | nictrace<1-N> on|off nictracefile<1-N> <filename> nicproperty<1-N> name=[value] natpf<1-N> [<rulename>],tcp|udp,[<hostip>], <hostport>,[<guestip>],<guestport> natpf<1-N> delete <rulename> guestmemoryballoon <balloonsize in MB>] gueststatisticsinterval <seconds>] usbattach <uuid>|<address> | usbdetach <uuid>|<address> | vrde on|off | vrdeport <port> | vrdeproperty <name=[value]> | vrdevideochannelquality <percent> setvideomodehint <xres> <yres> <bpp> [display] | screenshotpng <file> [display] | setcredentials <username> <password> <domain> [--allowlocallogon <yes|no>] | teleport --host <name> --port <port> [--maxdowntime <msec>] [--password password] plugcpu <id> unplugcpu <id> cpuexecutioncap <1-100> VBoxManage discardstate <uuid>|<name> VBoxManage adoptstate <uuid>|<name> <state_file> VBoxManage snapshot <uuid>|<name> take <name> [--description <desc>] [--pause] | delete <uuid>|<name> | restore <uuid>|<name> | restorecurrent | edit <uuid>|<name>|--current [--name <name>] [--description <desc>] | showvminfo <uuid>|<name> VBoxManage closemedium disk|dvd|floppy <uuid>|<filename> [--delete] VBoxManage storageattach <uuid|vmname> --storagectl <name> [--port <number>] [--device <number>] [--type dvddrive|hdd|fdd] [--medium none|emptydrive| <uuid>|<filename>|host:<drive>|iscsi] [--mtype normal|writethrough|immutable|shareable| readonly|multiattach] [--comment <text>] [--setuuid <uuid>] [--setparentuuid <uuid>] [--passthrough on|off] [--tempeject on|off] [--nonrotational on|off] [--bandwidthgroup <name>] [--forceunmount] [--server <name>|<ip>] [--target <target>] [--tport <port>] [--lun <lun>] [--encodedlun <lun>] [--username <username>] [--password <password>] [--intnet] VBoxManage storagectl <uuid|vmname> --name <name> [--add ide|sata|scsi|floppy|sas] [--controller LSILogic|LSILogicSAS|BusLogic| IntelAHCI|PIIX3|PIIX4|ICH6|I82078] [--sataideemulation<1-4> <1-30>] [--sataportcount <1-30>] [--hostiocache on|off] [--bootable on|off] [--remove] VBoxManage bandwidthctl <uuid|vmname> --name <name> [--add disk|network] [--limit <megabytes per second> [--delete] VBoxManage showhdinfo <uuid>|<filename> VBoxManage createhd --filename <filename> --size <megabytes>|--sizebyte <bytes> [--format VDI|VMDK|VHD] (default: VDI) [--variant Standard,Fixed,Split2G,Stream,ESX] VBoxManage modifyhd <uuid>|<filename> [--type normal|writethrough|immutable|shareable| readonly|multiattach] [--autoreset on|off] [--compact] [--resize <megabytes>|--resizebyte <bytes>] VBoxManage clonehd <uuid>|<filename> <uuid>|<outputfile> [--format VDI|VMDK|VHD|RAW|<other>] [--variant Standard,Fixed,Split2G,Stream,ESX] [--existing] VBoxManage convertfromraw <filename> <outputfile> [--format VDI|VMDK|VHD] [--variant Standard,Fixed,Split2G,Stream,ESX] VBoxManage convertfromraw stdin <outputfile> <bytes> [--format VDI|VMDK|VHD] [--variant Standard,Fixed,Split2G,Stream,ESX] VBoxManage getextradata global|<uuid>|<name> <key>|enumerate VBoxManage setextradata global|<uuid>|<name> <key> [<value>] (no value deletes key) VBoxManage setproperty machinefolder default|<folder> | vrdeauthlibrary default|<library> | websrvauthlibrary default|null|<library> | vrdeextpack null|<library> | loghistorycount <value> VBoxManage usbfilter add <index,0-N> --target <uuid>|<name>|global --name <string> --action ignore|hold (global filters only) [--active yes|no] (yes) [--vendorid <XXXX>] (null) [--productid <XXXX>] (null) [--revision <IIFF>] (null) [--manufacturer <string>] (null) [--product <string>] (null) [--remote yes|no] (null, VM filters only) [--serialnumber <string>] (null) [--maskedinterfaces <XXXXXXXX>] VBoxManage usbfilter modify <index,0-N> --target <uuid>|<name>|global [--name <string>] [--action ignore|hold] (global filters only) [--active yes|no] [--vendorid <XXXX>|""] [--productid <XXXX>|""] [--revision <IIFF>|""] [--manufacturer <string>|""] [--product <string>|""] [--remote yes|no] (null, VM filters only) [--serialnumber <string>|""] [--maskedinterfaces <XXXXXXXX>] VBoxManage usbfilter remove <index,0-N> --target <uuid>|<name>|global VBoxManage sharedfolder add <vmname>|<uuid> --name <name> --hostpath <hostpath> [--transient] [--readonly] [--automount] VBoxManage sharedfolder remove <vmname>|<uuid> --name <name> [--transient] VBoxManage guestproperty get <vmname>|<uuid> <property> [--verbose] VBoxManage guestproperty set <vmname>|<uuid> <property> [<value> [--flags <flags>]] VBoxManage guestproperty enumerate <vmname>|<uuid> [--patterns <patterns>] VBoxManage guestproperty wait <vmname>|<uuid> <patterns> [--timeout <msec>] [--fail-on-timeout] VBoxManage guestcontrol <vmname>|<uuid> exec[ute] --image <путь к программе> --username <имя пользователя> --password <пароль> [--dos2unix] [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"] [--timeout <msec>] [--unix2dos] [--verbose] [--wait-exit] [--wait-stdout] [--wait-stderr] [--output-type=<binary>|<text>] [-- [<argument1>] ... [<argumentN>]] copyto|cp <source on host> <destination on guest> --username <имя пользователя> --password <пароль> [--dryrun] [--follow] [--recursive] [--verbose] createdir[ectory]|mkdir|md <directory to create on guest> --username <имя пользователя> --password <пароль> [--parents] [--mode <mode>] [--verbose] updateadditions [--source <guest additions .ISO>] [--verbose] VBoxManage debugvm <uuid>|<name> dumpguestcore --filename <name> | info <item> [args] | injectnmi | osdetect | osinfo | getregisters [--cpu <id>] <reg>|all ... | setregisters [--cpu <id>] <reg>=<value> ... | statistics [--reset] [--pattern <pattern>] [--descriptions] VBoxManage metrics list [*|host|<vmname> [<metric_list>]] (comma-separated) VBoxManage metrics setup [--period <seconds>] (default: 1) [--samples <count>] (default: 1) [--list] [*|host|<vmname> [<metric_list>]] VBoxManage metrics query [*|host|<vmname> [<metric_list>]] VBoxManage metrics enable [--list] [*|host|<vmname> [<metric_list>]] VBoxManage metrics disable [--list] [*|host|<vmname> [<metric_list>]] VBoxManage metrics collect [--period <seconds>] (default: 1) [--samples <count>] (default: 1) [--list] [--detach] [*|host|<vmname> [<metric_list>]] VBoxManage hostonlyif ipconfig <name> [--dhcp | --ip<ipv4> [--netmask<ipv4> (def: 255.255.255.0)] | --ipv6<ipv6> [--netmasklengthv6<length> (def: 64)]] create | remove <name> VBoxManage dhcpserver add|modify --netname <network_name> | --ifname <hostonly_if_name> [--ip <ip_address> --netmask <network_mask> --lowerip <lower_ip> --upperip <upper_ip>] [--enable | --disable] VBoxManage dhcpserver remove --netname <network_name> | --ifname <hostonly_if_name> VBoxManage extpack install [--replace] <tarball> | uninstall [--force] <name> | cleanup
В каждом вызове VBoxManage, может быть выполнена только одна команда. Однако, команды могут иметь несколько различных операций, которые выполняются в одном вызове. Следующий раздел детально описывает различные команды.
Команда list
предоставляет важную информацию о вашей системе и текущих настройках VirtualBox.
Доступны следующие операции для VBoxManage list
:
vms
отображает список всех виртуальных машин зарегистрированных в VirtualBox. По умолчанию показывается компактный список в две колонки: имя ВМ и UUID; если вы укажите параметр --long
или -l
, то будет показан детальный список настроек ВМ, как при выводе команды showvminfo
(см. далее).
runningvms
отображает список всех работающих виртуальных машин с их UUIDs в таком же формате, что и в vms
.
ostypes
отображает список гостевых операционных систем "известных" VirtualBox, с идентификатором типа используемым в команде modifyvm
.
hostdvds
, hostfloppies
, выводит список DVD и гибких дисков.
bridgedifs
, hostonlyifs
и dhcpservers
, выводит список интерфейсов в режиме сетевого моста, виртуального адаптера и DHCP серверов доступных на хосте. Подробности в Глава 6, Virtual networking.
hostinfo
показывает информацию о хосте, такую как ЦП, размер памяти и версию операционной системы.
hostcpuids
выводит информацию о CPUID процессора хоста. This can be used for a more fine grained analyis of the host's virtualization capabilities.
hddbackends
список известных форматов (back-ends) виртуальных дисков. Для каждого элемента (VDI, VMDK или RAW) перечисляются его возможности и настройки.
hdds
, dvds
и floppies
выдает всю информацию о виртуальных дисков используемых в VirtualBox, включая их настройки, идентификаторы (UUIDs) и файлы связанные с ними. Команда является эквивалентом Менеджера виртуальных носителей; см. раздел “The Virtual Disk Manager” .
usbhost
usbhost
отображает информацию о устройствах USB подключенных к хосту, данная информация будет полезна при настройке фильтров USB.
usbfilters
отображает список всех фильтров USB зарегистрированных в VirtualBox, которые можно использовать в виртуальных машинах, а также параметры фильтров.
systemproperties
показывает некоторые глобальные настройки VirtualBox, такие как минимальный и максимальный объем памяти гостя, максимальный размер виртуального жесткого диска, пути к файлам настроек и текущая используемая библиотека аутентификации.
extpacks
отображает сведения о установленных модулей расширений VirtualBox; см. раздел “Installing VirtualBox and extension packs” и “VBoxManage extpack”.
Команда showvminfo
показывает подробную информацию для указанной виртуальной машине. Такую же информация можно получить используя команду VBoxManage list vms --long
, но для всех виртуальных машин.
В результате вы получите вывод похожий на следующий:
$ VBoxManage showvminfo "Windows XP" VirtualBox Command Line Management Interface Version 4.1.0 (C) 2005-2011 Oracle Corporation All rights reserved. Name: Windows XP Guest OS: Other/Unknown UUID: 1bf3464d-57c6-4d49-92a9-a5cc3816b7e7 Config file: /home/username/.VirtualBox/Machines/Windows XP/Windows XP.xml Memory size: 512MB VRAM size: 12MB Number of CPUs: 2 Synthetic Cpu: off Boot menu mode: message and menu Boot Device (1): DVD Boot Device (2): HardDisk Boot Device (3): Not Assigned Boot Device (4): Not Assigned ACPI: on IOAPIC: on PAE: on Time offset: 0 ms Hardw. virt.ext: on Hardw. virt.ext exclusive: on Nested Paging: on VT-x VPID: off State: powered off (since 2009-10-20T14:52:19.000000000) Monitor count: 1 3D Acceleration: off 2D Video Acceleration: off Teleporter Enabled: off Teleporter Port: 0 Teleporter Address: Teleporter Password: Storage Controller (0): IDE Controller Storage Controller Type (0): PIIX4 Storage Controller (1): Floppy Controller 1 Storage Controller Type (1): I82078 IDE Controller (0, 0): /home/user/windows.vdi (UUID: 46f6e53a-4557-460a-9b95-68b0f17d744b) IDE Controller (0, 1): /home/user/openbsd-cd46.iso (UUID: 4335e162-59d3-4512-91d5-b63e94eebe0b) Floppy Controller 1 (0, 0): /home/user/floppy.img (UUID: 62ac6ccb-df36-42f2-972e-22f836368137) NIC 1: disabled NIC 2: disabled NIC 3: disabled NIC 4: disabled NIC 5: disabled NIC 6: disabled NIC 7: disabled NIC 8: disabled UART 1: disabled UART 2: disabled Audio: disabled (Driver: Unknown) Clipboard Mode: Bidirectional VRDE: disabled USB: disabled USB Device Filters: <none> Shared folders: <none> Statistics update: disabled
Команда registervm
позволяет вам импортировать описание виртуальной машины в XML файле в базу VirtualBox. Файл описание не должен конфликтовать с уже зарегистрированной в VirtualBox и не должен содержать подключенных дисков. Желательно, что бы файл описания находился в каталоге виртуальной машины перед ее регистрацией.
При создании новой виртуальной машины, командой VBoxManage createvm
(см. ниже), вы можете непосредственно указать параметр --register
, что бы не регистрировать ее позднее.
Команда unregistervm
удаляет регистрационную информацию о виртуальной машине. Если также указан параметр --delete
, то также будут удалены файлы:
все файлы виртуальных дисков, включая разностные файлы, которые подключены к виртуальной машине и не подключены к другим;
файлы состояний создаваемых виртуальной машиной (один если машина в состоянии "сохранена" и один для каждого снимка);
файл настроек машины XML и его резервные копии;
файлы журналов;
каталог виртуальной машины, если он не будет пустой, после удаления файлов перечисленных выше.
Эта команда создает новый XML файл описания виртуальной машины.
Параметр --name <name>
необходим и определяет наименование машины. Это имя по умолчанию присваивается файлу настроек (имеющем расширение .xml
) и каталогу ВМ (создается в каталоге .VirtualBox/Machines
), и поэтому оно должно соответствовать требованиям ОС хоста к наименованиям файлов. Если ВМ будет позже переименована, то файл и каталог будут также изменены автоматически.
Однако, если используется параметр --basefolder <path>
, каталог будет имя <path>
. В данном случае, имена файла и каталога не будут меняться при переименовании виртуальной машины.
По умолчанию, эта команда создает только XML файл без регистрации его в списке доступных ВМ. Для регистрации ВМ, используется параметр --register
, или позднее отдельно используется команда VBoxManage registervm
.
Эта команда изменяет свойства зарегистрированных виртуальных машин. Многие из свойств изменяемых этой командой доступны в графическом интерфейсе настроек ВМ; они были описаны в Глава 3, Настройка виртуальных машин. Некоторые из расширенных настроек, однако, доступны только через интерфейс <c1> VBoxManage</c1>.
Для выполнения этих команд требуется, чтобы виртуальная машина была выключена (т.е. не быть в состоянии "работает" и "сохранена"). Некоторые настройки могут быть также изменены для работающей ВМ; в этом случает для изменения этих настроек применяется команда VBoxManage controlvm
(см. раздел “VBoxManage controlvm”).
Следующие основные настройки доступны через VBoxManage modifyvm
:
--name <name>
: Изменяет имя ВМ и внутренние файлы виртуальной машины, как выше описано для VBoxManage createvm
.
--ostype <ostype>
: указывает какая гостевая ОС предположительно будет выполняться в ВМ. Для получения списка допустимых параметров используйте VBoxManage list ostypes
.
--memory <memorysize>
: Устанавливает размер доступной оперативной памяти , в MB, который виртуальная машина должна зарезервировать для себя от хоста. Прочтите с замечаниями в разделе “Создание вашей первой виртуальной машины”.
--vram <vramsize>
: Устанавливает размер памяти который должна иметь виртуальная графическая карта. Подробности в разделе “Настройки дисплея”.
--acpi on|off
; --ioapic on|off
: Определяют поддержку виртуальной машиной ACPI и I/O APIC, соответственно; см раздел “Материнская плата” .
--hardwareuuid <uuid>
: UUID предоставляемый гостю через таблицы памяти (DMI/SMBIOS), аппаратное и гостевой системы свойство. По умолчанию имеет тот же uuid, что и ВМ. Используется для клонирования ВМ. При миграции (Teleporting) изменяется автоматически.
--cpus <cpucount>
: количество виртуальных процессоров виртуальной машины (см. раздел “закладка "Процессор" ”). Если задействовано "горячее подключение" процессоров (CPU hot-plugging) is enabled (см. ниже), устанавливается значение maximum для указание количества виртуальных процессоров, которые могут быть подключены к ВМ.
--rtcuseutc on|off
: этот параметр настраивает режим использования хостом шкалы времени UTC (see the section called “"Motherboard" tab”).
--cpuhotplug on|off
: Включение функции "горячего" подключения процессоров. При включении, виртуальные процессоры могут добавляться и удаляться в работающей ВМ. См. раздел “CPU hot-plugging”.
--plugcpu|unplugcpu <id>
: при включенном CPU hot-plugging (см. выше), подключает или отключает виртуальный процессор к/от ВМ. <id>
определяет индекс виртуального процессора в операции добавления и удаления процессора, принимает значение от 0 до номера maximum. указаного в опции --cpus
. Процессор с индексом 0 никогда не может быть удален.
--cpuexecutioncap <1-100>
: устанавливает ограничение на использование времени ЦП. Значение 50, означает, что один виртуальный процессор машины будет использовать до 50% времени работы одного ЦП хоста.
--synthcpu on|off
: Эта настройка определяет должен ли VirtualBox предоставлять "синтетический" процессор гостю, для возможности миграции между хост системами с значительными различиями в архитектуре.
--pae on|off
: Включить или отключить PAE (см. раздел “вкладку "Процессор"”).
--hpet on|off
: Включить или выключить High Precision Event Timer (HPET), который заменяет стандартный системный таймер. По умолчанию отключен. Заметьте, что Windows поддерживает HPET только в версиях Vista и старше.
--hwvirtex on|off
: Включение или отключение расширений аппаратной виртуализации (Intel VT-x or AMD-V) процессора вашей хост системы; см.раздел “Hardware vs. software virtualization”.
--hwvirtexexcl on|off
: настраивает монопольное использование VirtualBox функций виртуализации (Intel VT-x ил AMD-V) процессора вашего хостовой системы; see the section called “Hardware vs. software virtualization”. Если вы хотите использовать аппаратную виртуализацию в других гипервизорах, одновременно с VirtualBox, то вы должны отключить эту настройку. Это негативно влияет на производительность.
--nestedpaging on|off
: если аппаратная виртуализация включена, эта дополнительная настройка включает или отключает использование функции nested paging в процессоре вашей хост системы; см. Раздел “Виртуализация программная и software virtualization”.
--largepages on|off
: если включены аппаратная виртуализация и nested paging ,то включение параметра, повышает производительность до 5%, но только для Intel VT-x. Это заставляет использовать гипервизор технологию large pages, уменьшая overhead и использование TLB .
--vtxvpid on|off
:njkmrj ntel VT-x only, this additional setting enables or disables the use of the tagged TLB (VPID) feature in the processor of your host system; see the section called “Hardware vs. software virtualization”.
--accelerate3d on|off
: Включено, если установлены гостевые дополнения, не зависимо от наличия аппаратного ускорения 3D; см. раздел “Hardware 3D acceleration (OpenGL and Direct3D 8/9)”.
Вы можете изменить логотип отображаемый при запуске виртуальной машины. По умолчанию отображается логотип VirtualBox .
С помощью параметров --bioslogofadein on|off
и --bioslogofadeout on|off
, вы можете задать способ появления и исчезновения логотипа.
Параметр --bioslogodisplaytime <msec>
задает время видимости логотипа в миллисекундах.
Параметр --bioslogoimagepath <imagepath>
позволяет заменить картинку логотипа. Изображение должно быть в формате несжатого 256 цветного BMP файла.
--biosbootmenu disabled|menuonly|messageandmenu
: позволяет выбрать поведение меню выбора устройств загрузки. menuonly
отключает меню, но пользователь все же может нажать F12 для выбора устройства загрузки.
--boot<1-4> none|floppy|dvd|disk|net
: указывает порядок устройств загрузки виртуальной машины. Существует четыре "слота", к которым ВМ пытается последовательно получить доступ с номерами от 1 до 4, для каждого вы можете установить устройство с которого она будет пытаться грузиться.
--snapshotfolder default|<path>
: Позволяет вам указать каталог в котором будут храниться снимки состояний виртуальной машины.
--firmware efi|bios
: указывает какая микропрограмма начальной загрузки будет использоваться при загрузке виртуальной машины: EFI or BIOS. Используйте EFI только если вы понимаете, для чего вам это нужно.
--guestmemoryballoon <size>
устанавливает размер по умолчанию "баллона" гостя (memory balloon), т.е. размер памяти выделенной гостевым дополнением VirtualBox от гостевой операционной системы и передаваемой гипервизору для использования в другой виртуальной машине. <size> указывается в мегабайтах. По умолчанию установлено в 0. См. раздел “Memory ballooning”.
Следующие сетевые настройки доступны через VBoxManage modifyvm
: Во всех этих команд, используется десятичный номер ("1-N") для указания виртуального сетевого интерфейса к которому эта команда применяется.
--nic<1-N> none|null|nat|bridged|intnet|hostonly|generic
: с помощью этого параметра вы можете установить вид режима для каждого виртуального сетевого интерфейса. Можно указать как: отсутствие интерфейса (none
), не подключен к хосту (null
), использование трансляцию сетевых адресов (nat
), сетевой мост (bridged
), соединение с другими виртуальными машинами через внутреннию сеть (intnet
), сетевой адаптер хоста (hostonly
), или редко используемый режим sub-modes (generic
). Эти опции соответствуют типам виртуальных интерфейсов, которые описаны в разделе “Введение в сетевые режимы”.
--nictype<1-N> Am79C970A|Am79C973|82540EM|82543GC|82545EM|virtio
: Позволяет вам для каждой виртуальной сетевой карты указать тип аппаратного устройства который VirtualBox предоставляет гостю; см. раздел, “Аппаратная часть виртуальной сети” .
--cableconnected<1-N> on|off
: Позволяет вам временно отключать виртуальные сетевые интерфейсы, подобно выниманию сетевого кабеля из реальной сетевой карты. Это может быть полезно для сброса некоторых программных компонентов ВМ.
С помощью параметра "nictrace", вы можете отслеживать сетевой трафик с сохранением его в файл, для отладочных целей.
Опцией --nictrace<1-N> on|off
, вы можете включить трассировку трафика на указанном виртуальном интерфейсе.
При включении, вы должны указать опцией --nictracefile<1-N> <filename>
в какой файл будет вести запись.
--bridgeadapter<1-N> none|<devicename>
: Если для виртуальной сетевой карты установлен режим сетевого моста (см. выше --nic
; иначе эта настройка не работает), этот параметр используется для указания сетевого интерфейса хоста, который будет использоваться виртуальным интерфейсом. За подробностями обращайтесь к разделу “Сетевой мост” .
--hostonlyadapter<1-N> none|<devicename>
: Если для виртуальной сетевой карты установлен режим виртуальный адаптер хоста (см. выше <c1> --nic</c1>; иначе эта настройка не работает),этот параметр используется для указания сетевого интерфейса хоста, который будет использоваться виртуальным интерфейсом. За подробностями обращайтесь к <a2>разделу “Виртуальный адаптер хоста”</a2> .
--intnet<1-N> network
: Если для виртуальной карты выбран режим внутренняя сеть, то параметр используется для указания имени внутренней сети (см. Раздел “Внутренняя сеть” ).
--macaddress<1-N> auto|<mac>
: позволяет установить MAC адрес для виртуальной сетевой карты. Обычно, каждая виртуальная сетевая карта получает произвольно созданный mac адрес при ее создании.
--nicgenericdrv<1-N> <backend driver>
: если выбран режим generic (см. параметр --nic
выше), то позволяет задать тип используемого драйвера этого интерфейса, например сеть VDE или UDP туннель.
--nicproperty<1-N> <paramname>="paramvalue"
: Эта опция, совместно с "nicgenericdrv" позволяет вам передать параметры сетевому драйверу.
Those parameters are backend engine-specific, and are different between UDP Tunnel and the VDE backend drivers. For example, please see the section called “UDP Tunnel networking”.
Следующие сетевые настройки доступны через VBoxManage modifyvm
: Во всех этих команд, используется десятичный номер ("1-N") для указания виртуального сетевого интерфейса к которому эта команда применяется.
--natpf<1-N> [<name>],tcp|udp,[<hostip>],<hostport>,[<guestip>], <guestport>
: эта опция определяет правила переброса NAT (см. раздел “Настройка переброса портов в NAT”).
--natpf<1-N> delete <name>
: Эта опция удаляет правило переброса портов (см. раздел “Настройка переброса портов в NAT” for details).
--nattftpprefix<1-N> <prefix>
: Эта опция определяет префикс для встроенного TFTP сервера, т.е. где будут располагаться файл образа сетевой загрузки (см. раздел “PXE booting with NAT” и раздел “настройка сетевой загрузки (next server) для сетевых интерфейсов NAT”).
--nattftpfile<1-N> <bootfile>
:Эта опция определяет загрузочный TFT файл (см. раздел “Настройка сетевой загрузки (next server) для сетевых интерфейсов NAT”).
--nattftpserver<1-N> <tftpserver>
: эта опция определяет сетевой адрес TFTP сервера (см. the section called “Configuring the boot server (next server) of a NAT network interface”).
--natdnspassdomain<1-N> on|off
: эта опция определяет будет ли использовать встроенный DHCP сервер доменное имя для разрешения доменных имен.
--natdnsproxy<1-N> on|off
: эта опция устанавливает, что все запросы DNS для сетевого интерфейса NAT будут перенаправляться к серверам DNS хоста (см. раздел “Enabling DNS proxy in NAT mode” for details).
--natdnshostresolver<1-N> on|off
: эта опция устанавливает для сетевого интерфейса NAT использование механизма разрешения имен хоста (см. раздел “Enabling DNS proxy in NAT mode” for details).
--natnatsettings<1-N> [<mtu>],[<socksnd>],[<sockrcv>],[<tcpsnd>], [<tcprcv>]
: эта опция управляет настройками различных параметров сетевых интерфейсов NAT (см. раздел “Tuning TCP/IP buffers for NAT”).
--nataliasmode<1-N> default|[log],[proxyonly],[sameports]
: эта опция определяет поведение ядра механизма NAT: log - включает ведение журналов, proxyonly - переключает режим прозрачности (transparent) NAT , sameports заставляет посылать пакеты через тот же самый порт, через который они исходят, default - отключает все упомянутые выше режимы. (см. раздел “Configuring aliasing of the NAT engine” for details).
Другие настройки доступные через VBoxManage modifyvm
:
--uart<1-N> off|<I/O base> <IRQ>
: Позволяет настроить виртуальный последовательный порт для ВМ; см. раздел “Serial ports”.
--uartmode<1-N> <arg>
: Позволяет управлять каким способом VirtualBox подключает виртуальные последовательные порты (ранее настраивалась параметром --uartX
) к хост системе, на которой работает виртуальная машина. Как описано подробно в разделе “Serial ports” , для каждого такого порта, вы можете указать одно из перечисленных значений <arg>
:
disconnected
: Несмотря на то что последовательный порт виден гостю, он не имеет "другого конца" -- как в реальном COM порте без подключенного кабеля.
server <pipename>
: На хосте Windows, указывает VirtualBox создавать именованный канал с именем <pipename>
и соединить с ним виртуальное последовательное устройство. Заметьте, что в Windows именованные каналы имеют имя начинающиеся с \\.\pipe\
.
На Linux хосте, вместо именованного канала используется local domain socket.
client <pipename>
: То же, что и server ...
, однако именованный канал (или сокет) не создается VirtualBox, предполагается что он уж создан.
<devicename>
: указывается имя физического последовательного порта хоста, виртуальный порт соединяется с аппаратным портом. В Windows, это COM порт, например COM1
; в Linux, например /dev/ttyS0
. Это позволяет вам "связать" реальный последовательный порт с виртуальной машиной.
--audio none|null|oss
: Позволяет вам настроить поддержку звука в ВМ.
--clipboard disabled|hosttoguest|guesttohost| bidirectional
: Этот параметр позволяет вам настроить поведение буфера обмена ВМ и хоста; см. раздел “Основные настройки” . Требуется установка гостевых дополнений в виртуальной машине.
--monitorcount <count>
: Включает поддержку нескольких дисплеев; см. раздел “Display settings”.
--usb on|off
: Включает или отключает виртуальный USB контроллер; см. раздел “Настройка USB”.
--usbehci on|off
: Включает или отключает виртуальный USB контроллер версии 2.0; см. раздел “Настройка USB”.
Следующие настройки затрагивают удаленные машины :
--vrde on|off
: включает или отключает использование сервера удаленного рабочего стола VirtualBox (VRDE). При использовании VBoxHeadless
(см. раздел “VBoxHeadless”) VRDE будет включен по умолчанию.
--vrdeport default|<ports>
: номер порта или диапазон портов на которых VRDE сервер принимает соединения; "default" или "0" означает 3389, стандартный порт RDP. Вы можете указать список номеров портов разделенных запятой. Для указания диапазона портов используется тире. VRDE сервер будет использовать только one из указанных в списке. Только одна машина может использовать один и тот же порт в одно и то же время. Например, параметр --vrdeport 5000,5010-5012
укажет серверу принимать соединения на одном из следующих портов: 5000, 5010, 5011 или 5012.
--vrdeaddress <IP address>
: IP адрес сетевого интерфейса хоста на котором будет принимать соединения сервер VRDP. Если указан, VRDP сервер будет принимать соединения только с этого сетевого интерфейса.
--vrdeauthtype null|external|guest
: позволяет указать тип используемой авторизации; см. раздел “RDP аутентификация”.
--vrdemulticon on|off
: Включает множественные соединения для VRDP сервера; см. раздел “Множественные соединения VRDP” .
--vrdereusecon on|off
: задает поведение VRDP сервера при отключенном множественном соединении. При включенной опции, сервер будет разрешать новые соединения и отключать существующие. При отключенной опции (это опция по умолчанию), новые соединения не принимаются и текущие соединения не прерываются.
--vrdevideochannel on|off
: включает видео переадресации, если ее поддерживает VRDP сервер; см. раздел “видео переадресация VRDP”.
--vrdevideochannelquality <percent>
: задает качество изображения для переадрессации видео; см раздел “VRDP video redirection”.
С помощью следующих команд VBoxManage modifyvm
вы можете настроить ВМ - приемник миграции . См. раздел “Teleporting”.
--teleporter on|off
: включает(on) или отключает(off) ожидание виртуальной машиной запроса на телепортацию (миграцию). Если "включено (on)", то при запуске виртуальной машины, она не грузиться в обычном режиме, в ожидает поступления запроса на телепортацию на порту и сетевом адресе указанных в следующих двух опциях.
--teleporterport <port>
, --teleporteraddress <address>
: должна использоваться с опцией --teleporter и указывает виртуальной машине на каком порту и с какого адреса ожидать запрос на миграцию от другой ВМ. <port>
может быть любым номером порта TCP/IP (напр. 6000); <address>
может быть любым IP адресом или сетевым именем хоста. По умолчанию "0.0.0.0", что означает, что принимаются запросы с любого адреса.
--teleporterpassword <password>
: если указан этот необязательный параметр, то запрос телепортации будет принят, только если на ВМ источнике будет указан тот же пароль.
В настоящее время, пароль хранится не шифрованным (в текстовом виде) в файле настроек XML.
--cpuid <leaf> <eax> <ebx> <ecx> <edx>
: опытные пользователи могут использовать этот параметр перед миграцией для ограничения характеристик виртуального процессора, который VirtualBox предоставляет гостевой ОС. Этот параметр должен использоваться в обоих виртуальных машинах, источнике и приемнике, участвующих в операции телепортации. Это позволяет изменить результат выполнения инструкции CPUID
для ВМ. Это может изменить поведение программ, которые используют определенные возможности ЦП. Т.к. параметры аппаратно-зависимые, то ознакомьтесь с руководствами на процессоры AMD и Intel.
Эта команда создает полный или связную копию существующей виртуальной машины.
Для операции clonevm
, нужно передавать как минимум имя клонируемой виртуальной машины. Следующие дополнительные опции могут для настройки создания клона:
--snapshot <uuid>|<name>
: задается определенный снимок, на который ссылается операция создания клона. По умолчанию ссылается на текущее состояние.
--mode machine|all
: задает режим клонирования. Если выбран machine
(по умолчанию), клонируется текущее состояние ВМ без снимков состояния. Если задан режим all
будут клонированы все снимки и текущее состояние.
--options link|keepallmacs|keepnatmacs|keepdisknames
: позволяет задавать дополнительные настройки клонирования. Первый параметр определяет, как связный клон должен быть создан, что возможно только для клонов машин со снимками. Следующая опция позволяет определить как будут обрабатываться MAC адреса каждой виртуальной сетевой карты. Возможно задать заново их инициализацию(по умолчанию), сохранить не измененными (keepallmacs
) или оставить не измененными. для виртуальных сетевых карт в режиме NAT (keepnatmacs
). Если вы добавите параметр keepdisknames
, все новые виртуальные диски будут называться как в оригинале, иначе они будут переименованы.
--name <name>
: задает новое имя виртуальной машины. По умолчанию "Original Name Clone".
--basefolder <basefolder>
: задает имя каталога куда будет сохранена создаваемая копия.
--uuid <uuid>
: указывает UUID новой ВМ. Этот идентификатор должен быть уникальным для экземпляра VirtualBox, в котором он будет зарегистрирован. По умолчанию создается новый UUID.
--register
: позволяет автоматически зарегистрировать клон в базе VirtualBox. Если вы желает зарегистрировать новую ВМ позже вручную, см. раздел “VBoxManage registervm / unregistervm”.
Эта команда импортирует виртуальное устройство в формате OVF(контейнер), копируя образы виртуальных дисков и виртуальных машин созданных в VirtualBox. См. раздел “Importing and exporting virtual machines” для получения начальных сведений об импортируемом контейнере (appliances).
Как минимум, в команде import
указывается путь к файлу OVF и если нужно имя образа диска, и если нужно ( обычно располагается в том же каталоге, что и OVF файл). Имеется множество дополнительных дополнительных параметров, которые позволяют управлять процессом импорта ВМ, которые зависят от содержимого файла OVF.
Рекомендуется перед началом запуска процесса импорта, выполнить команду с опцией --dry-run
или -n
. Что приведет к выводу на экран данных импортируемых в VirtualBox, а так же к выводу дополнительных опций для изменения проведения операции импорта.
В качестве примера, ниже приведен вывод команды импорта для файла с гостевой Windows XP:
VBoxManage import WindowsXp.ovf --dry-run Interpreting WindowsXp.ovf... OK. Virtual system 0: 0: Suggested OS type: "WindowsXP" (change with "--vsys 0 --ostype <type>"; use "list ostypes" to list all) 1: Suggested VM name "Windows XP Professional_1" (change with "--vsys 0 --vmname <name>") 3: Number of CPUs: 1 (change with "--vsys 0 --cpus <n>") 4: Guest memory: 956 MB (change with "--vsys 0 --memory <MB>") 5: Sound card (appliance expects "ensoniq1371", can change on import) (disable with "--vsys 0 --unit 5 --ignore") 6: USB controller (disable with "--vsys 0 --unit 6 --ignore") 7: Network adapter: orig bridged, config 2, extra type=bridged 8: Floppy (disable with "--vsys 0 --unit 8 --ignore") 9: SCSI controller, type BusLogic (change with "--vsys 0 --unit 9 --scsitype {BusLogic|LsiLogic}"; disable with "--vsys 0 --unit 9 --ignore") 10: IDE controller, type PIIX4 (disable with "--vsys 0 --unit 10 --ignore") 11: Hard disk image: source image=WindowsXp.vmdk, target path=/home/user/disks/WindowsXp.vmdk, controller=9;channel=0 (change controller with "--vsys 0 --unit 11 --controller <id>"; disable with "--vsys 0 --unit 11 --ignore")
Как вы видите, отдельные элементы настроек пронумерованы и в зависимости от типа поддерживают различные опции командной строки. Можно напрямую управлять отключением этих элементов, например опциями --vsys X --unit Y --ignore
, где X номер виртуальной системы (ненулевое значение говорит о существовании нескольких виртуальных систем в контейнере), а Y номер элемента настроек.
В приведенном выше примере, элемент с номером 1 определяет имя импортируемой виртуальной машины в VirtualBox. Элементы 9 м 10 определяют дисковые контроллеры. Элемент 11 описывает образ жесткого диска; в данном случае, опцией --controller
указывается контроллер к которому должен подключаться жесткий диск.
Вы можете изменять различные опции элементов одной и той же виртуальной системы с помощью опции --vsys
. Например, для импорта машины из файла OVF, но без звуковой карты, USB контроллера и с подключением образа диска к IDE контроллеру вместо SCSI, используйте:
VBoxManage import WindowsXp.ovf --vsys 0 --unit 5 --ignore --unit 6 --ignore --unit 11 --controller 10
Эта команда экспортирует одну или более виртуальных машин из VirtualBox в виртуальный контейнер в формате OVF, включая копии их образов виртуальных дисков в сжатом в VMDK . См. раздел “Importing and exporting virtual machines” для получения начальных сведений об импортируемом контейнере (appliances).
Команда export
проста в использовании: указывается список виртуальных машин которые вы хотите экспортировать в OVF файл и указывается имя целевого OVF файла после опции --output
или -o
. Обратите внимание, что в каталог где будет создаваться целевой OVF файл будет также экспортироваться образы дисков в сжатом формате VMDK (в независимости от исходного формата), поэтому вы должны иметь достаточна места на диске.
Вы можете добавлять различную информацию в экспортируемый файл. Используйте параметры --product
, --producturl
, --vendor
, --vendorurl
и --version
для указания дополнительной информации. Для юридических целей вы можете добавить текст лицензии или содержимое фала с лицензией с помощью опций --eula
и --eulafile
соответственно. Как и для импорта вы должны использовать опцию --vsys X
для изменения параметров виртуальной машины, как было упомянуто выше.
Для продуктов виртуализации которые не полностью совместимы со стандартом OVF 1.0 вы можете использовать режим совместимости со стандартом OVF 0.9 с помощью опцией --legacy09
.
Эта команда запускает виртуальную машину которая имеет состояние "Выключена" или "Сохранена".
Данная команда предоставляется только для совместимости с прошлыми версиями. Мы рекомендуем запускать виртуальные машины в режиме с поддержкой пользовательского интерфейса, иначе вы можете не увидеть важных ошибок и информационных статусов, которые VirtualBox может выводить в консоль. Это в основном касается интерфейсов отличных от VirtualBox
, так как они не могут отображать сообщения об ошибках в всплывающих окнах. За дополнительной информацией обращайтесь к разделу “VBoxHeadless, the remote desktop server”.
Необязательный параметр --type
задает как будет запускаться виртуальная машина: в стандартном окне (по умолчанию) или графический вывод будет осуществляться через интерфейс VBoxHeadless
, с включенной или выключенной VRDE; см. раздел “VBoxHeadless, the remote desktop server”. Список доступных параметров изменяется и поэтому не гарантируется, что эти параметры будут приняты другой версией программы.
Доступны следующие параметры:
Запуск ВМ в стандартном окне. Это значение установлено по умолчанию.
Запуск ВМ без показа окна виртуальной машины, только с поддержкой протокола RDP.
Команда controlvm
позволяет вам изменять состояние работающей виртуальной машины. Доступны следующие операции:
VBoxManage controlvm <vm> pause
временно приостанавливает работу машины, без изменения ее состояния. Окно ВМ окрашивается в серый цвет, что означает, что ВМ приостановлена. (Данная команду можно выполнить через пункт "Pause" в меню "Machine" в графическом интерфейсе)
Используйте VBoxManage controlvm <vm> resume
для отмены действия предыдущей команды pause
. (Эта команда может эквивалентна выбору элемента "Resume" в графическом меню "Машина").
VBoxManage controlvm <vm> reset
вызывает тот же эффект, что и нажатие кнопки "Сброс/Reset" на реальном компьютере: вызывается холодная перезагрузка виртуальной машины, что приводит к немедленной перезагрузке гостевой операционной системы. Состояние ВМ не сохраняется, что может привести к потери ваших данных. (Данная команду можно выполнить через пункт "Reset" в меню "Machine" в графическом интерфейсе)
VBoxManage controlvm <vm> poweroff
эквивалентно выключению питания на реальном компьютере. Так же не сохраняется состояние ВМ и ваши данные могут быть повреждены. (Эта команда эквивалентна выбору элемента "Close" в меню графического интерфейса "Machine" или нажатию кнопки закрытия окна и последующим выбором "Power off the machine".)
После чего состояние ВМ изменяется на "Выключена". Из этого состояния вы можете запустить ее снова; см. раздел “VBoxManage startvm” .
VBoxManage controlvm <vm> savestate
сохраняет текущее состояние ВМ на диск и останавливает работу машины. (Это соответствует выбора элемента "Close" в меню "VM" или нажатию кнопки закрытия окна и последующем выбором "Save the machine state".)
После чего, состояние машины изменяется на "Сохранена". Из этого состояния вы можете запустить ее снова; см. раздел “VBoxManage startvm” .
VBoxManage controlvm <vm> teleport --hostname <name> --port <port> [--password <password>]
назначает виртуальной машине роль источника для операции телепортации. См. раздел “Teleporting”. Есл указан необязательный пароль, то будет проверяться проверяться его совпадение в операции modifyvm
на машине источнике; см. раздел “Teleporting settings” for details.
Существует несколько дополнительных опций controlvm
, которые влияют на работающие ВМ:
setlinkstate<1-N>
устанавливает или разрывает соединение виртуального сетевого кабеля.
nic<1-N> null|nat|bridged|intnet|hostonly|generic
: с помощью этого параметра вы можете установить вид режима для каждого виртуального сетевого интерфейса. Может принимать значение: нет соединения с хостом (null
), режим трансляции сетевых адресов (nat
), сетевой мост (bridged
), внутренняя сеть (intnet
), сетевой адаптер хоста (hostonly
) или access to rarely used sub-modes (generic
). Эти опции соответствуют типам виртуальных интерфейсов, которые описаны в разделе “Введение в сетевые режимы”.
usbattach
и usbdettach
делают доступными USB устройства хоста в виртуальной машине, без необходимости создания фильтров. Устройства USB могут быть указаны через UUID или адрес в хост системе.
Вы можете использовать команду VBoxManage list usbhost
для получения информации о доступных устройствах.
vrde on|off
включение или отключение VRDE сервера.
vrdeport default|<ports>
--vrdeport default|<ports>
: изменяет номер порта или диапазон портов на которых VRDE сервер принимает соединения; "default" или "0" означает 3389, стандартный порт RDP. За подробностями, обращайтесь к описанию --vrdeport
в разделе “Настройки COM порта, звука, буфера обмена, удаленного рабочего стола и USB”.
setvideomodehint
изменяет видео режим гостевой системы. Это требует наличие установленных гостевых дополнений в гостевой системе.
screenshotpng
создание снимка гостевого экрана в PNG формате.
Операция setcredentials
используется для удаленного входа в Windows гостей. Детали в разделе “Automated guest logons”.
Операция guestmemoryballoon
изменяет размер гостевого "баллона" - памяти взятой гостевыми дополнениями от гостевой системы и переданной гипервизору, для использования её в других виртуальных машинах. Задается в мегабайтах. См. раздел “Memory ballooning”.
cpuexecutioncap <1-100>
: управляет процентом использования времени процессора гостевой системы. Значение 50, означает, что один виртуальный процессор машины будет использовать до 50% времени работы одного ЦП хоста.
Данная команда сбрасывает сохраненное состояние виртуальной машины, которая не имеет текущее состояние "работает", и вызывает перезапуск гостевой ОС при следующем запуске ВМ. Это похоже на операцию выдергивания кабеля питания из розетки, чего следует по возможности избегать.
Если у вас есть файл снимка состояния (.sav
) для конкретной ВМ, то этой командой вы можете "принять (adopt)" этот файл. Это приведет к замене сохраненного состояния ВМ и когда вы ее запустите, VirtualBox попытается восстановить состояние из сохраненного в этом файле. Эта команда используется только в "экзотических" настройках.
Эта команда используется для работы со снимками состояний из командной строки. Снимок состояния содержит копию настроек виртуальной машины, которая создается во момент создания снимка и если снимок делался во время ее работы, то снимок содержит также состояние ВМ. После создания снимка, VirtualBox создает разностный жесткий диск для каждого виртуального диска связанного с виртуальной машиной, который позволяет быстро отбросить изменения на виртуальном диске при восстановлении из снимка.
Операция take
создает снимок текущего состояния виртуальной машины. Обязательным параметром является имя снимка, дополнительно можно указать текстовое описание. Новый снимок вставляется в дерево снимков как дочерний элемент текущего снимка и становится текущим снимком состояния.
Операция delete
удаляет снимок (определяется по имени или UUID). Для выполнения этой операции может потребоваться объединение данных разностного дисков с дочерними разностными дисками.
Операция restore
восстанавливает указанный снимок состояния (указывается по имени или UUID), сбрасывая настройки виртуальной машины и текущее состояние из снимка. Предыдущее текущее состояние машины будет потеряно. После этого, указанный снимок становится новым "текущим" состоянием и последующие снимки становятся подчиненными ему.
Операция restorecurrent
является операцией восстановления текущего состояния (т.е. снимком полученном из текущего состояния). Эта операция эквивалентна операции "restore" с именем или UUID текущего состояния, позволяя не указывать имя или UUID.
Операция edit
позволяет вам изменить имя или описание существующего снимка.
С помощью операции showvminfo
, вы можете увидить настройки виртуальной машины, которые сохранены в существующем снимке.
Эта команда удаляет жесткий диск, DVD или дискету из реестра виртуальных носителей VirtualBox.[35]
Дополнительно, вы можете указать физическое удаление файлов образов. Вы можете получить сообщение, что файл не может быть удален, но образ будет из реестра в любом случае.
Команды attaches/modifies/removes подключают к контроллерам носители данных, которые ранее были добавлены командой storagectl
( см. следующий раздел). Синтаксис команды:
VBoxManage storageattach <uuid|vmname> --storagectl <name> [--port <number>] [--device <number>] [--type dvddrive|hdd|fdd] [--medium none|emptydrive| <uuid>|<filename>|host:<drive>|iscsi] [--mtype normal|writethrough|immutable|shareable] [--comment <text>] [--setuuid <uuid>] [--setparentuuid <uuid>] [--passthrough on|off] [--tempeject on|off] [--bandwidthgroup name|none] [--forceunmount] [--server <name>|<ip>] [--target <target>] [--tport <port>] [--lun <lun>] [--encodedlun <lun>] [--username <username>] [--password <password>] [--intnet]
Обычно требуется множество параметров; в конце списка параметры требуемые для iSCSI (см. далее).
Общие параметры:
UUID или имя виртуальной машины. Обязательный.
Имя контроллера. Обязательный. Список контроллеров подключенных к ВМ, можно получить командой VBoxManage showvminfo
; см. раздел “VBoxManage showvminfo”.
Номер порта изменяемого контроллера. Обязательный, если только контроллер не имеет единственного порта.
Номер порта изменяемого устройства(device). Обязательный, если только контроллер не имеет единственного порта на устройстве.
Описывает тип привода к которому присоединяется/отключается/изменяется носитель. Этот параметр можно не указывать, если тип носителя быть определен с помощью аргумента --medium
или из предыдущей команды подключения носителя.
Определяет как подключается устройство. Поддерживаются следующие значения:
"none": Любое устройство будет удалено из указанного слота(разъема).
"emptydrive": Только для виртуальных DVD и дискет, устанавливает состояние слота, подобное устройству в которое не вставлен носитель.
Если указан UUID, это UUID носителя который уже зарегистрирован в реестре VirtualBox (например который был подключен к другой виртуальной машине). См. раздел “VBoxManage list” для ознакомления с тем как получить список известных носителей. Тогда, это устройство будет подключено к указанному слоту.
Если указано имя файла, то это должен быть полный путь, к существующему образу диска (ISO, RAW, VDI, VMDK и пр.), который должен быть подключен к указанному слоту.
"host:<drive>": Только для DVD или дискет, подключает к указанному слоту DVD или дисковод хост системы.
"iscsi": Только для виртуальных жестких дисков, позволяет задать iSCSI target. В данном случае, необходимо указать множество дополнительных параметров, описанных ниже.
Многие перечисленные операции, особенно для съемных носителей(дискеты и CD/DVD), можно выполнять для работающей ВМ. Другие (изменения устройств или слотов жестких дисков ) требуют выключения виртуальной машины.
Задает поведение носителя при операциях записи и создания снимков. См. раздел “Особые режимы записи образов”.
Любое текстовое описание, которое вы хотите дать этому носителю (необязательный; например, для iSCSI target, "Сервер для хранения больших загрузок"). Является информативным и не влияет на функциональность устройства.
Изменяет UUID или UUID владельца носителя перед подключением к ВМ. This is an expert option. Неправильное использование может сделать носитель неработоспособным или повредить настройки ВМ, которые работают с этим носителем. Наиболее часто используется --setuuid ""
, для присваивания нового (случайного) UUID образу. Используется для исключения ошибок дублирования UUID, возникающих при копировании образов.
Только для устройств DVD, вы можете включить поддержку записи DVD (в настоящее время экспериментальная; см. раздел “поддержка CD/DVD”).
Только для DVD, вы можете настроить возможность извлечение носителя, которое инициируется гостем. Если установлено в "on", то извлечение носителя имеет временный эффект. При выключении и перезапуске ВМ, носитель будет снова подключен к устройству.
Задается группа bandwidth для указанного устройства; см. раздел “Limiting bandwidth for disk images”.
Только для DVD или дисководов, принудительное отключение DVD/CD/Floppy или подключения новых DVD/CD/Floppy, даже если предыдущее подключенное устройство заблокировано гостем для чтения данных. Again, see the section called “CD/DVD support” for details.
При использовании "iscsi" с параметром --medium
-- см. раздел “iSCSI servers” --, должны или могут использоваться следующие дополнительные параметры:
Имя сервера или IP адрес iSCSI target; обязательный.
Строковое имя устройства. Используется iSCSI target и применяется для идентификации ресурса хранилища; обязательный.
Номер TCP/IP порта службы iSCSI (необязательный).
Логический номер устройства (Logical Unit Number) ресурса target (необязательный). Обычно имеет нулевое значение.
Имя пользователя и пароль, если требуется аутентификация (необязательный).
В настоящее время, username и password хранятся не шифрованными (в виде текста) в XML файле настроек машины.
Если задано, то соединяется к iSCSI target через внутреннию сеть(Internal Networking). Требуется дополнительная настройка. которая описана в разделе “Access iSCSI targets via Internal Networking”.
Эта команда подключает/изменяет/удаляет контроллеры носителей. После нее, виртуальные носители можно подключать к носителю командной storageattach
.
Синтаксис команды:
VBoxManage storagectl <uuid|vmname> --name <name> [--add <ide/sata/scsi/floppy>] [--controller <LsiLogic|LSILogicSAS|BusLogic| IntelAhci|PIIX3|PIIX4|ICH6|I82078>] [--sataideemulation<1-4> <1-30>] [--sataportcount <1-30>] [--hostiocache on|off] [--bootable on|off] [--remove]
где параметры имеют следующий смысл:
UUID или имя виртуальной машины. Обязательный.
Имя контроллера. Обязательный.
Определяет тип системной шины к которой подключается контроллер.
Позволяет выбрать тип чипсета(chipset), эмулируемого для этого контроллера.
Задает порты SATA, которые будут работать в режиме эмуляции IDE. Как было описано в разделе “Hard disk controllers: IDE, SATA (AHCI), SCSI, SAS”, по умолчанию установлено для SATA портов 1-4; этой командой, вы можете задать до четырех каналов IDE, из любых 30 SATA портов.
Определяет сколько SATA портов будет поддерживать контроллер.
Настраивает использование кэширование I/O для всех дисковых образов подключенных к контроллеру. For details, please see the section called “Host I/O caching”.
Указывает будет ли контроллер загрузочным.
Удаляет контроллер из настроек ВМ.
Эта команда создает/удаляет/изменяет группы пропускной способности для виртуальной машины:
VBoxManage bandwidthctl <uuid|vmname> --name <name> [--add disk [--delete] [--limit MB/s]
Инструкции по настройке пропускной способности описаны в разделе “Limiting bandwidth for disk images”. Значения параметров:
UUID или имя виртуальной машины. Обязательный.
Имя группы пропускной способности. Обязательный.
Создание новой группы пропускной способности с указанным типом.
Удаление группы пропускной способности , если она уже не используется
Устанавливает ограничение для указанной группы Может быть изменено для работающей ВМ.
Эта команда отображает информацию о виртуальном диске: его размер, объем занимаемый на диске, тип и виртуальные машины, которые используют его.
Для совместимости с более ранними версиями в VirtualBox, поддерживается также команда "showvdiinfo" которая транслируется в команду "showhdinfo".
Виртуальный диск должен быть указан по через UUID (если носитель зарегистрирован) или по имени файла. Зарегистрированные носители отображаются командой VBoxManage list hdds
(see the section called “VBoxManage list” for more information). Имя файла должно содержать правильный путь: как абсолютный или относительный к текущему каталогу.
Эта команда создает новый виртуальный жесткий диск. Синтаксис команды:
VBoxManage createhd --filename <filename> --size <megabytes> [--format VDI|VMDK|VHD] (default: VDI) [--variant Standard,Fixed,Split2G,Stream,ESX]
где параметры имеют следующий смысл:
Задает имя файла. Обязательный.
Задает размер образа, в 1 мегабайтах. Обязательный.
Позволяет задать формат создаваемого файла образа, отличающийся от входного файла.
Позволяет выбрать формат файла для выходного файла. Указывается в виде списка значений разделенных запятыми. В случае указания не совместимых комбинаций выводится сообщение об ошибке.
Для совместимости с ранними версиями VirtualBox, команда также поддерживается "createvdi".
С помощью команды modifyhd
, вы можете изменять характеристики виртуальных дисков:
VBoxManage modifyhd <uuid>|<filename> [--type normal|writethrough|immutable|shareable| readonly|multiattach] [--autoreset on|off] [--compact] [--resize <megabytes>|--resizebyte <bytes>]
Несмотря на суффикс "hd" в имени операции, она работает со всеми дисками, а не только с образами жестких дисков. Для совместимости с ранними версиями VirtualBox, также поддерживается команда "modifyvdi".
Изменяемый образ должен быть задан через UUID или по имени файла. Зарегистрированные носители отображаются командой VBoxManage list hdds
(see the section called “VBoxManage list” for more information). Имя файла должно содержать правильный путь: как абсолютный или относительный к текущему каталогу.
Доступны следующие опции:
С параметром --type
, вы можете задать тип образа, например normal, immutable, write-through и другие режимы; см. раздел “Special image write modes”.
Только для жестких дисков immutable (differencing), параметр --autoreset on|off
определяет нужно ли автоматически сбрасывать состояние диска при каждлм старте ВМ (подробности в разделе “Special image write modes”). По умолчанию устанавливается в "on".
С помощью параметра --compact
, можно использовать уплотнение виртуальных дисков, т.е. удаление блоков заполненных нулями. Позволяет уменьшать размер динамических дисков; сокращает физический размер образа без изменения логического размера виртуального диска. Уплотнение дисков доступно для базовых и разностных образов, которые являются частным случаем снимков системы.
Для выполнения этой операции, требуется , что бы свободное пространство диска гостевой системы было заполнено нулями - вы можете использовать любую подходящую для этих целей программу. Для гостей Windows, вы можете использовать утилиту sdelete
, которую выпускает Microsoft. Выполните sdelete -c
в госте для заполнения нулями свободного места диска перед уплотнением виртуального диска. В Linux используйте zerofree
утилиту с поддержкой файловых ext2/ext3.
Заметьте, что операция уплотнение в настоящее время доступна только для VDI образов. Данную операцию можно сделать так: обнулив свободные блоки и сделав клон динамического диска в другом формате. Вы можете использовать этот прием, пока не появится поддержка уплотнения дисков для других форматов.
Параметр --resize
позволяет вам изменять емкость существующего образа; данная операция корректирует логический размер виртуального диска без изменения физического размера образа.[36] В настоящее время работает только для расширения объема дисков в формате VDI и VHD и только для дисков динамических. Например, если вы создали диск размером 10G, то использование параметра --resize 15360
позволит увеличит на 5 GByte размер свободного пространства на виртуальном диске, без необходимости создания нового образа и копирования данных старого.
Эта команда создает копию зарегистрированных виртуальных жестких, как новый файл образа с новым уникальным идентификатором (UUID). Новый образ можно переносить на другую хост систему или импортировать в VirtualBox, используя менеджер виртуальных носителей; см. раздел “The Virtual Media Manager” и “Cloning disk images”. Синтаксис команды:
VBoxManage clonehd <uuid>|<filename> <outputfile> [--format VDI|VMDK|VHD|RAW|<other>] [--variant Standard,Fixed,Split2G,Stream,ESX] [--existing]
Образ клонируемого диска должен задаваться через UUIDs (если носитель зарегистрирован) или по имени файла. Зарегистрированные носители отображаются командой VBoxManage list hdds
(see the section called “VBoxManage list” for more information). Имя файла должно содержать правильный путь: как абсолютный или относительный к текущему каталогу.
Доступны следующие опции:
Позволяет выбрать формат выходного файла.
Позволяет указать вариант типа выходного файла. Указывается в виде списка значений разделенных запятыми. В случае указания не совместимых комбинаций выводится сообщение об ошибке.
Выполнять операцию клонирования, даже если клон носителя уже существует. Only the portion of the source medium which fits into the destination medium is copied. This means if the destination medium is smaller than the source only a part of it is copied, and if the destination medium is larger than the source the remaining part of the destination medium is unchanged.
Для совместимости с ранними версиями VirtualBox, также поддерживается команда "clonevdi".
Эта команда преобразует образы дисков raw в файл VirtualBox Disk Image (VDI). Синтаксис команды:
VBoxManage convertfromraw <filename> <outputfile> [--format VDI|VMDK|VHD] [--variant Standard,Fixed,Split2G,Stream,ESX] VBoxManage convertfromraw stdin <outputfile> <bytes> [--format VDI|VMDK|VHD] [--variant Standard,Fixed,Split2G,Stream,ESX]
где параметры имеют следующий смысл:
Указывает формат создаваемого файла. По умолчанию VDI.
Позволяет указать вариант типа выходного файла. Указывается в виде списка значений разделенных запятыми. В случае указания не совместимых комбинаций выводится сообщение об ошибке.
Второй вариант команды указывает, что VBoxManage должен получать содержимое образа диска из стандартного входного потока (используется в конвейерных командах).
Для совместимости с ранними версиями VirtualBox, также поддерживается команда "convertdd".
Эта команда позволяет вам устанавливать и получать данные строкового типа в виртуальной машине или в файле настроек VirtualBox (с указанием опции global
вместо имени ВМ). Вам необходимо указать ключ (как текстовую строку) с которым связываются сохраняемые данные и которые вы можете получить позднее. Например:
VBoxManage setextradata Fedora5 installdate 2006.01.01 VBoxManage setextradata SUSE10 installdate 2006.02.02
связывает значение "2006.01.01" с ключом installdate для виртуальной машины Fedora5, а "2006.02.02" для машины SUSE10. Вы можете получить эту информацию следующей командой:
VBoxManage getextradata Fedora5 installdate
вывод которой приведен ниже
VirtualBox Command Line Management Interface Version 4.1.0 (C) 2005-2011 Oracle Corporation All rights reserved. Value: 2006.01.01
Эта команда используется для изменения глобальных настроек VirtualBox . Некоторые из них соответствуют настройкам в окне "VirtualBox свойства" в графическом интерфейсе пользователя. Доступны следующие свойства:
Задает каталог, где по умолчанию сохраняются файлы виртуальной машины; см. раздел “Where VirtualBox stores its files”.
Устанавливает используемую библиотеку для "внешней" аутентификации VRDP; см. раздел “RDP authentication” .
Устанавливает библиотеку для аутентификации пользователей web сервиса. За описанием web сервиса VirtualBox, обратитесь к справочнику VirtualBox SDK (см. Глава 11, VirtualBox programming interfaces).
Определяет библиотеку для работы с VirtualBox Remote Desktop Extension.
Определяет должна ли аппаратная виртуализация быть включена по умолчанию.
Команда usbfilter
используется для работы с фильтрами USB виртуальных машин или глобальными фильтрами которые влияют на все ВМ. Глобальные фильтры применяются перед машинными фильтрами и могут быть использованы для запрещения захвата устройств в любой виртуальной машине. Глобальные фильтры всегда применяются в указанном порядке и используется только первый фильтр соответствующий устройству. Так например, если первый глобальный фильтр указывает захватить (делает устройство доступным) указанное устройство Kingston memory stick и второй фильтр игнорирует все устройства Kingston, то memory stick будет доступно в любой ВМ, а другие устройства нет.
При создании фильтр USB с использованием usbfilter add
, вы должны указать три обязательных параметра. Параметр index определяет позицию в списке фильтров. Если позиция уже занята другим фильтром, то он вставляется на его позицию, а весь список смещается на одну позицию ниже. Если индекс больше количества фильтров в списке, то новый фильтр добавляется в конец списка. Параметром target
выбирается виртуальная машина для которой устанавливается фильтр, а при использовании "global" применяется ко всем ВМ. name
определяет наименование фильтра, action
разрешает доступа виртуальных машин к устройствам со значение "hold" или запрещает к ним доступ с "ignore". Кроме того необходимо указать некоторые параметры фильтрации. Доступные значения этих параметров, для устройств подключенных к вашей системе, вы можете получить используя команду VBoxManage list usbhost
. Наконец, вы можете указать должен ли фильтр быть активирован, а также локальным, удаленным (для RDP соединений) или доступен для обоих режимов.
При изменении фильтров USB используя usbfilter modify
, вы должны указать его индекс (см. вывод команды VBoxManage list usbfilters
для поиска индексов глобальных фильтров и VBoxManage showvminfo
для фильтров машин) его область действия - виртуальная машина или "global". Изменяемые свойства такие же как в команде usbfilter add
. Для удаления фильтра, используйте usbfilter remove
с указанием индекса и области действия.
Эта команда позволяет вам управлять общими папками. Для этого, в гостевых системах должны быть установлены гостевые дополнения с поддержкой общих папок.
Общие папки описываются в разделе “Общие папки”.
Команда "guestproperty" позволяет вам получить или установить свойства работающей виртуальной машины. Для вводного ознакомления с предметом обратитесь к разделу “Guest properties”. Как там объяснялось, гостевые свойства являются произвольными строковыми парами ключ/ значение, которые можно записывать и считывать из гостя и хоста, так они могут использоваться как низкоуровневые каналы для передачи строковых значений. Кроме того, целый ряд значений, которые начинаются с "/VirtualBox/" автоматически устанавливаются и поддерживаются гостевыми дополнениями.
Доступны следующие расширения команды (где <vm>
может быть именем ВМ или ее UUID, как и в других командах VBoxManage):
enumerate <vm> [-patterns <pattern>]
: Отображает список всех свойств гостя для указанной виртуальной машины. Этот список будет ограничен, в случае отсутствия соединения с процессом гостевого сервиса, например если ВМ не запущена или не установлены гостевые дополнения.
Если указан параметр --patterns <pattern>
, то выводится список свойств ограниченный указанным шаблоном. Шаблон может содержать следующие символы:
*
(звездочка): представлять любое количество символов; например, " /VirtualBox*
" соответствует всем свойствам начинающимся с "/VirtualBox".
?
(знак вопроса): представляет один произвольный символ; например, " fo?
" соответствует "foo" и "for".
|
(вертикальная черта): может использоваться для указания нескольких альтернативных шаблонов; например, " s*|t*
" соответствует любой строке начинающейся с "s" или "t".
get <vm>
: Возвращает значение только одного свойства. Если значение свойства не может быть получено (например гостевая система не запущена), то выводится сообщение:
No value set!
set <vm> <property> [<value> [-flags <flags>]]
: Позволяет вам установить значение свойства. Если <value>
не указано, то свойство удаляется. С помощью --flags
вы можете использовать расширенное поведение команды (возможно использование комбинаций флагов, разделенных запятой):
TRANSIENT
: значение не будет сохраняться при завершении работы ВМ;
TRANSRESET
: значение будет удалено при рестарте и/или остановке ВМ;
RDONLYGUEST
: значение может изменяться только с хост системы, а для гостя доступно только для чтения;
RDONLYHOST
: значение может быть изменено только гостем, а хостом только прочитано;
READONLY
: значение не может быть изменено.
wait <vm> <pattern> --timeout <timeout>
: Ожидает события создания, изменения или удаления значения одного из свойств, описанных шаблоном. Правила создания шаблонов те же, что и в команде "enumerate" описанной выше.
Командв "guestcontrol" позволяет вам управлять гостевой системой с хоста. См. раздел “Guest control”.
Основной синтаксис команды:
VBoxManage guestcontrol <command>
Доступны следующие расширения команды (где <vm>
может быть именем ВМ или ее UUID, как и в других командах VBoxManage):
execute
, позволяет запускать программы/сценарии (процессы) установленными и работающими в гостевой системе. Эта команда применяется только для работающих ВМ и имеет следующий синтаксис :
VBoxManage guestcontrol <vmname>|<uuid> exec[ute] --image <путь к программе> --username <имя пользователя> --password <пароль> [--dos2unix] [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"] [--timeout <msec>] [--unix2dos] [--verbose] [--wait-exit] [--wait-stdout] [--wait-stderr] -- [[<argument1>] ... [<argumentN>]]
где параметры имеют следующий смысл:
UUID или имя виртуальной машины. Обязательный.
Абсолютный(полное имя) путь и имя программы запускаемой в гостевой ОС, например, C:\Windows\System32\calc.exe
Имя пользователя от имени которого запускается процесс. Пользователь должен существовать в гостевой ОС.
Пароль пользователя из --username
. Если не указан, то считается, что пароль пустой.
Установка или сброс значений одной или более переменных среды.
По умолчанию, новый процесс в гостевой системе создается со стандартными значениями среды гостевой ОС. Этот параметр позволяет изменить эту среду. Для установки/изменения, должна быть определена пара NAME=VALUE
; для сброса нужной переменной, укажите имя без значения, например NAME=
.
Параметры с пробелами должны быть заключены в кавычки. More than one --environment
at a time can be specified to keep the command line tidy.
Значение (в миллисекундах) которое задает время запуска процесса и время в течении которого VBoxManage ожидает выходных данных процесса. Если таймаут не указан, VBoxManage будет ожидать завершения работы процесса.
Указывает VBoxManage выводить больше информации.
Ожидать завершения процесса и вывести причину/флаги и код выхода.
Ожидать завершения процесса и вывести причину/флаги и код выхода. Ожидая завершения, получает вывод из потока stdout.
Ожидать завершения процесса и вывести причину/флаги и код выхода. Ожидая завершения, получает вывод из потока stderr.
Один или более аргументов для запускаемого процесса.
Параметры с пробелами должны быть заключены в кавычки.
В Windows имеется ограничения для графических приложений; см. Главу 14, Known limitations.
Примеры:
VBoxManage --nologo guestcontrol "My VM" execute --image "/bin/ls" --username foo --password bar --wait-exit --wait-stdout -- -l /usr
VBoxManage --nologo guestcontrol "My VM" execute --image "c:\\windows\\system32\\ipconfig.exe" --username foo --password bar --wait-exit --wait-stdout
Обратите внимание, что двойной дефис в первом примере требуется только для Unix хостов.
copyto
, позволяет копировать файлы с хоста в гостевую систему(только с установленными гостевыми дополнениями версии 4.0 и старше).
VBoxManage guestcontrol <vmname>|<uuid> copyto|cp <source on host> <destination on guest> --username <имя пользователя> --password <пароль> [--dryrun] [--follow] [--recursive] [--verbose]
где параметры имеют следующий смысл:
UUID или имя виртуальной машины. Обязательный.
Абсолютный путь исходных файлов на хосте, например C:\Windows\System32\calc.exe
. Может содержать выражения с шаблоном, например C:\Windows\System32\*.dll
Абсолютный путь в гостевой системе, например C:\Temp
Имя пользователя от имени которого запускается копирования. Пользователь должен существовать в гостевой ОС.
Пароль пользователя из --username
. Если не указан, то считается, что пароль пустой.
Сделать имитацию копирования, без реального копирования файлов в гостевую систему.
Обрабатывать символические ссылки источников на хосте.
Рекурсивное копирование файлов/каталогов.
Указывает VBoxManage выводить больше информации.
Установка дополнительных флагов. Не используется в настоящее время.
createdirectory
, создание каталогов в госте (при установленных гостевых дополнения версии 4.0 и стаоше).
VBoxManage guestcontrol <vmname>|<uuid> createdir[ectory]|mkdir|md <directory to create on guest> [--username "<name>"] [--password "<password>"] [--parents] [--mode <mode>] [--verbose]
где параметры имеют следующий смысл:
UUID или имя виртуальной машины. Обязательный.
Абсолютный путь каталога/каталогов создаваемых в гостевой системе, например D:\Foo\Bar
. Родительские каталоги (владельцы) должны уже существовать (например в примере D:\Foo
) если опущен параметр --parents
. Задаваемы пользователь должен иметь нужные права для создания каталогов.
Имя пользователя от имени которого запускается копирования. Пользователь должен существовать в гостевой ОС.
Пароль пользователя из --username
. Если не указан, то считается, что пароль пустой.
Указывает, что нужно создавать родительские каталоги, если они не существуют, например будет создан каталог D:\Foo
для D:\Foo\Bar
, если он не был создан ранее. Без --parent
операция завершится с ошибкой.
Установить права на создаваемый каталог. В настоящее время поддерживается только восьмеричная форма установки прав (например 0755
) .
Указывает VBoxManage выводить больше информации.
updateadditions
, позволяет обновить версию, уже установленных гостевых дополнений в гостевой системе (только для дополнений версий 4.0 и старше).
VBoxManage guestcontrol updateadditions <vmname>|<uuid> [--source "<guest additions .ISO file to use>"] [--verbose]
где параметры имеют следующий смысл:
UUID или имя виртуальной машины. Обязательный.
Полный путь к альтернативному размещению .ISO файла с гостевыми дополнениями VirtualBox, используемого для обновления.
Указывает VBoxManage выводить больше информации.
Команда "debugvm" используется опытными пользователями для получения информации о деталях работы виртуальной машины. Подобно отладчику ВМ, который описан в разделе “The built-in VM debugger”, эта команда будет полезна, если вы хорошо знакомы с архитектурой ПК и отладкой приложений.
Операция "debugvm" применяется только к работающим виртуальным машинам. Доступные функции:
С помощью dumpguestcore --filename <name>
вы можете создать системный дамп ВМ, который будет сохранен в указанный файл. Этот файл создается в стандартном формате ELF (со специальными разделами); см. раздел “VM core format”.
Соответствует команде writecore
в отладчике.
Команда info
используется для показа информации о элементах VMM, эмулируемых устройствах и используемых драйверах. Эта команда использует один или более параметров: имя информационного элемента и необязательный параметры. С параметром help
можно получить список доступных в команде элементов с параметрами и их описание.
Соответствует команде info
в отладчике.
Команда injectnmi
вызывает не маскируемое прерывание (NMI) в гостевой системе, что используется для процедур отладки. What happens exactly is dependent on the guest operating system, but an NMI can crash the whole guest operating system. Do not use unless you know what you're doing.
The osdetect
command makes the
VMM's debugger facility (re-)detection the guest operation
system.
This corresponds to the detect
command in the debugger.
The osinfo
command is used to
display info about the operating system (OS) detected by the VMM's
debugger facility.
The getregisters
command is
used to display CPU and device registers. The command takes a list
of registers, each having one of the following forms:
register-set.register-name.sub-field
register-set.register-name
cpu-register-name.sub-field
cpu-register-name
all
The all
form will cause all
registers to be shown (no sub-fields). The registers names are
case-insensitive. When requesting a CPU register the register set
can be omitted, it will be selected using the value of the
--cpu
option (defaulting to 0).
The setregisters
command is
used to change CPU and device registers. The command takes a list
of register assignments, each having one of the following forms:
register-set.register-name.sub-field=value
register-set.register-name=value
cpu-register-name.sub-field=value
cpu-register-name=value
The value format should be in the same style as what
getregisters
displays, with the
exception that both octal and decimal can be used instead of
hexadecimal. The register naming and the default CPU register set
are handled the same way as with the
getregisters
command.
Команда statistics
используется для показа статистики VMM в командной строке. Опция --reset
позволяет сбросить накопленную статистику. Вывод может быть отфильтрован с помощью аргумента --pattern
, который может содержать групповые символы DOS/NT (?
и *
).
Эта команда позволяет контролировать использование системных ресурсов. Ресурсы представлены различными показателями (метриками) связанными с хост системой и определенной ВМ. Например, показатель хост системы CPU/Load/User
показывает процент времени которое использует CPU для работы в пользовательском режиме за определенный период.
Данные показателей коллекционируются и сохраняются внутри системы; вы можете получить их в любое время командой VBoxManage metrics query
. Данные доступны в течении времени выполнения фонового процесса VBoxSVC
. Этот процесс завершается вскоре после завершения работы всех виртуальных машин.
По умолчанию данные показателей не собираются. Сбор метрик не начинается пока он не будет инициализирован командой VBoxManage metrics setup
, с указанием интервала и количества сохраняемых значений метрики. Интервал измерений указывается в секундах. Например, для включения сбора данных о процессоре хоста и использования памяти, с интервалом в 1 секунду с сохранением 5 последних значений ,используйте следующую команду:
VBoxManage metrics setup --period 1 --samples 5 host CPU/Load,RAM/Usage
Снятие значений метрик возможно только для работающих ВМ. Полученные данные и настройки для определенной ВМ пропадут сразу после завершения ее работы. Используйте команду VBoxManage metrics list
для получения доступных метрик. Вы можете использовать параметр --list
с любой операцией которая изменяет настройки метрик, для определения метрик, которые затрагивает операция.
Заметьте, что команда <c1> VBoxManage metrics setup</c1> очищает все предыдущие собранные данные для выбранного множества объектов и показателей.
Для включения и отключения процесса сбора без потери собранной информации используйте VBoxManage metrics enable
и VBoxManage metrics disable
. Заметьте, что воздействует только на метрики верхнего уровня, например CPU/Load
или RAM/Usage
. Другими словами отслеживание CPU/Load/User
при отключенном CPU/Load/Kernel
невозможно.
Хост и виртуальные машины имеют различное множество метрик. Список доступных метрик можно получить командой VBoxManage metrics list
.
Полное имя метрики может содержать агрегатную функцию. Синтаксис имени метрики: Category/Metric[/SubMetric][:aggregate]
. Например, RAM/Usage/Free:min
показывает минимальный объем доступной памяти на хосте.
Команда может применяться для всех объектов и метрик, или ограничиваться одним объектом и/или списком метрик. Если в параметрах не указано ни одного объекта или метрики, команда применяется для всех доступных метрик и объектов. Вы можете использовать знак звездочка (" *
") для явного указания того, что команда применяется для всех объектов и показателей. Использование "host" как имя объекта ограничивает область действия команды метриками хоста. Для ограничения области действия множества показателей, используется список метрик разделенных запятой.
Например, для вывода значений показателей работы CPU в режиме пользователя и ядра для виртуальной машины "test", вы можете использовать команду:
VBoxManage metrics query test CPU/Load/User,CPU/Load/Kernel
Ниже приведен обзорный список доступных команд:
Эта команда показывает текущие настройки метрик. Заметьте, что показатели ВМ доступны только для работающих виртуальных машин.
Эта команда устанавливает интервал между получением значений показателей и количество хранимых значений. Полученные значения отображаются командой query
. С опцией --list
показывается какие показатели будут изменены в результате выполнения команды.
Эта операция "возобновляет" получение показателей метрик, после остановки операцией disable
. Заметьте, что указание в качестве параметров подчиненных показателей не затрагивает основных. Используйте Use --list
, чтобы убедиться в правильности выполнения команды.
Операция "приостанавливает" сбор значений показателей без влияния на уже полученные данные. Заметьте, что указание в качестве параметров подчиненных показателей не затрагивает основных. Используйте Use <c1>--list</c1> , чтобы убедиться в правильности выполнения команды.
Эта команда отображает текущие значения показателей.
Команда query
не удаляет и не "очищает" сохраненные данные. Если вы будете часто запрашивать данные, то увидите как постепенно старые значения заменяются новыми.
Эта команда устанавливает интервал между получением значений показателей и количество хранимых значений. Полученные данные выводятся на экран, если не указан параметр --detach
, процесс можно завершить нажатием Ctrl-C. С опцией --detach
, эта команда работает так же как setup
. Опция --list
отображает какие показатели будут затронуты командой.
С помощью "hostonlyif" вы можете изменить настройку IP для сетевого интерфейса виртуального адаптера хоста. Описание виртуального адаптера хоста вы можете получить в разделе “Host-only networking”. Каждый виртуальный адаптер хоста идентифицируется именем и может настроен встроенным в VirtualBox сервер DHCP или вручную (как IP4 так и IP6).
Команда "dhcpserver" позволяет вам управлять сервером DHCP, который встроен в VirtualBox. Вы можете найти его использование полезным, при работе с сетевыми устройствами в режимах внутренняя сеть и виртуальный адаптер хоста. (Теоретически, вы можете использовать его для сетевого устройства в режиме моста, но в этом случае возможно появление конфликтов с работой других серверов DHCP в вашей физической сети)
Используются следующие опции команды:
Если вы работаете в режиме внутренняя сеть для виртуального сетевого интерфейса, используйте VBoxManage dhcpserver add --netname <network_name>
, где <network_name>
то же самое имя сети, что вы использовали в команде VBoxManage modifyvm <vmname> --intnet<X> <network_name>
.
Если вы работаете в режиме виртуальный адаптер хоста , используйте VBoxManage dhcpserver add --ifname <hostonly_if_name>
, где <hostonly_if_name>
то же самое имя интерфейса, что и для команды VBoxManage modifyvm <vmname> --hostonlyadapter<X> <hostonly_if_name>
.
Так же, вы можете использовать опцию --netname как и для внутренней сети, если вам известно имя виртуального адаптера хоста; вы можете получить их имена командой VBoxManage list hostonlyifs
(см. раздел “VBoxManage list” ).
Следующие дополнительные параметры требуются при первом обращении к функции add сервера DHCP:
С помощью --ip
, указывается IP адрес DHCP сервера.
--netmask
указывает сетевую маску.
С помощью --lowerip
и --upperip
, вы можете указать нижний и верхний диапазон IP адресов, которые DHCP сервер будет выдавать клиентам.
Наконец, вы должны указать параметр --enable
, иначе DHCP сервер будет создан, но работать не будет.
После этого, VirtualBox будет автоматически запускать DHCP сервер для виртуальных сетей, при старте первой виртуальной машины которая использует эти сети.
Для удаления сервера используйте команду VBoxManage dhcpserver remove
с указанием --netname <network_name>
или --ifname <hostonly_if_name>
.
Для изменения настроек DHCP сервера, созданного ранее командой VBoxManage dhcpserver add
, вы можете использовать команду VBoxManage dhcpserver modify
.
Команда "extpack" позволяет вам подключать или удалять пакеты расширений VirtualBox, которые описываются в разделе “Installing VirtualBox and extension packs”.
Для подключения нового пакета расширений, используйте VBoxManage extpack install <tarball>
. Эта операция не выполнится, если уже установлена старая версия этого пакета. Необязательный параметр --replace
может использоваться для удаления старых пакетов перед установкой новых.
Для удаления установленных пакетов расширений используется команда VBoxManage extpack uninstall <name>
. Вы можете использовать VBoxManage list extpacks
для получения имен установленных в настоящее время пакетов; см. “VBoxManage list”. Необязательный параметр --force
можно использовать для принудительного удаления пакета.
Команда VBoxManage extpack cleanup
может использоваться для удаления временных файлов и каталогов, которые остались от предыдущих операций с пакетами, которые завершились с ошибкой .
[34] Подробности в разделе “VBoxManage createvm”.
[35] До версии VirtualBox 4.0, it was necessary to call VBoxManage openmedium before a medium could be attached to a virtual machine; that call "registered" the medium with the global VirtualBox media registry. With VirtualBox 4.0 this is no longer necessary; media are added to media registries automatically. The "closemedium" call has been retained, however, to allow for explicitly removing a medium from a registry.
[36] Изменение размера образов появилось в VirtualBox 4.0.