在Fedora上使用Vagrant和VirtualBox解决”VBoxManage”错误

93次阅读
没有评论

问题描述

在使用Vagrant和VirtualBox在Fedora 26上进行虚拟机创建时遇到了问题。具体错误如下所示:

There was an error while executing `VBoxManage`, a CLI used by Vagrantfor controlling VirtualBox. The command and stderr is shown below.
Command: ["import", "/home/muhammadtaqi/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20170918.0.1/virtualbox/box.ovf", "--vsys", "0", "--vmname", "ubuntu-cloudimg-trusty-vagrant-amd64_1506105327930_50139", "--vsys", "0", "--unit", "6", "--disk", "/home/muhammadtaqi/VirtualBox VMs/ubuntu-cloudimg-trusty-vagrant-amd64_1506105327930_50139/box-disk1.vmdk"]
Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting /home/muhammadtaqi/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20170918.0.1/virtualbox/box.ovf...OK.
0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage: error: Appliance import failed
VBoxManage: error: Could not create the imported medium '/home/muhammadtaqi/VirtualBox VMs/ubuntu-cloudimg-trusty-vagrant-amd64_1506105327930_50139/box-disk1.vmdk'.
VBoxManage: error: VMDK: Compressed image is corrupted '/home/muhammadtaqi/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20170918.0.1/virtualbox/box-disk1.vmdk' (VERR_ZIP_CORRUPTED)
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component ApplianceWrap, interface IAppliance
VBoxManage: error: Context: "RTEXITCODE handleImportAppliance(HandlerArg*)" at line 886 of file VBoxManageAppliance.cpp

用户尝试使用Vagrant和VirtualBox在Fedora 26上创建虚拟机时遇到了”VBoxManage”错误,具体错误信息显示在上述代码块中。

解决方案

在进行下述操作之前,请确保已做好备份并理解操作的影响。
首先,我们需要确认可能导致这个问题的一些情况,然后尝试解决方案以解决这个错误。

步骤1:删除损坏的文件

如果虚拟机的压缩文件损坏,可能会导致此问题。首先,我们可以尝试删除这些损坏的文件,然后重新运行Vagrant命令。

  1. 打开终端。
  2. 运行以下命令,删除损坏的Vagrant文件夹:
    bash
    rm -r ~/.vagrant.d
  3. 然后重新运行Vagrant命令,例如:
    bash
    vagrant up

步骤2:重新下载虚拟机镜像

如果删除损坏的文件后问题仍未解决,可能是虚拟机镜像本身出现了问题。尝试重新下载虚拟机镜像并创建新的Vagrant环境。

  1. 打开终端。
  2. 运行以下命令来移除现有的虚拟机环境(如果有):
    bash
    vagrant destroy
  3. 运行以下命令重新初始化Vagrant环境并启动虚拟机:
    bash
    vagrant init ubuntu/trusty64
    vagrant up

步骤3:检查文件路径

有时候文件路径可能出现问题,导致VirtualBox无法找到相关文件。确保所引用的文件实际存在于指定的路径下。可以通过运行以下命令来验证文件是否存在:

ls -alh /home/muhammadtaqi/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/20170918.0.1/virtualbox/box-disk1.vmdk

步骤4:清理虚拟机环境

如果尝试了以上步骤仍未解决问题,可能需要进行一些清理工作以确保虚拟机环境没有残留的文件。这包括删除虚拟机、Vagrant文件夹和VirtualBox的配置信息。

  1. 打开终端。
  2. 停止并删除当前运行的Vagrant虚拟机:
    bash
    vagrant halt
    vagrant destroy
  3. 删除损坏的Vagrant文件夹:
    bash
    rm -r ~/.vagrant.d
  4. 打开VirtualBox管理界面,删除任何相关的虚拟机配置和磁盘文件。
  5. 重新运行Vagrant初始化和启动命令:
    bash
    vagrant init ubuntu/trusty64
    vagrant up

通过执行上述步骤,您应该能够解决在Fedora上使用Vagrant和VirtualBox时遇到的”VBoxManage”错误。如果问题仍然存在,您可能需要检查Vagrant、VirtualBox以及操作系统本身的更新和兼容性问题。

正文完