win7 + vagrant + virtualbox导入vm时disk路径问题
2014-07-14 TECH directory disk Vagrant vagrant up win7
windows下vagrant up一个vm时,会发现新虚拟机的硬盘在原始虚拟机命名的目录中。
比如:
你用了一个打包的vbox虚拟机名 ABC,
当box再被导入为centos-vagrant这个名字,存放在 [VM目录]\centos_vagrant\,
你会发现centos-vagrant的虚拟磁盘是 [VM目录]\ABC\box-disk1.vmdk。
这个问题已被确认是一个bug,由win和*nix下路径分割符导致的问题(\\ 与 /),而vagrant导入时候未做系统判断。
参考讨论: https://github.com/mitchellh/vagrant/issues/3584
修复方案: https://github.com/mitchellh/vagrant/pull/4133
vagrant导入virtualbox 4.2、4.3都存在此问题
手动修改文件修复即可:
[VAGRANT_DIR]\embedded\gems\gems\vagrant-1.6.3\plugins\providers\virtualbox\driver\version_4_2.rb
[VAGRANT_DIR]\embedded\gems\gems\vagrant-1.6.3\plugins\providers\virtualbox\driver\version_4_3.rb
我用的vbox4.3 就顺便贴出来了
version_4_3.rb LINE 196 注释掉并替换为
if Vagrant::Util::Platform.windows? disk_params << path.reverse.sub("\\#{suggested_name}\\".reverse) { "\\#{specified_name}\\".reverse }.reverse else disk_params << path.reverse.sub("/#{suggested_name}/".reverse, "/#{specified_name}/".reverse).reverse end
暂无评论