Есть ли способ получить UUID гостевой виртуальной машины из самой гостевой виртуальной машины? От Хоста я могу сделать vboxmanage list vms
чтобы получить список всех имен виртуальных машин и их идентификаторов пользователей. От гостя, даже с дополнениями VirtualBox, я не вижу способа сделать это. Самое близкое, что я пришел, было vboxcontrol guestproperty enumerate
, но похоже, что у него нет UUID в качестве гостевого свойства.
Мне удалось извлечь UUID машины в гостевых системах Linux с помощью dmidecode
.
$ uname -a
Linux vagrant-ubuntu-trusty-64 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ dmidecode
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: innotek GmbH
Product Name: VirtualBox
Version: 1.2
Serial Number: 0
UUID: 7CB408DB-F8D3-45D8-AB90-BD8EA68C841E
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Virtual Machine
Этот UUID совпадает с сообщением хоста:
$ VBoxManage list runningvms
"vagrant_box_1463038978001_98686" {7cb408db-f8d3-45d8-ab90-bd8ea68c841e}
Чтобы извлечь только UUID, вы можете запустить:
dmidecode | grep UUID | awk '{print $2}'
Начиная с версии 3.0 dmidecode, работает следующее:
dmidecode -s system-uuid
Лучшее, что я мог придумать:
/Custom/UUID
) в UUID. Запускайте это вручную всякий раз, когда создается новая виртуальная машина./Custom/UUID
. Если его там нет, взорвитесь.