VirtualBox: không thống nhất bảng hạt


10

Thiết lập trong câu hỏi như sau: Máy chủ Windows 7 64 bit chạy VirtualBox. Máy khách đang chạy Windows XP 32 bit.

Sau khi mất điện trên hộp máy chủ, máy khách không thể khởi động và phàn nàn rằng

sự không thống nhất giữa bảng hạt và bảng hạt dự phòng

Bất kỳ trợ giúp để khởi động máy khách mà không cần cài đặt lại nó đánh giá cao.

PS: Dù sao thì bàn hạt là gì?

Câu trả lời:


4

Không thể thực sự giúp đỡ, nhưng tôi đã tìm thấy những gì các bảng hạt ở đây: http://www.vmware.com/support/developer/vddk/VirtualDiskAPIprogramming.pdf (trang 16)

Giống như người dùng mailq nói, có vẻ như ổ đĩa ảo của bạn bị hỏng. Có thể kiểm tra công cụ vmdkck (trên trang này http://datto.org/projects/vmdk-tools ) để kiểm tra xem nó có bị hỏng không?


Cảm ơn. Tôi chấp nhận câu trả lời của bạn vì nó cung cấp các liên kết để xác định vị trí của bảng hạt thực sự. Người ta có thể yêu cầu đặc tả định dạng đĩa ảo tại đây vmware.com/technical-resource/interfaces/vmdk.html
adamo

12

VMware có một công cụ được gọi là vmware-vdiskmanagernằm trong "/Applications/VMware Fusion.app/Contents/Library/"và được liên kết với nhau /usr/local/binkhi được cài đặt. Bạn cũng có thể sử dụng công cụ này để sửa chữa các đĩa VirtualD VMDK . Nó đã cứu tôi một vài lần rồi.

Cài đặt

a. Bạn có thể cài đặt vmware-fusion

brew cask install vmware-fusion

b. Hoặc bạn có thể tải xuống vmware-vdiskmanagertiện ích trực tiếp từ phần Phần đính kèm ở cuối trang này:
http://kb.vmware.com/elfservice/microsites/search.do?lingu=en_US&cmd=displayKC&externalId=1023856

Sử dụng

vmware-vdiskmanager -R <your_disk>.vmdk

Gọi mà không có tham số giúp sử dụng trợ giúp:

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
Tên của công cụ có av trong đó: "vmware-vdiskmanager". Tôi đã cố chỉnh sửa câu trả lời, nhưng nó chỉ thêm 2 ký tự, và chỉnh sửa phải có ít nhất 6 ký tự? :)
Ned Batchelder

Điều này hoạt động rất tốt, nó chỉ cứu tôi sau khi máy Mac của tôi bị hỏng và để lại một hộp ảo mơ hồ trong trạng thái bẩn. Cảm ơn bạn!
Fred

1
Tôi nhận được "không có lỗi được tìm thấy trên đĩa ảo" sau khi chạy lệnh sửa chữa mặc dù tôi có cùng một lỗi bảng hạt. Bất kỳ ý tưởng khác fro giải quyết điều này?
dùng95227

Thật sự cảm ơn! Đã có thể sửa tệp thiết bị bị hỏng (* .vmdk) sau khi tắt nguồn.
Matt Borja

1
Đêm qua, một câu trả lời ServerFault đã cứu mạng tôi!
Spencer Williams

2

Ổ cứng ảo của bạn bị hỏng. Bảng hạt là một số nội bộ của môi trường ảo hóa.

Googling cho thuật ngữ chính xác cho thấy rằng không có nhiều khả năng để phục hồi: https://forums.virtualbox.org/viewtopic.php?f=6&t=40049


Cảm ơn bạn đã trả lời nhanh chóng. Tôi đã googled trước khi hỏi tại SF. Tôi hỏi với hy vọng câu trả lời dài chưa được bao phủ bởi fora VirtualBox.
adamo

2

Tôi đã sử dụng CloneVDI để giải quyết vấn đề này. Tôi đã tạo một bản sao và tập tin mới hoạt động rất tốt.


Tôi có thể làm chứng cho điều này. Điều này đã cứu cuộc đời tôi. Phù
Ardee Aram

1

Tôi đã gặp lỗi này sau khi chuyển ~/VirtualBox\ VMstừ Linux sang MacOS. Tôi đã thử giải pháp @mens bằng cách sử dụngvmware-vdiskmanager nhưng không thành công.

Trong quá trình di chuyển từ linux sang MacOS, tôi đã thêm tất cả các *.vboxtệp vào Virtualbox và tất cả chúng đều không khởi động được với cùng một lỗi (sử dụng 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

Tôi xác nhận rằng dữ liệu được truyền chính xác, md5 box-disk1.vmdktrả lại cùng một thứ cho cả hai tệp.

Tôi quản lý để có được một vm để khởi động lại bằng cách chuyển đổi các vmdktập tin đểvdi làm như sau. (Yêu cầu 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

Đường dẫn cập nhật đến âm lượng cho .vdivà máy khởi động.

Trong trường hợp của tôi, tệp vdi lớn hơn một chút, đừng quên xóa .binvì nó rất lớn. Oh và nó không xác thực trong lần chạy đầu tiên. Dù sao, nếu có thể, có lẽ bạn nên quay một vm mới từ đầu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.