virtualbox导入ova报VERR_VD_VMDK_INVALID_FORMAT错误及解决过程

本文介绍了解决VirtualBox中Gentoo Linux虚拟机导入失败的问题。通过手动重建虚拟机、复制系统文件及重新分区等步骤,最终成功迁移原有系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在virtualbox中导入原先做的gentoo linux操作系统的虚拟机的时候,出错了。
只有想办法把系统数据导出来,或者重新安装。在网上搜了一些资料后,发现:

ova文件其实就是一个tar文件,解开就是ovf、vmdk和mf。ovf是虚拟机定义文件,vmdk是虚拟机硬盘文件,mf是一个校验文件。解开的过程提示出错,不过三个文件还是得到了。
按照ovf文件的描述手工建立虚拟机,再将vdmk文件拷到VirtualBox VMs目录下,然后添加到建立的虚拟机中,可以启动。于是打算新建一个虚拟机硬盘,把原有的系统数据镜像到新虚拟硬盘上,可是dd只处理了1G多的数据就终止了,看来文件本身有问题,导致设备文件中有错误,但是文件洗头还可以工作。于是决定用cp -a。

  1. 下载minimal CD,启动虚拟机
  2. 根据原硬盘的分区情况重新分区,我这里是boot、根和swap,并make filesystem。
    fdisk /dev/sdb (sdb1 256M, sdb2 剩下全部)
    pvcreate /dev/sdb2
    vgcreate vg2 /dev/sdb2
    lvcreate -nslash -L10G
    lcvreate -nswap -L1G
    mkfs.ext2 /dev/sdb1
    mkfs.ext4 /dev/vg2/slash
    mkswap /dev/vg2/swap
  3. 将原有硬盘和新硬盘的根分区分别挂在到/mnt/下gentoo和gentoo2目录。
    mount /dev/vg1/slash /mnt/gentoo
    mount /dev/vg2/slash /mnt/gentoo
  4. 进入/mnt/gentoo目录,复制(加参数-a)全部文件到/mnt/gentoo2目录。
    cd /mnt/getoo
    cp -a . /mnt/gentoo2
  5. 挂载boot分区,复制(加参数-a)。
    mount /dev/sda1 /mnt/gentoo/boot
    mount /dev/sdb1 /mnt/gentoo2/boot
    cd /mnt/gentoo/boot
    cp -a . /mnt/gentoo2/boot
  6. 修改/etc/fstab和/boot/grub/menu.lst
    chroot /mnt/gentoo2 /bin/bash
    vim /etc/fstab
    vim /boot/grub/menu.lst
  7. 复制mbr
    dd if=/dev/sda of=/dev/sdb bs=446 count=1

之后重新导出虚拟电脑,问题解决。

参考文档:

虚拟机包 OVF和OVA的区别

virtualBox导入ova错误

如何对Linux系统做备份

[求助]关于Linux备份方案

无法用ghost备份fc3?

### 解决 VirtualBox 导入 OVA 文件时出现 VERR_TAR_CHKSUM_MISMATCH 错误的方法 当尝试通过 VirtualBox 导入 OVA 文件时遇到 `VERR_TAR_CHKSUM_MISMATCH` 错误,通常是因为 OVA 文件的校验和不匹配或文件损坏所致。以下是可能的原因以及解决方案: #### 可能原因分析 1. **OVA 文件损坏** 如果下载过程中网络中断或其他因素导致 OVA 文件未完全传输,则可能导致校验失败[^2]。 2. **解压工具问题** 使用某些第三方压缩软件打开 OVA 文件可能会破坏其内部结构,从而引发校验错误。 3. **磁盘空间不足** 若目标存储位置的空间不足以容纳完整的虚拟机及其临时文件,也可能触发此错误[^1]。 4. **版本兼容性问题** 不同版本之间的 VirtualBox 对于特定格式的支持可能存在差异,尤其是较旧版本对新标准支持不佳的情况[^5]。 --- #### 解决方案 ##### 方法一:验证并重新获取 OVA 文件 - 验证当前 OVA 文件是否完整无损。可以通过 MD5 或 SHA 值对比来确认文件一致性。 ```bash md5sum yourfile.ova sha256sum yourfile.ova ``` - 如果发现文件已受损,请从可信源再次下载该文件。 ##### 方法二:手动提取 OVA 内部组件重建虚拟机 由于 OVA 实质上是一个 tar 归档包,可将其解压为单独的 `.ovf`, `.vmdk`, 和 `.mf` 文件后再创建新的虚拟环境: ```bash mkdir extracted_ova && cd extracted_ova tar -xvf ../yourfile.ova ``` 完成上述操作后按照 `.ovf` 描述信息手动生成一台空白虚拟主机,并将对应的 `.vmdk` 映像附加至相应储存控制器端口之上即可正常运行实例。 ##### 方法三:更新 VirtualBox 至最新稳定版 确保所使用的 VirtualBox 版本是最新的正式发行版本,因为开发者团队会持续修复各类潜在缺陷包括但不限于此类导入异常状况。 ##### 方法四:调整导入设置忽略部分警告 有时可通过修改默认行为绕过严格模式检查继续执行后续流程;具体做法是在命令行界面调用 VBoxManage 工具指定额外选项参数实现这一点: ```bash VBoxManage import /path/to/file.ova --options keepallmacs,noskipverify ``` 这里的关键字 `keepallmacs` 表示保留原始 MAC 地址而不随机分配新地址;而 `noskipverify` 则指示即使存在一些非致命性的验证失误也要尽力完成整个加载动作[^4]。 --- ### 注意事项 尽管采取以上措施能够有效缓解大部分场景下的同类难题,但仍需留意实际环境中其他干扰要素的影响,比如防火墙策略限制访问权限或是特殊硬件加速特性启用与否等等均有可能间接造成相似表象的表现形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值