VirtualBox: incoerenza della tabella del grano


10

L'impostazione in questione è la seguente: host di Windows 7 a 64 bit con VirtualBox. Il computer guest esegue Windows XP a 32 bit.

Dopo un'interruzione dell'alimentazione sulla casella host, il computer guest non può avviarsi e si lamenta

incoerenza tra la tabella del grano e la tabella del grano di backup

È stato apprezzato qualsiasi aiuto per l'avvio del computer guest senza reinstallarlo.

PS: Cos'è comunque una tabella dei cereali?

Risposte:


4

Non posso davvero aiutarti, ma ho scoperto quali sono le tabelle dei cereali qui: http://www.vmware.com/support/developer/vddk/VirtualDiskAPIprogramming.pdf (pagina 16)

Come dice l'utente mailq, sembra che l'unità virtuale sia rotta. Magari controlla lo strumento vmdkck (in questa pagina http://datto.org/projects/vmdk-tools ) per ricontrollare che sia rotto?


Grazie anche a te. Ho accettato la tua risposta perché forniva collegamenti per individuare cosa sia realmente una tabella di grano. È possibile richiedere la specifica del formato del disco virtuale qui vmware.com/technical-resources/interfaces/vmdk.html
— adamo,

12

VMware ha uno strumento chiamato vmware-vdiskmanagersituato "/Applications/VMware Fusion.app/Contents/Library/"e collegato a symlink /usr/local/binquando installato. Puoi usare questo strumento anche per riparare dischi VMDK VirtualBox . Mi ha già salvato un paio di volte.

Installazione

un. È possibile installare vmware-fusion

brew cask install vmware-fusion

b. Oppure puoi scaricare l' vmware-vdiskmanagerutilità direttamente dalla sezione Allegati nella parte inferiore di questa pagina:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1023856

uso

vmware-vdiskmanager -R <your_disk>.vmdk

Il richiamo senza parametri fornisce un aiuto:

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
Il nome dello strumento contiene av: "vmware-vdiskmanager". Ho provato a modificare la risposta, ma ha aggiunto solo 2 caratteri e le modifiche devono essere almeno 6? :)
— Ned Batchelder

Funzionava alla grande, mi ha salvato dopo che il mio Mac si è schiantato e ha lasciato un virtual box vagabondo in uno stato sporco. Grazie!
— Fred,

1
Ricevo "nessun errore trovato sul disco virtuale" dopo aver eseguito il comando di riparazione anche se ho lo stesso errore nella tabella dei cereali. Altre idee per risolvere questo?
— user95227,

Fantastico, grazie! È stato in grado di riparare il file dell'applicazione danneggiato (* .vmdk) dopo lo spegnimento forzato.
— Matt Borja,

1
Ieri sera, una risposta ServerFault mi ha salvato la vita!
— Spencer Williams,

2

Il tuo disco rigido virtuale è rotto. Le tabelle dei cereali sono elementi interni agli ambienti di virtualizzazione.

Cercare su Google per il termine esatto rivela che non ci sono molte possibilità di recupero: https://forums.virtualbox.org/viewtopic.php?f=6&t=40049


Grazie per la pronta risposta. Avevo cercato su Google prima di chiedere a San Francisco. Ho chiesto sperando in una risposta a lungo termine non già coperta dai forum VirtualBox.
— Adamo,

2

Ho usato CloneVDI per risolvere questo problema. Ho creato un clone e il nuovo file funziona molto bene.


Posso attestarlo. Questo mi ha salvato la vita. Accidenti.
— Ardee Aram,

1

Ho avuto questo errore dopo aver spostato il mio ~/VirtualBox\ VMsda Linux a MacOS. Ho provato a utilizzare la soluzione @mensvmware-vdiskmanager , ma non è riuscito per me.

Durante la mia migrazione da Linux a MacOS, ho aggiunto *.vboxnuovamente tutti i file in Virtualbox e non sono stati avviati tutti con lo stesso errore (usando 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

Ho verificato che i dati trasferiti correttamente, md5 box-disk1.vmdkrestituito la stessa cosa per entrambi i file.

Sono riuscito a riavviare un vm convertendo i vmdkfile nelvdi modo seguente. (Richiede qemu, brew 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

Percorso del volume aggiornato .vdie macchina avviata.

Nel mio caso, il file vdi è leggermente più grande, non dimenticare di eliminare in .binquanto è enorme. Oh, e non riesce ad autenticarsi al primo avvio. Comunque, se possibile, forse dovresti girare una nuova vm da zero invece.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.