В большинстве руководств по установке Windows на VirtualBox в качестве шаблона для быстрых заданий Windows предлагается выполнить несколько шагов по подготовке виртуальной машины перед установкой Windows (лучшее руководство, которое я нашел: grahamrhay.wordpress.com ; другое довольно хорошее руководство: www .windowstablettv.com ). К сожалению, я не читал эти руководства до установки и активации Windows на виртуальной машине, которую я хотел использовать в качестве шаблона.
Я хочу знать, как клонировать мою уже активную виртуальную машину таким образом, чтобы не требовалось повторной активации из Windows.
При просмотре файла шаблона определения виртуальной машины (VBOX или XML-файл для виртуальной машины /VirtualBox/Machine/Hardware
) узел (идентификатор XPath) не имеет uuid
атрибута. Но если я попытаюсь использовать VBoxManage modifyvm <uuid|name> --hardwareuuid <uuid>
для установки нового UUID для шаблона ВМ, то шаблон ВМ теряет свой статус активации! (К счастью, я сделал резервную копию шаблона.) Таким образом, для достижения своей цели я не могу просто следовать этим руководствам, притворяясь, что я еще не установил Windows.
VBoxManage modifyvm --hardwareuuid <uuid>
modifyvm
не установит атрибут/VirtualBox/Machine/Hardware
узла,uuid
если вы передадите UUID с тем же значением, что и атрибут/VirtalBox/Machine
узла виртуальной машиныuuid
. Вы должны редактировать файл VBOX напрямую.Этот скрипт powershell делает работу:
Помните, что имена виртуальных машин чувствительны к регистру.
источник
Благодаря приведенным выше советам я успешно клонировал компьютер с гостевой Win7, работающей на хосте Kubuntu в тестовых целях без повторной активации.
Моя машина уже была активирована и (как описано выше) фактически не имела аппаратного UUID.
Для меня, похоже, MACHINE UUID предназначен только для управления Virtualbox, тогда как HARDWARE UUID используется логикой активации Windows. Если аппаратный UUID отсутствует, Virtualbox предоставляет UUID компьютера гостю, то есть Microsoft знает UUID компьютера.
Итак, вот как это работало без повторной активации в моем случае: 1) Скопируйте виртуальную машину (папку) с помощью обычного файлового браузера. 2) Откройте файл .vbox в простом текстовом редакторе. 3) Поскольку не было атрибута UUID для «оборудования», скопируйте атрибут UUID машины (например, uuid = "{xxx11111-2222-3333-4444-xxxxxxxxxxxx}") в запись "оборудование". 4) Сгенерируйте новый UUID для машины, например, с помощью uuidgenerator.net. 5) Перезаписать UUID машины VALUE сгенерированным значением UUID. => Готово.
Для параллельного управления обеими машинами в VB Manager сложнее:
1. Переименовать файл жесткого диска клонов .vdi.
2. В командной строке введите новый UUID для жесткого диска с помощью команды "VBoxManage internalcommands sethduuid .vdi. VBManager установит новый UUID и отобразит его.
3. В VB Manager добавьте новый компьютер. Отредактируйте компьютер, добавив новый файл жесткого диска. (и удалите оригинальный vdi, если он все еще присутствует).
Теперь у вас есть уникальные идентификаторы для всех виртуальных машин и жестких дисков. Вы можете управлять обеими машинами в VB Manager параллельно.
источник
Полный клон машины. Не начинай это.
Из командной строки:
VBoxManage modifyvm "Имя клонированной виртуальной машины" --hardwareuuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
В качестве UUID используйте идентификатор устройства (или идентификатор оборудования, если имеется) с исходного устройства.
Чтобы получить UUID, используйте:
VBoxManage showvminfo "Оригинальное имя ВМ"
Это должно работать. Протестировано на гостевой Windows 10, уже активировано.
источник
/VirtalBox/Machine
узла виртуальной машиныuuid
, как показывают вопрос и другой комментарий .