Каков наилучший метод настройки виртуального жесткого диска (VDI) первичного контроллера для существующей виртуальной машины?
Изменится ли синтаксис, если VDI действительно является дочерним разностным диском другого родительского диска? Вам нужно каким-то образом присоединить родительский VDI, а затем дочерний VDI?
Ситуация:
У меня есть виртуальная машина - я хочу заменить жесткий диск, который она использует для загрузки - на другой нормальный виртуальный жесткий диск или, возможно, на другой диск. Можно ли это сделать с помощью VBoxManage?
Довольно старый вопрос, но вот как я это делаю:
VBoxManage storageattach my-vm-name \
--storagectl "SATA Controller" \
--device 0 \
--port 0 \
--type hdd \
--medium /path/to/my-new.vdi
Предполагается, что вы хотите заменить старый диск. Если вы хотите просто добавить еще один диск, используйте другой порт, например 1, если у вас только 1 диск (на порту 0). Обратите внимание, что вы также можете добавлять диски (или образы cd / dvd) в «IDE Controller».
Я считаю, что это должно быть сделано для виртуального жесткого диска.
VBoxManage modifyvm winxp-web-dev --hda "/home/vbox/.VirtualBox/HardDisks/my_new_disk.vdi"
(Вот как я это делаю, когда создаю виртуальные машины из консоли)
Просто хочу добавить в @calas виртуальную машину, управляемую бродягой (запустить в папке виртуальной машины и заменить sandbox_default_
с префиксом имени вашей виртуальной машины):
VBoxManage storageattach `VBoxManage list vms | grep \"sandbox_default_ | awk '{print $2;}'` --storagectl SATA --port 0 --type hdd --medium box-disk1.vmdk
Сначала вам нужно добавить контроллер на вашу виртуальную машину:
vboxmanage storagectl YourVMNameOrID --name "SATA Controller" --add sata --controller IntelAHCI --portcount 1 --bootable on
а затем прикрепите образ виртуального диска к контроллеру хранилища:
vboxmanage storageattach YourVMNameOrID --storagectl "SATA Controller" --device 0 --port 0 --type hdd --medium YourVirtualDiskImage.vdi
Я не уверен, что вы можете сделать это с помощью VBoxManage, я всегда менял его через графический интерфейс после использования CloneHD, вы можете ответить, что в VBoxManage Manuel
В случае, если это полезно для всех, кто работает с разделом BootCamp, который вам нужно создавать новый .vmdk для каждой загрузки, мне пришлось сделать это, чтобы прикрепить образ и избежать раздражающей проблемы несоответствия UUID:
Отключите носитель от виртуальной машины VBoxManage storage прикрепите YourVMName Here --storagectl "IDE" --device 0 --port 0 --type hdd --medium none
Таким образом, он не жалуется, когда вы удаляете средний диск VBoxManage closemedium /path/to/your/medium.vmdk
Затем, когда вы подключаете воссозданный носитель, вы не получаете ошибок контрольной суммы VBoxManage storageattach YourVMNameHere --storagectl "IDE" --device 0 --port 0 --type hdd --medium /path/to/your/medium.vmdk