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.