5

У меня проблема с виртуальной коробкой. Я использую его на сервере CentOS (без графического интерфейса) для виртуализации машин, которые будут использоваться клиентами с подключением к удаленному рабочему столу.

Я пытаюсь прикрепить файл ISO к виртуальной машине с помощью этой команды:

vboxmanage modifyvm "intouch" --dvd /usr/share/virtualbox/VBoxGuestAdditions.iso

но он отвечает

VBoxManage: error: No drive attached to device slot 0 on port 1 of controller 'IDE Controller'
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component SessionMachine, interface IMachine, callee nsISupports
Context: "MountMedium(Bstr("IDE Controller").raw(), 1, 0, dvdMedium, FALSE )" at line 962 of file VBoxManageModifyVM.cpp

Поэтому я попытался подключить контроллер IDE

VBoxManage storagectl "intouch" --add ide --name "IDE Controller"

Но это сказал

VBoxManage: error: Storage controller named 'IDE Controller' already exists
VBoxManage: error: Details: code VBOX_E_OBJECT_IN_USE (0x80bb000c), component SessionMachine, interface IMachine, callee nsISupports
Context: "AddStorageController(Bstr(pszCtl).raw(), StorageBus_IDE, ctl.asOutParam())" at line 1008 of file VBoxManageStorageController.cpp

2 ответа2

7

Команда, которую вы ищете:

 VBoxManage storageattach TheNameOfYourVM --storagectl "IDE Controller"     --port 1 --device 0 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso

Если это не работает сразу, попробуйте следующий пример, который работает для меня:

   $ VBoxManage storagectl JH --name "IDE Controller" --remove 
   $ VBoxManage storagectl JH --name "IDE Controller" --add ide
   $ VBoxManage storageattach JH --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso
   $ 
0

У меня была та же проблема, и проверка файла action_provision сделала свое дело для меня

if ! File.exist?(".vagrant/machines/default/virtualbox/action_provision")
    vb.customize ["storagectl", :id, "--name", "IDE Controller", "--add", "ide"]
end

После инициализации vagrant создает этот файл. На второй загрузке он уже на месте. (см. https://stackoverflow.com/questions/24855635/check-if-vagrant-provisioning-has-been-done)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .