Câu hỏi Làm thế nào để sao chép / di chuyển máy ảo VirtualBox đến một máy tính khác?


Tôi đã cập nhật lên Windows 10 bằng bản sao lưu mọi điều từ cũ của Windows cũ và sau đó cài đặt với một định dạng sạch; mọi thứ mới mẻ.

Tôi có Debian 8.1 trong Hộp ảo, cũng được lưu hoàn toàn; không chỉ hình ảnh đĩa.

Tôi cài đặt VirtualBox và khởi động lại máy và bất ngờ, Debian phàn nàn về việc không thể tìm phân vùng gốc (không tồn tại phân vùng với UUID đó), thả vào một vỏ nhỏ và từ chối khởi động.

Tôi đã nghi ngờ rằng các mục nhập trong fstab không chính xác nữa, vì vậy tôi đã khởi động một bản phân phối trực tiếp và kiểm tra nó ... blkid báo cáo các UUID tương tự khi chúng ở trong fstab

Vì thế, bắt là gì?!?

Trong VMware tôi làm không phải có vấn đề này nếu tôi sao chép / di chuyển máy, cài đặt lại VMware, vv, nó sẽ hỏi nếu được sao chép hoặc di chuyển và không bao giờ có bất kỳ vấn đề như thế này.

P.S. Xin vui lòng không đánh dấu câu hỏi này như là một dupe, tôi đã đọc “Cách được khuyến nghị để di chuyển một VM VirtualBox sang một máy tính khác là gì?” và đã thử tùy chọn 2 trong câu hỏi này Tôi đã sao chép tất cả các tệp và đặt chúng vào đúng vị trí. Một lần nữa, khởi động một Linux trực tiếp trong máy ảo đó tôi thấy đĩa cứng với UUID thích hợp.


0
2017-09-25 08:42


gốc


Nếu bạn có câu trả lời của riêng mình, bạn nên thêm câu trả lời dưới đây (tự trả lời) và đánh dấu nó là được chấp nhận với dấu tích ở bên trái. Chúng tôi lấy định dạng Q & A khá nghiêm túc ở đây - giải pháp không bao giờ nên đưa vào câu hỏi, và không có điểm thêm "giải quyết" vào tiêu đề khi đánh dấu một câu trả lời hoàn thành nó một cách tốt hơn và nhất quán hơn. - Bob
Những gì @Bob nói. Vui lòng đăng câu trả lời của bạn dưới dạng câu trả lời thực tế. Không chỉnh sửa câu hỏi của bạn tuyên bố “ĐƯỢC GIẢI THÍCH!” như thế. - JakeGould
những gì Bob nói là đối với trang web "Định dạng Hỏi & đáp" này nghiêm trọng đến mức câu trả lời rõ ràng hơn, ở vị trí RAR RÀNG thích hợp (TẮT BẮT ĐẦU) VÀ NHỮNG ĐỀ XUẤT CỦA MỌI ... GIẢI PHÁP, tôi không có ý định thêm Giải quyết câu trả lời của tôi VỚI GIẢI PHÁP ở phía dưới và chờ 2 ngày để đánh dấu nó, và sau khi tôi không có giải pháp từ người khác, vì vậy, chúc may mắn với các quy tắc snobbish của bạn! - THESorcerer


Các câu trả lời:


Vâng, tôi muốn nói bạn nên xuất VM của bạn (với .ova container) trước khi xóa khỏi hệ thống máy chủ và sau đó nhập nó sau - VirtualBox có thể thực hiện điều đó từ GUI của nó.

Nhưng OK, quay trở lại câu hỏi của bạn ... Tôi nhớ rằng VirtualBox đã tách "đăng ký" cho tất cả các phương tiện truyền thông máy ảo của bạn sử dụng. IIRC, nó được lưu trữ trong một tệp XML ở đâu đó trong hồ sơ của người dùng hiện tại.

Vì vậy, tôi sẽ bắt đầu từ việc mở cửa sổ quản lý phương tiện truyền thông đó từ GUI VBox và đảm bảo đĩa Debian thực sự tồn tại và được biết đến với trình quản lý phương tiện VBox.

