一、运行环境
win7 x64
cygwin x64
vagrant 1.6.3
virtulabox 4.3.12
二、问题描述
参考:https://github.com/mitchellh/vagrant/issues/1454
cygwin默认用的的bash, 用户目录: [cygwin目录]\home\[Win7系统用户名]\, 如: D:\cygwin\home\Administrator\
先在 .bashrc 中扩展 PATH 增加vagrant的bin目录 D:\vagrant\bin\
vagrant前期准备这里就略了,vagrant init TEST,vagrant up 一切正常
此时用户目录中多出了 .VirtualBox 和 VirtualBox VMs 目录
VM被导入到了 D:\cygwin\home\Administrator\VirtualBox VMs\
VM配置放在了 D:\cygwin\home\Administrator\.VirtualBox\
这就导致了后续你的操作有2中情况会导致刚刚创建的vm变为not created状态
1) 在cygwin下启动vagrant 之前打开了virtualbox
如果进程VBoxSVC.exe还在,加载的WINDOWS下的vbox配置会被保持。
在cygwin下再启动vagrant调用vbox时,用户目录中存储的配置 .VirtualBox 和 VirtualBox VMs不会被加载。
自然你之前创造的vm肯定是找不到了,所以是not created状态
2) 把这2个文件夹删除了
这个没什么好解释的,配置和VM文件都不在了。
三、解决办法
把cygwin下的vbox配置保持和WINDOWS下的配置保持统一,在.bashrc中初始化
#VBOX 配置文件目录 VBOX_USER_HOME="C:/Users/$USER/.VirtualBox/" export VBOX_USER_HOME #VBOX VM默认存放目录,可以和WINDOWS下的不同,只是制定VM存放位置 VBOX_VMS_FOLDER="E:/Vagrant_VMS/" vboxmanage setproperty machinefolder $VBOX_VMS_FOLDER
暂无评论