VirtualBox: niespójność tabeli zboża


10

Konfiguracja, o której mowa, jest następująca: 64-bitowy host systemu Windows 7 z uruchomionym programem VirtualBox. Na maszynie gościa działa system Windows XP 32bit.

Po awarii zasilania na hoście maszyna-gość nie może się uruchomić i narzeka

niespójność między stołem zbożowym a zapasowym stołem zbożowym

Doceniamy wszelką pomoc w uruchomieniu komputera gościa bez ponownej instalacji.

PS: Co to właściwie jest stół zbożowy?

Odpowiedzi:


4

Naprawdę nie mogę pomóc, ale znalazłem, jakie są tabele zboża tutaj: http://www.vmware.com/support/developer/vddk/VirtualDiskAPIprogramming.pdf (strona 16)

Jak mówi użytkownik mailq, wygląda na to, że dysk wirtualny jest uszkodzony. Może sprawdź narzędzie vmdkck (na tej stronie http://datto.org/projects/vmdk-tools ), aby dwukrotnie sprawdzić, czy jest zepsute?


Ja też dziękuję Zaakceptowałem twoją odpowiedź, ponieważ zawierała linki do zlokalizowania, czym tak naprawdę jest stół zbożowy. Można poprosić o specyfikację formatu dysku wirtualnego tutaj vmware.com/technical-resources/interfaces/vmdk.html
— adamo

12

VMware ma narzędzie o nazwie vmware-vdiskmanagerzlokalizowanej "/Applications/VMware Fusion.app/Contents/Library/"i połączonej dowiązaniem symbolicznym /usr/local/binpo zainstalowaniu. Możesz użyć tego narzędzia również do naprawy dysków VirtualDox VMDK . Uratowało mnie to już kilka razy.

Instalacja

za. Możesz zainstalować vmware-fusion

brew cask install vmware-fusion

b. Lub możesz pobrać vmware-vdiskmanagernarzędzie bezpośrednio z sekcji Załączniki u dołu tej strony:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1023856

Stosowanie

vmware-vdiskmanager -R <your_disk>.vmdk

Wywołanie bez parametrów daje pomoc w użyciu:

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
W nazwie narzędzia znajduje się av: „vmware-vdiskmanager”. Próbowałem edytować odpowiedź, ale dodała tylko 2 znaki, a zmiany muszą mieć co najmniej 6? :)
— Ned Batchelder

Działa to świetnie, uratowało mnie po tym, jak mój komputer Mac się rozbił i pozostawił włóczęgę wirtualną skrzynkę w brudnym stanie. Dziękuję Ci!
— Fred

1
Po uruchomieniu polecenia naprawy pojawia się komunikat „nie znaleziono błędów na dysku wirtualnym”, mimo że mam ten sam błąd tabeli zboża. Jakieś inne pomysły na rozwiązanie tego problemu?
— user95227,

Wielkie dzieki! Był w stanie naprawić uszkodzony plik urządzenia (* .vmdk) po wymuszonym wyłączeniu zasilania.
— Matt Borja,

1
Ostatniej nocy odpowiedź ServerFault uratowała mi życie!
— Spencer Williams

2

Twój wirtualny dysk twardy jest uszkodzony. Tabele zbóż to niektóre wewnętrzne elementy środowisk wirtualizacyjnych.

Dokładne określenie google ujawnia, że ​​nie ma wielu możliwości odzyskania: https://forums.virtualbox.org/viewtopic.php?f=6&t=40049


Dziękuję za szybką odpowiedź. Googlowałem przed zapytaniem w SF. Zapytałem, mając nadzieję na długą odpowiedź, która nie została jeszcze uwzględniona na forach VirtualBox.
— adamo


1

Miałem ten błąd po przeniesieniu mojego ~/VirtualBox\ VMsz systemu Linux na MacOS. Wypróbowałem @mens rozwiązanie przy użyciuvmware-vdiskmanager , ale nie udało mi się.

Podczas migracji z systemu Linux na MacOS, dodałem wszystkie *.vboxpliki z powrotem do Virtualbox i wszystkie nie uruchomiły się z tym samym błędem (przy użyciu błędnej wersji):

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

Sprawdziłem, czy dane przesłane poprawnie, md5 box-disk1.vmdkzwróciły to samo dla obu plików.

Udało mi się uzyskać vm do ponownego uruchomienia, konwertując vmdkpliki,vdi wykonując następujące czynności. (Wymaga 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

Zaktualizowano ścieżkę do woluminu .vdii uruchomiono komputer.

W moim przypadku plik vdi jest nieco większy, nie zapomnij go usunąć, .binponieważ jest ogromny. Aha, i nie można się uwierzytelnić przy pierwszym uruchomieniu. W każdym razie, jeśli to możliwe, może powinieneś zamiast tego rozpędzić nową maszynę wirtualną.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.