Kontroler IDE na VirtualBox

5

Mam problem z wirtualną skrzynką. Używam go na serwerze CentOS (bez GUI) do wirtualizacji maszyn, które będą używane przez klientów ze zdalnym połączeniem pulpitu.

Próbuję dołączyć plik ISO do vm za pomocą tego polecenia:

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

ale to odpowiada

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

Próbowałem więc podłączyć kontroler IDE

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

Ale to powiedział

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
Max Markson
źródło

Odpowiedzi:

7

Polecenie, którego szukasz, to:

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

Jeśli to nie zadziała natychmiast, spróbuj zastosować następujący przykład:

   $ 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
   $ 
MariusMatutiae
źródło
Tylko wątpliwość: co oznacza „JH”?
Max Markson
@ MaxMarkson Przepraszam, zapomniałem, to jest nazwa jednego z mój VM, ten, z którym testowałem powyższe polecenia, ponieważ nie byłem pewien, czy pamiętam dokładną składnię.
MariusMatutiae
Przypuszczałem, ale i tak poprosiłem ... żeby się upewnić.
Max Markson
0

Miałem ten sam problem i sprawdzałem plik action_provision zrobiłem sztuczkę dla mnie

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

Po dostarczeniu vagrant tworzy ten plik. Na drugim rozruchu jest już na miejscu. (widzieć https://stackover.com/questions/24855635/check-if-vagrant-provisioning-has-been-done )

Marcel
źródło