• HOME
  • DOCS
  • WTF
  • TECH
  • LIFE
  • PAGES
    • ARCHIVE
    • TAGS
    • ABOUT
    • FRIENDS
    • RSS
  • TOOLS
    • GEO
    • RANDOM()
    • GOO.GL
    • CSS HEART
Aj's Blog

记录时间溜走的瞬间和折腾过的那些事

win7 + vagrant + virtualbox导入vm时disk路径问题
2014-07-14 @ TECH directorydiskVagrantvagrant upwin7

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
下一篇:   WIN7丢失打印服务(Print Spooler)的解决办法
上一篇:   清华同方X46H刷BIOS开启VT-x
暂无评论

Cancel reply