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?

adamo
źródło

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?

Nikolaos Georgiou
źródło
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.
...
męskie
źródło
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

mailq
źródło
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
2

Użyłem CloneVDI do rozwiązania tego problemu. Zrobiłem klon, a nowy plik działa bardzo dobrze.

Valguimar
źródło
Mogę to poświadczyć. To uratowało mi życie. Uff
Ardee Aram
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ą.

GabLeRoux
źródło