Может ли VirtualBox VBoxManage добавлять/удалять общие папки "на лету"?
Когда я пытаюсь добавить/удалить общую папку в свой VirtualBox, я получаю эту ошибку:
~$ VBoxManage sharedfolder add dev --name srv --hostpath "/my/local/path"
VBoxManage: error: The machine 'dev' is already locked for a session (or being unlocked)
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component MachineWrap, interface IMachine, callee nsISupports
VBoxManage: error: Context: "LockMachine(a->session, LockType_Write)" at line 1012 of file VBoxManageMisc.cpp
Это работает, когда я останавливаю машину, манипулирую акциями, а затем снова запускаю машину. Он также работает с пользовательским интерфейсом VirtualBox, но я хотел бы script выполнить эти операции.
Запуск VirtualBox 5.0.12 на Mac OS Yosemite. Ящик был снабжен docker-machine
.
Ответы
Ответ 1
Как отмечено "socratis" в Virtual Box Forum, способ сделать это - использовать флаг --transient
:
~$ VBoxManage sharedfolder add dev --name srv --hostpath "/my/local/path" --transient
При использовании --transient
сопоставление не будет сохраняться при перезапуске VM.
В документации по VirtualBox упоминается также:
Существует два типа акций:
доли VM, доступные только для виртуальной машины, для которой они были определены; временные ресурсы VM, которые могут быть добавлены и удалены во время выполнения и не сохраняются после остановки виртуальной машины; для них добавьте опцию -transient в приведенную выше командную строку.