Can VirtualBox VBoxManage add/remove shared folders on the fly?

六眼飞鱼酱① 提交于 2019-12-08 07:30:37

问题


When I am trying to add/remove shared folder to my VirtualBox I am getting this error:

~$ 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

It works when I stop the machine, manipulate shares and then start the machine again. It also works from the VirtualBox UI but I would like to script these operations.

Running VirtualBox 5.0.12 on Mac OS Yosemite. The box was provisioned with docker-machine.


回答1:


As noted by 'socratis' at Virtual Box Forum, the way to do this is by using the --transient flag:

     ~$ VBoxManage sharedfolder add dev --name srv --hostpath  "/my/local/path" --transient

When using --transient, the mapping will not persist over the VM restart.

The VirtualBox documentation mentions this as well:

There are two types of shares:

VM shares which are only available to the VM for which they have been defined; transient VM shares, which can be added and removed at runtime and do not persist after a VM has stopped; for these, add the --transient option to the above command line.




回答2:


Yes, You can add shared folder with VboxManage command but this changes are not permanent

Note: To enable folder sharing with vBOX you will have to install install Vbox-guest driver on your guest machine, then only you can share hosts folder inside your guest vm



来源:https://stackoverflow.com/questions/34489942/can-virtualbox-vboxmanage-add-remove-shared-folders-on-the-fly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!