Đang cố gắng mở cấu hình VM có cùng UUID với máy ảo hiện có


26

Khi cố gắng thêm hai máy ảo VirtualBox đã được sao chép ban đầu (thông qua sao chép tệp đơn giản) từ cùng một nguồn, khi thêm máy thứ hai tôi nhận được thông báo

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(Có, các máy đáng lẽ phải được sao chép thay vì sao chép tệp đơn giản, nhưng đã quá muộn tại thời điểm này.)

Câu trả lời:


40

Bạn có thể sử dụng VBoxManage internalcommands sethduuid <VDI/VMDK file>(Chạy từ thư mục cài đặt VBox) để thay đổi HD UUID, nhưng điều này có hai nhược điểm: nó không cập nhật .vboxtệp và nó không thay đổi UUID của máy (Tôi không tìm thấy cách nào để làm điều này với VBoxManage ), chỉ là UUID HD.

Phần sau hoạt động với tôi (Win 7, phiên bản VirtualBox mới nhất):

  1. chạy VBoxManage internalcommands sethduuid <VDI/VMDK file> hai lần (lần đầu tiên chỉ để tạo UUID thuận tiện, thay vào đó bạn có thể sử dụng bất kỳ phương thức tạo UUID nào khác)
  2. mở .vboxtệp trong trình soạn thảo văn bản
  3. thay thế UUID được tìm thấy <Machine uuid="{...}"bằng UUID bạn nhận được khi chạy sethduuidlần đầu tiên
  4. thay thế UUID được tìm thấy trong <HardDisk uuid="{...}"và trong <Image uuid="{}"(về cuối) bằng UUID bạn nhận được khi chạy sethduuidlần thứ hai

Bạn có thể thêm máy ảo sau đó. Không phải là một giải pháp rất sạch sẽ, nhưng dường như không gây ra vấn đề gì.


1
Điều này làm việc cho tôi, nhưng tôi cũng có một DVD "được chèn" trong VM mà tôi đang sao chép thủ công. Khi tôi thay đổi nội dung tập tin .vbox của tôi, tôi đã phải thay đổi <DVDImages>...</DVDImages>chỉ <DVDImages />để "đẩy" các đĩa DVD với các UUID trùng lặp.
JPhi1618

Lưu ý rằng nếu VM có ảnh chụp nhanh, bạn cũng sẽ phải thực hiện các bước tương tự trên các tệp vdi trong thư mục "Ảnh chụp nhanh".
laurent

6

Tôi đã tìm thấy một cách đơn giản hơn để làm điều đó.

Nhân bản máy ảo hiện có. Điều này tạo ra một phiên bản mới có lẽ là một uuid mới, nhưng trong tất cả các khía cạnh khác, nó là cùng một máy.

Sau đó sao chép tệp bạn muốn thêm, vào \ user (tên của bạn) \ Virtual Box VMs \ (hoặc bất cứ nơi nào vị trí dành cho máy ảo của bạn) và ghi đè lên tất cả các tệp hiện có ở đó, để thay thế máy hiện có.

Tôi sẽ sao lưu máy hiện có trước chỉ trong trường hợp, trước khi làm điều đó, nhưng nó hoạt động tốt ở đây. Đã sử dụng nó để quay lại bản sao lưu trước đó của VM trong khi vẫn giữ phiên bản hiện tại dưới dạng bản sao.


nếu bạn có đủ dung lượng đĩa, đây là cách dễ nhất, cảm ơn Robert.
sddk

Nếu bất kỳ ai làm điều này - họ nên đảm bảo tệp vbox có thẻ uuid phần cứng phù hợp với máy uuid :: <phần cứng uuid = "{...}">, sau đó họ có thể thay đổi uuid đĩa cứng và uuid của máy bất kỳ vấn đề. <phần cứng uuid = "{...}">
StixO

2

Tôi nhận ra đây là một bài viết cũ nhưng tôi đã gặp phải lỗi này. Tôi đã giải quyết nó bằng cách:

  1. Mở Trình quản lý hộp ảo
  2. Nhấp chuột phải vào máy ảo trong Trình quản lý hộp ảo
  3. Nhấp vào "Xóa"
  4. Một cửa sổ bật lên sẽ xuất hiện. Chọn "Chỉ xóa" sẽ chỉ xóa tất cả dấu vết của hộp ảo khỏi Trình quản lý hộp ảo
  5. Đóng Trình quản lý hộp ảo
  6. Sử dụng trình quản lý tệp Linux, duyệt đến thư mục chứa máy ảo
  7. Xóa (hoặc di chuyển) mọi thứ NGOẠI TRỪ tệp đĩa cứng ảo .vmdk
  8. Mở Trình quản lý hộp ảo
  9. Nhấp vào "Máy"
  10. Nhấp vào "Mới"
  11. Đặt tên cho máy mới (Tôi đã sử dụng cùng tên với ban đầu tôi đã sử dụng)

    LƯU Ý: Tên của máy sẽ trở thành tên của thư mục chứa máy ảo, vì vậy hãy chọn một cách khôn ngoan và cũng lưu ý rằng nếu bạn muốn tệp .vmdk nằm trong thư mục mới, nó sẽ thực hiện các bước bổ sung trong Hộp ảo Giám đốc

  12. Chọn Loại và Phiên bản phù hợp cho máy ảo gặp sự cố và nhấp vào "Tiếp theo"
  13. Chọn kích thước bộ nhớ bạn muốn máy ảo đã phân bổ và nhấp vào "Tiếp theo"
  14. Chọn "Sử dụng và tập tin đĩa cứng ảo hiện có" và chọn nó bằng cách duyệt đến vị trí của nó
  15. Chọn "Tạo"

Chỉ cần làm theo lời nhắc từ đó và sau đó khởi động máy ảo.

Tất cả mọi thứ chạy tốt, không cần kích hoạt lại các cửa sổ hoặc vv.


1

Bạn cũng có thể sao chép máy hiện có sau đó vào cài đặt và thay đổi bộ nhớ để sử dụng .vmdk mà bạn đã sao chép trước đó.


1

Nếu bạn không thể khởi chạy do lỗi này, chỉ cần 'Xóa ...' mục nhập từ 'Trình quản lý VirtualBox của Oracle VM' . Điều này sẽ xóa xung đột và sau đó bạn sẽ có thể mở VM từ vị trí mới của nó.

... Tại thời điểm đó, bạn có thể thực hiện một bản sao nếu đó là những gì bạn dự định. Trong trường hợp của tôi, không cần nỗ lực thêm vì tôi không cần thêm vị trí ban đầu của VM.


Đây là giải pháp đơn giản nhất, và không chỉ vậy, nó hoạt động.
shmu

-1

Người dùng TGR đã hiểu đúng, nhưng tôi phải thực hiện thêm một thay đổi: Trong vbox XML tôi cần thay đổi uuid hình ảnh để khớp với uDid HardDisk (UUID thứ hai được tạo trên dòng lệnh)

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>

-1

Tôi đã tìm thấy một cách khác đơn giản hơn bất kỳ cách nào khác. Bạn chỉ có o xóa máy ảo khỏi giao diện Hộp ảo (nếu nó hỏi bạn có muốn xóa các tệp của VM không, hãy trả lời KHÔNG!, Hoặc bạn sẽ mất VM). Và sau đó đi đến tệp .vbox và mở nó (với Virtual Box). Nó sẽ hoạt động vì bạn đã xóa UUID (trong khi xóa VM). Ít nhất nó đã làm việc cho tôi ...

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.