web-dev-qa-db-ja.com

VirtualBox:グレインテーブルの不整合

問題のセットアップは次のとおりです。VirtualBoxを実行するWindows 7 64ビットホスト。ゲストマシンはWindowsを実行していますXP 32ビット。

ホストボックスで電源障害が発生した後、ゲストマシンは起動できず、

グレインテーブルとバックアップグレインテーブル間の不整合

それを再インストールせずにゲストマシンを起動するための任意の助けを歓迎します。

PS:とにかく、穀物テーブルとは何ですか?

9
adamo

本当に助けにはなりませんが、ここでは粒度表が見つかりました: http://www.vmware.com/support/developer/vddk/VirtualDiskAPIprogramming.pdf (16ページ)

ユーザーmailqが言うように、仮想ドライブが壊れているように見えます。たぶんvmdkckツール(このページ http://datto.org/projects/vmdk-tools )をチェックして、壊れていることを再確認しますか?

4

VMwareのvmware-vdiskmanagerというツールは"/Applications/VMware Fusion.app/Contents/Library/"にあり、インストールすると/usr/local/binにシンボリックリンクされます。 このツールを使用して、VirtualBox VMDKディスクも修復できます。すでに数回は助かりました。

Installation

a。インストールできます vmware-fusion

brew cask install vmware-fusion

b。または、このページの下部にあるAttachmentsセクションからvmware-vdiskmanagerユーティリティを直接ダウンロードできます。
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&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.
...
12
mens

この問題を解決するために CloneVDI を使用しました。クローンを作成しましたが、新しいファイルは非常にうまく機能しています。

2
Valguimar

仮想ハードドライブが壊れています。グレインテーブルは、仮想化環境の内部的なものです。

正確な用語をグーグル検索すると、回復する可能性があまりないことがわかります。 https://forums.virtualbox.org/viewtopic.php?f=6&t=40049

2
mailq

LinuxからMacOSに~/VirtualBox\ VMsを移動した後、このエラーが発生しました。 @ mens solution using vmware-vdiskmanager を試しましたが、失敗しました。

LinuxからMacOSへの移行中に、すべての*.vboxファイルをVirtualboxに戻しましたが、それらはすべて同じエラーで(vagrantを使用して)起動できませんでした。

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は非常に大きいため、忘れずに削除してください。ああ、最初の実行では認証に失敗します。とにかく、可能であれば、代わりに新しいVMを最初からスピンアップする必要があります。

1
GabLeRoux