VirtualBox VBoxManage可以动态添加/删除共享文件夹吗?

时间:2015-12-28 08:16:33

标签: virtualbox docker-machine

当我尝试向我的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 UI,但我想编写这些操作的脚本。

在Mac OS Yosemite上运行VirtualBox 5.0.12。该框配置了docker-machine

2 个答案:

答案 0 :(得分:5)

正如'{3}}中的'socratis'所指出的,实现此目的的方法是使用--transient标志:

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

使用--transient时,映射将不会在VM重新启动时持续存在。

Virtual Box Forum也提到了这一点:

  

共享有两种类型:

     

VM份额,仅适用于已定义它们的VM;   临时VM共享,可以在运行时添加和删除,并且在VM停止后不会保留;对于这些,请将--transient选项添加到上面的命令行。

答案 1 :(得分:1)

是的,您可以使用VboxManage命令添加共享文件夹,但是此更改不是永久性的

注意:要启用与vBOX的文件夹共享,您必须在来宾计算机上安装install Vbox-guest驱动程序,然后才可以在来宾vm中共享hosts文件夹