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

Sas*_*a O 1 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
Run Code Online (Sandbox Code Playgroud)

它在我停止机器,操作共享然后再次启动机器时起作用.它也适用于VirtualBox UI,但我想编写这些操作的脚本.

在Mac OS Yosemite上运行VirtualBox 5.0.12.盒子配备了docker-machine.

Sas*_*a O 5

正如Virtual Box论坛上的'socratis'所指出的那样,使用--transient标志的方法是:

     ~$ VBoxManage sharedfolder add dev --name srv --hostpath  "/my/local/path" --transient
Run Code Online (Sandbox Code Playgroud)

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

VirtualBox的文件中提到这个问题,以及:

共享有两种类型:

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

  • 要使它们永久化,您需要停止框,进行更改然后启动框.我别无知道.事实上,使用VirtualBox直接变得过于繁琐,我已经切换到Vagrant (2认同)