Điều tiếp theo để kiểm tra sau đó sẽ được đi đến các thuộc tính của máy ảo và đảm bảo rằng phương tiện truyền thông đại diện cho đĩa cứng của máy ảo có sẵn và có trạng thái "OK".

Nếu khởi động máy ảo sau khi không thành công, vui lòng thực hiện điều này: khi được trình bày với cửa sổ GRUB (bộ tải khởi động của Debian) trong khi khởi động (post-BIOS), nhấn e (hoặc bất cứ điều gì nó gợi ý - tôi không bao giờ nhớ nó) để chỉnh sửa mục khởi động cho hệ thống của bạn - bạn sẽ được trình bày với dòng lệnh được truyền bởi bộ tải khởi động tới hạt nhân, và nó chứa tham số có tên là "root" (meaninig) hệ thống tập tin gốc). Những ngày này, đối số cho root chứa một số tên thiết bị được mã hóa UUID, và do đó toàn bộ điều trông giống như

/boot/vmlinuz-3.2.0-4-amd64 root=UUID=2cb5a97c-75ab-4c8b-afd9-19297e3553bd ro single

Bạn nên thay thế UUID=blah... một phần với /dev/sda1 để làm cho nó đọc một cái gì đó như

/boot/vmlinuz-3.2.0-4-amd64 root=/dev/sda1 ro single

và nó có lẽ sẽ khởi động chỉ OK.

(Lưu ý rằng đường dẫn đến tệp kernel, /boot/vmlinuz-3.2.0-4-amd64 là từ hệ thống của tôi; trên của bạn nó có thể khác nhau - đừng gây rối với nó, bạn chỉ nên chạm vào root= tham số).

Lưu ý rằng /dev/sda1 là phân vùng chính đầu tiên trên đĩa cứng đầu tiên (SATA / SCSI). Nếu bạn có phân vùng gốc của bạn ở một nơi khác, bạn phải tìm ra điều này. Nếu bạn không có ý tưởng gì về điều này, hãy thử 2, 3 vv cho đến khi nó hoạt động.

Khi hệ thống khởi động, hãy chạy

# dpkg-reconfigure grub-pc

để cấu hình lại GRUB để nó sử dụng tên thiết bị chính xác cho hệ thống tập tin gốc.

Bạn cũng có thể cần sửa /etc/fstab nếu UUID của thiết bị thực sự đã thay đổi. Để làm điều này, hãy chạy

# blkid /dev/sda1

và thay thế giá trị của UUID trong mục nhập fstab thích hợp bằng cách nhập vào blkid bên trong UUID giá trị.

Số trong đó /dev/sdN nên rõ ràng phù hợp với những gì làm việc cho bạn như root= tham số của hạt nhân.


1
2017-09-25 15:59



cảm ơn bạn đã quan tâm, KHÔNG, KHÔNG LÀM VIỆC, và rõ ràng, làm thế nào tôi nói nó đang thả tôi vào một cái vỏ nhỏ, có nghĩa là grub đang làm việc, tôi đã sửa đổi /boot/grub.cfg, và / etc / fstab, phải Bây giờ rõ ràng là vấn đề là trong initramfs, và tôi có thể chạy "update-initramfs" nhưng tôi cần phải chroot vào hệ thống của tôi và đó là một 8lTCH, nhưng tôi sẽ thử nó, bây giờ - THESorcerer


Nếu thông báo này bạn nhận được sau khi di chuyển máy ảo và cố gắng khởi động nó là một cái gì đó như thế này:

Không thể mở đĩa cứng.

Không thể đăng ký đĩa cứng vì ổ đĩa cứng    với UUID đã tồn tại.

Sau đó đi vào thư mục của máy ảo của bạn; tất nhiên thay đổi đường dẫn thực tế để phù hợp với đường dẫn thực tế bạn đang đi vào:

cd /full/path/to/virtualbox/virtualmachine/Sandbox

Và chạy lệnh này để gán cho đĩa UUID mới:

VBoxManage internalcommands sethduuid Sandbox.vdi

0
2017-09-25 16:41