“ vagrant init:...通过创建初始的Vagrant环境 Vagrantfile ...”
我在Windows中将那个文件夹从E:/移到了C:/,尝试执行vagrant snapshot restore XXX
==> 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", "7aff8d5d-7193-4f6d-966b-4076543c0e90", "--type", "headless"]
Stderr: VBoxManage.exe: error: RawFile#0 failed to create the raw output file E:/Proyectos/do-sf2-dev/ubuntu-xenial-16.04-cloudimg-console.log (VERR_PATH_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
据我了解, VirtualBox一直在引用E:/驱动器。
我尝试手动编辑从E:/到C:/的所有引用,我可以在该文件夹下找到,也可以在VirtualBox GUI中找到相关机器,但没有运气。
答案 0 :(得分:1)
这个答案很晚,但是希望可以帮助下一个遇到这个问题的人。该错误是因为将计算机配置为输出到不再存在的位置。将Vagrant环境移动到另一个驱动器时,除了移动VM文件之外,您还需要更新一些Vagrant元数据。您可以使用vagrant up --debug
来准确查看错误所指的含义。
如果移动.vagrant.d目录,则需要将环境变量VAGRANT_HOME
设置为其新位置。在Windows上,您需要重新启动才能生效。如果这样不起作用,请将以下内容之一添加到您的vagrantfile中:
v.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
或
v.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "ubuntu-xenial-16.04-cloudimg-console.log") ]
对于大多数无用的设置来说,这应该足够了,但是,我还需要在vagrant up
成功运行之前重新创建错误日志文件的路径。之后,我运行vagrant provision
并能够删除旧文件路径而没有任何问题。
这些帖子也很有帮助(参考文献):