VirtualBox:谷物表不一致


10

有问题的设置如下:运行VirtualBox的Windows 7 64位主机。来宾计算机正在运行Windows XP 32位。

主机箱电源故障后,来宾计算机无法启动,并抱怨

谷物表与备用谷物表之间的不一致

引导来宾计算机而无需重新安装它的任何帮助将不胜感激。

PS:什么是谷物表?

Answers:


4

真的不能帮忙,但是我发现了这里的粒度表:http : //www.vmware.com/support/developer/vddk/VirtualDiskAPIprogramming.pdf(第16页)

就像用户mailq所说的那样,看起来您的虚拟驱动器已损坏。也许检查vmdkck工具(在此页面http://datto.org/projects/vmdk-tools)再次检查它是否损坏?


也谢谢你。我接受了您的回答,因为它提供了一些链接来查找实际的谷物表。您可以在此处请求虚拟磁盘格式规范vmware.com/technical-resources/interfaces/vmdk.html
adamo,2011年

12

VMware有一个叫做工具vmware-vdiskmanager位于"/Applications/VMware Fusion.app/Contents/Library/"和符号链接到/usr/local/bin安装时。您也可以使用此工具修复VirtualBox VMDK磁盘。它已经救了我几次。

安装

一个。您可以安装vmware-fusion

brew cask install vmware-fusion

b。或者,您可以vmware-vdiskmanager直接从此页面底部的“ 附件”部分下载该实用程序:http :
//kb.vmware.com/selfservice/microsites/search.do?language=zh_CN&cmd=displayKC&externalId=1023856

用法

vmware-vdiskmanager -R <your_disk>.vmdk

不带参数的调用有助于使用帮助:

Usage: vmware-vdiskmanager OPTIONS <disk-name> | <mount-point>
Offline disk manipulation utility
...
     -R                   : check a sparse virtual disk for consistency and attempt
                            to repair any errors.
...

1
该工具的名称中包含av:“ vmware-vdiskmanager”。我尝试编辑答案,但它仅添加了2个字符,并且必须至少包含6个字符?:)
Ned Batchelder 2015年

这很好用,在Mac崩溃并让一个无所事事的虚拟机处于脏状态后,它挽救了我。谢谢!
2015年

1
运行修复命令后,即使有相同的粒度表错误,我也收到“在虚拟磁盘上未发现错误”的信息。还有其他解决方案吗?
user95227

很好,谢谢!强制断电后能够修复损坏的设备文件(* .vmdk)。
马特·博尔哈

1
昨晚,ServerFault的答案挽救了我的生命!
斯宾塞·威廉姆斯



1

~/VirtualBox\ VMs从Linux迁移到MacOS 后出现了此错误。我使用尝试了@mens解决方案vmware-vdiskmanager,但对我而言却失败了。

从Linux迁移到MacOS的过程中,我将所有*.vbox文件重新添加到Virtualbox中,但它们均因相同的错误(使用无业游民)而无法启动:

There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "<UUID 1>", "--type", "headless"]

Stderr: VBoxManage: error: Could not open the medium '/path/to/box-disk1.vmdk'.
VBoxManage: error: VMDK: inconsistency between grain table and backup grain table in '/path/to/box-disk1.vmdk' (VERR_VD_VMDK_INVALID_HEADER).
VBoxManage: error: VD: error VERR_VD_VMDK_INVALID_HEADER opening image file '/path/to/box-disk1.vmdk' (VERR_VD_VMDK_INVALID_HEADER)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium

我验证了数据传输正确,md5 box-disk1.vmdk两个文件都返回了相同的内容。

通过vmdk文件转换vdi为以下内容,我设法使vm重新启动。(要求qemubrew install qemu

# Convert from `.vmdk` to `.bin`
qemu-img convert box-disk1.vmdk box-disk1.bin

# Convert from `.bin` to `.vdi`
VBoxManage convertdd box-disk1.bin box-disk1.vdi

更新了卷的路径.vdi并引导了机器。

就我而言,vdi文件略大,别忘了删除.bin它,因为它很大。哦,它在第一次运行时无法通过身份验证。无论如何,如果可能的话,也许您应该从头启动一个新的虚拟机。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.