Vagrant 当f上的默认vb计算机文件夹为时,未找到vboxmanage verr_路径:
视窗10 Vagrant文件位于驱动器E:\Vagrant\ubuntu trusty vb上 Virtualbox计算机文件夹F: 当vagrant up运行时,.vbox文件中的硬盘条目不会被更改到正确的目录,而是Vagrant 当f上的默认vb计算机文件夹为时,未找到vboxmanage verr_路径:,vagrant,virtualbox,Vagrant,Virtualbox,视窗10 Vagrant文件位于驱动器E:\Vagrant\ubuntu trusty vb上 Virtualbox计算机文件夹F: 当vagrant up运行时,.vbox文件中的硬盘条目不会被更改到正确的目录,而是f:\ubuntu-cloudimg-trusty-vagrant-amd64_14657483444502_5020而不是实际创建的f:\ubuntu-trusty-vb_default_14657483361721_37792 <HardDisks>
f:\ubuntu-cloudimg-trusty-vagrant-amd64_14657483444502_5020
而不是实际创建的f:\ubuntu-trusty-vb_default_14657483361721_37792
<HardDisks>
<HardDisk uuid="{e1fce00d-2c78-4d36-9bff-5fcb08ff1b32}" location="f://ubuntu-cloudimg-trusty-vagrant-amd64_1465855041577_18173/box-disk1.vmdk" format="VMDK" type="Normal"/>
</HardDisks>
E:\Vagrant\ubuntu-trusty-vb>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: Setting the name of the VM: ubuntu-trusty-vb_default_1465855058236_73527
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "197fba85-e448-449d-a7d3-14565879a8e4", "--type", "headless"]
Stderr: VBoxManage.exe: error: Could not open the medium 'f:\\ubuntu-cloudimg-trusty-vagrant-amd64_1465855041577_18173\box-disk1.vmdk'.
VBoxManage.exe: error: VD: error VERR_PATH_NOT_FOUND opening image file 'f:\\ubuntu-cloudimg-trusty-vagrant-amd64_1465855041577_18173\box-disk1.vmdk' (VERR_PATH_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MediumWrap, interface IMedium
E:\Vagrant\ubuntu trusty vb>Vagrant up
正在使用“virtualbox”提供程序启动计算机“默认”。。。
==>默认值:导入基本框“ubuntu/trusty64”。。。
==>默认值:匹配NAT网络的MAC地址。。。
==>默认设置:检查“ubuntu/trusty64”框是否是最新的。。。
==>默认:设置虚拟机的名称:ubuntu-trusty-vb_default_146585058236_73527
==>默认值:清除以前设置的所有转发端口。。。
==>默认设置:清除任何以前设置的网络接口。。。
==>默认值:根据配置准备网络接口。。。
默认值:适配器1:nat
==>默认值:转发端口。。。
默认值:22(来宾)=>2222(主机)(适配器1)
==>默认值:正在启动VM。。。
执行Vagrant使用的CLI“VBoxManage”时出错
用于控制VirtualBox。命令和stderr如下所示。
命令:[“startvm”、“197fba85-e448-449d-a7d3-14565879a8e4”、“类型”、“无头”]
Stderr:VBoxManage.exe:错误:无法打开媒体“f:\\ubuntu-cloudimg-trusty-vagrant-amd64_14658555041577_18173\box-disk1.vmdk”。
VBoxManage.exe:错误:VD:打开图像文件'f:\\ubuntu-cloudimg-trusty-vagrant-amd64_1465855041577_18173\box-disk1.vmdk'时未找到错误路径(未找到路径)
VBoxManage.exe:错误:详细信息:代码E_失败(0x80004005)、组件介质包装、接口IMedium
这是一个bug还是我可以在Vagrant文件或配置中更改某些内容
谢谢好的,这篇文章已经很老了,但我最近遇到了这个错误,并通过解决方法解决了这个问题。您必须将
--uartmode1
设置为断开连接
,如下所示:
config.vm.provider "virtualbox" do |v|
v.memory = 4096
v.cpus = 4
v.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
end
你好,祝你好运 我偶然发现了同样的问题。奇怪的是这两年都没修好 基本上,修复方法是应用此处提到的修补程序: 问题-修补程序引用了版本_5_1.rb文件中的代码片段,但该代码已移动到版本_5_0.rb。这意味着您无法按原样应用修补程序。将来,它可能会发生更大的变化,因此我的指令可能会过时 我懒得编辑补丁并学习如何正确应用它,所以我最终将更改一个接一个地应用到相关文件中,如补丁中所述。在Windows上,我还必须更改文件权限以向计算机用户授予修改权限 因此,步骤如下:
C:\ProgramFiles\Vagrant\embedded\gems\2.1.2\gems\Vagrant-2.1.2\plugins\providers\virtualbox
action
并在文件import.rb
和set_name.rb
上的“向用户授予修改权限”组中(权限可以像往常一样通过上下文菜单进行编辑,在“属性”、“选项卡安全性”、“按钮编辑…”中,选择用户并选中“允许修改”选项下的复选框)import.rb
并替换行
id = env[:machine].provider.driver.import(ovf_file) do |progress|
def import(ovf)
specified_name = "#{suggested_name}_#{(Time.now.to_f * 1000.0).to_i}_#{rand(100000)}"
与
应该只有一条线需要更换set_name.rb
并找到def call(env)
并在其下方添加以下行:
return @app.call(env)
driver
并在文件version\u 5\u 0.rb上的“向用户授予修改权限”组中
version\u 5\u 0.rb
并替换行
id = env[:machine].provider.driver.import(ovf_file) do |progress|
def import(ovf)
specified_name = "#{suggested_name}_#{(Time.now.to_f * 1000.0).to_i}_#{rand(100000)}"
与
version_5_0.rb
替换行
id = env[:machine].provider.driver.import(ovf_file) do |progress|
def import(ovf)
specified_name = "#{suggested_name}_#{(Time.now.to_f * 1000.0).to_i}_#{rand(100000)}"
用下面的片段
name = env[:machine].provider_config.name
# If no name was manually set, then use a default
if !name
prefix = "#{env[:root_path].basename.to_s}_#{env[:machine].name}"
prefix.gsub!(/[^-a-z0-9_]/i, "")
# milliseconds + random number suffix to allow for simultaneous
# `vagrant up` of the same box in different dirs
name = prefix + "_#{(Time.now.to_f * 1000.0).to_i}_#{rand(100000)}"
end
specified_name = "#{name}_#{(Time.now.to_f * 1000.0).to_i}_#{rand(100000)}"
vagrant up
命令的.vagrant\machines
文件夹中查找并删除。然后再次运行vagrant up
现在,虚拟机应该使用正确的名称创建,并且应该可以正常工作。我也有同样的问题!!我的开发文件都在d:上,但我在d:上没有足够的空间用于虚拟机,因此我将VirtualBox中的默认位置设置为f:并且我得到了完全相同的问题。