当我尝试向我的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
。
答案 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文件夹