You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform的shekeriev/virtualbox Provider创建虚拟机失败求助

问题描述

环境信息

terraform -v
Terraform v1.3.6
on windows_amd64
+ provider registry.terraform.io/shekeriev/virtualbox v0.0.4

配置文件(main.tf)

terraform {
  required_providers {
    virtualbox = {
      source = "shekeriev/virtualbox"
      version = "0.0.4"
    }
  }
}

provider "virtualbox" {
  # Configuration options
}

resource "virtualbox_vm" "node" {
  count     = 1
  name      = format("node-%02d", count.index + 1)
  image     = "https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20190507.0.0/providers/virtualbox.box"
  cpus      = 1
  memory    = "512 mib"

  network_adapter {
    type           = "hostonly"
    device         = "IntelPro1000MTDesktop"
    host_interface = "VirtualBox Host-Only Ethernet Adapter"
  }
}

执行步骤

terraform init
terraform plan
terraform apply  
yes

错误日志

Error: failed to unpack image https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20190507.0.0/providers/virtualbox.box: error unpacking gold image virtualbox.box: exit status 2  
│
│   with virtualbox_vm.node[0],
│   on main.tf line 18, in resource "virtualbox_vm" "node":
│   18: resource "virtualbox_vm" "node" {

已尝试更换不同镜像及其他VirtualBox Terraform Provider(如terra-farm),均触发相同解压错误,需解决该问题。


解决方案

1. 验证解压工具可用性

错误核心是镜像解压失败(exit status 2),Windows环境下Terraform VirtualBox Provider依赖7z或unzip工具:

  • 确认已安装7-Zip或unzip工具
  • 将工具安装路径添加至系统PATH环境变量
  • 重启命令行窗口,执行7z --version或unzip -v验证工具可正常调用

2. 手动处理镜像文件

  • 手动下载目标VirtualBox镜像到本地
  • 使用7-Zip解压box文件,提取内部的虚拟机磁盘文件(如.vmdk)
  • 修改main.tf中image字段为本地磁盘文件的绝对路径,替代远程URL

3. 检查权限与路径配置

  • 以管理员权限运行命令行窗口,避免解压或写入VirtualBox存储目录时的权限限制
  • 确认VirtualBox默认存储路径存在且具备读写权限
  • 确保Terraform工作目录、VirtualBox存储目录无中文或特殊字符

4. 调整组件版本

  • 升级VirtualBox至最新稳定版,修复旧版本的镜像兼容性问题
  • 尝试切换Terraform版本(如1.5.x系列),规避版本不匹配引发的解压逻辑异常

内容的提问来源于stack exchange,提问作者Taras Paslavskyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 00:01:07